Прошу помочь написать правила для iptables, longcat, 04-Июн-14, 11:47 [смотреть все]Собственно, почитал вот это https://www.opennet.ru/docs/RUS/iptables/#HOWARULEISBUILT и много другого, но толком ничего не понял. Стоит задача: 1)настроить шлюз на debian 2)настроить проброс портов для всяких внешних приложений 3)настроить маршрутизацию внутри сети (если это нужно, потому как я не догоняю, как шлюз будет и будет ли вообще (все компы и точки доступа в локале подключены через тупой свитч) пересылать пакеты от одного локального клиента другому локальному клиенту) 4)настроить удаленный доступ к серваку по ssh 5)правила iptables поставить в автозагрузку 6)запретить определенные сайты для всех кроме определенных ipЧто я сделал, но ,к сожалению, нормально даже это не заработало: 1) ну дебиан7 я поставил, управление по ssh, обе сетевые настроены: eth1 это локалка, eth0 это в интернет(статика). Настроил dhcp, с ним все как надо. 2)для блокировки сайтов поставил squid3, запускается с конфигом без ошибок, настроен как прозрачный, порт 3128 3)на этапе настроек iptables уперся в не понимание его работы, на руках только готовые правила отсюда http://howitmake.ru/blog/ubuntu/86.html раскомментил строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf iptables -F iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o eth0 -j REJECT iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu с этими настройками интернет заработал на одном ноутбуке подключенном через точку доступа->свитч->шлюз, кучу других в интернет не пустило, большинство подключены к свитчу настройки iptables загружаю через строку в /etc/network/interfaces # iptables-restore > /etc/iptables-save есть примерные наборы правил, но в каком порядке их писать и будут ли они работать как надо, и где ошибка, не могу сейчас разобраться подскажите, пожалуйста, какие правила написаны не правильно, и где бы почитать мануал попроще чем по ссылке в начале # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE это правило подменяет адрес пакетам из локальной сети? для обратных пакетов нужно ли что либо еще? #iptables -A FORWARD -i eth0 -o eth0 -j REJECT это правило для маршрутизации пакетов в локалке, без интернета? # iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu вот это правило вообще не понимаю хочу добавить проброс портов правилом iptables -t nat -A PREROUTING -d "внешний ip" -p tcp -m tcp --dport "внешний порт" -j DNAT --to-destination "локальный компьютер":"внутренний порт" заработает ли оно и куда ставить все эти пробросы портов? # правила для прокси, вроде бы перенаправляют, раз один компьютер сайты открывал iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to "ipпрокси_и_шлюза":3128 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 будет ли их достаточно для открывания страничек в том числе по https? #для ssh, достаточно ли этого правила для подключения с обеих сторон от шлюза? iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT я понимаю, что никто не обязан мне помогать или что нибудь объяснять, буду благодарен за любую помощь, ссылки, объяснения, критику и прочее.
|
- Прошу помочь написать правила для iptables, reader, 13:13 , 04-Июн-14 (1) +2
> Собственно, почитал вот это https://www.opennet.ru/docs/RUS/iptables/#HOWARULEISBUILT > и много другого, но толком ничего не понял. > Стоит задача: > 1)настроить шлюз на debian > 2)настроить проброс портов для всяких внешних приложений > 3)настроить маршрутизацию внутри сети (если это нужно, потому как я не догоняю, > как шлюз будет и будет ли вообще (все компы и точки > доступа в локале подключены через тупой свитч) пересылать пакеты от > одного локального клиента другому локальному клиенту)в таблице маршрутизации есть маршрут для локальной подсети согласно которому клиенты будут обмениваться пакетами на прямую, даже если прописан шлюз >[оверквотинг удален] > только готовые правила отсюда http://howitmake.ru/blog/ubuntu/86.html > раскомментил строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf > iptables -F > iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE > iptables -A FORWARD -i eth0 -o eth0 -j REJECT > iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu > с этими настройками интернет заработал на одном ноутбуке подключенном через точку доступа->свитч->шлюз, > кучу других в интернет не пустило, большинство подключены к свитчу > настройки iptables загружаю через строку в /etc/network/interfaces # iptables-restore > > /etc/iptables-save это не загрузка ,а перенаправление вывода iptables-restore в файл /etc/iptables-save > есть примерные наборы правил, но в каком порядке их писать и > будут ли они работать как надо, и где ошибка, не могу > сейчас разобраться > подскажите, пожалуйста, какие правила написаны не правильно, и где бы почитать мануал > попроще чем по ссылке в начале там и так просто и понятно для понимающих как работает сеть, после первого прочтения может получится каша в голове, но как только начинаете сами писать правила все проясняется. > # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE > это правило подменяет адрес пакетам из локальной сети? да > для обратных пакетов нужно ли что либо еще? автоматом, в мануале сказано > #iptables -A FORWARD -i eth0 -o eth0 -j REJECT > это правило для маршрутизации пакетов в локалке, без интернета? блокирует с уведомлением пакеты которые пришли и должны были уйти через eth0 > # iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu > вот это правило вообще не понимаю при проблемах с mtu, если проблем нет то не нужно его вставлять, ну и логичней было бы -A, а не -I > хочу добавить проброс портов правилом > iptables -t nat -A PREROUTING -d "внешний ip" -p tcp -m tcp > --dport "внешний порт" -j DNAT --to-destination "локальный компьютер":"внутренний порт" > заработает ли оно и куда ставить все эти пробросы портов? да если в таблице фильтров разрешено прохождение для этих пакетов и для ответов > # правила для прокси, вроде бы перенаправляют, раз один компьютер сайты открывал > iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j > DNAT --to "ipпрокси_и_шлюза":3128 да > iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j > REDIRECT --to-port 3128 заварачивать на прокси то что пришло с инета опасно > будет ли их достаточно для открывания страничек в том числе по https? https будет идти через MASQUERADE > #для ssh, достаточно ли этого правила для подключения с обеих сторон от > шлюза? > iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT есть политики по умолчанию, если они в ACCEPT, то не имеет значения, а так да разрешит обращения через все сетевые интерфейсы > я понимаю, что никто не обязан мне помогать или что нибудь объяснять, > буду благодарен за любую помощь, ссылки, объяснения, критику и прочее.
- Прошу помочь написать правила для iptables, longcat, 14:30 , 04-Июн-14 (2)
спасибо огромное за помощь > при проблемах с mtu, если проблем нет то не нужно его вставлять, > ну и логичней было бы -A, а не -I >> хочу добавить проброс портов правилом >> iptables -t nat -A PREROUTING -d "внешний ip" -p tcp -m tcp >> --dport "внешний порт" -j DNAT --to-destination "локальный компьютер":"внутренний порт" >> заработает ли оно и куда ставить все эти пробросы портов? > да если в таблице фильтров разрешено прохождение для этих пакетов и для > ответов появился один вопрос: правило такого вида будет разрешать пакетам из правила выше проходить, или я что-то написал не так? iptables -I FORWARD 1 -m multiport --dport "тут перечисляю через запятую все проброшенные порты" -j ACCEPT
- Прошу помочь написать правила для iptables, reader, 15:01 , 04-Июн-14 (3) +2
>[оверквотинг удален] >>> iptables -t nat -A PREROUTING -d "внешний ip" -p tcp -m tcp >>> --dport "внешний порт" -j DNAT --to-destination "локальный компьютер":"внутренний порт" >>> заработает ли оно и куда ставить все эти пробросы портов? >> да если в таблице фильтров разрешено прохождение для этих пакетов и для >> ответов > появился один вопрос: > правило такого вида будет разрешать пакетам из правила выше проходить, или я > что-то написал не так? > iptables -I FORWARD 1 -m multiport --dport "тут перечисляю через запятую все > проброшенные порты" -j ACCEPT --dport 1024:65535, но -m multiport --dports 80,443 синтаксис проверяйте по man iptables, по сравнению с Tutorial 1.1.19 он немного изменился, но общее представление осталось тем же И ответные пакеты разрешите.
- Прошу помочь написать правила для iptables, longcat, 12:06 , 05-Июн-14 (4)
еще раз спасибо если не сложно, гляньте конфиг который получился в итоге, может что-то не правильноiptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source "внешний ip" iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4000 -j DNAT --to-destination 192.168.0.77:3389 iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT будет ли это пропускать локальных пользователей на сайты через прокси на 3128 (с условием что прокси настроена правильно), будет ли работать проброс портов 4000->3389 , и будут ли ответные пакеты пропускаться, или для них еще что-то нужно добавить? или правило для ответных пакетов вида iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT будет пропускать ответные пакеты?
- Прошу помочь написать правила для iptables, reader, 21:42 , 05-Июн-14 (5) +1
>[оверквотинг удален] > если не сложно, гляньте конфиг который получился в итоге, может что-то не > правильно > iptables -P FORWARD ACCEPT > iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source "внешний ip" > iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports > 3128 > iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4000 -j > DNAT --to-destination 192.168.0.77:3389 > iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT > будет ли это пропускать локальных пользователей на сайты через прокси на 3128вы запрос клиента завернули на прокси, далее прокси отправит свой запрос, он пойдет через OUTPUT, ответ от сайта к прокси пойдет через INPUT если в них разрешено то что нужно для прохождения пакетов то ваши клиенты увидят странички, но это только для 80 порта, остальное от/к ним пойдет через FORWARD , SNAT > (с условием что прокси настроена правильно), будет ли работать проброс портов > 4000->3389 , и будут ли ответные пакеты пропускаться, или для них > еще что-то нужно добавить? в PREROUTING с помощью DNAT вы меняете адрес и порт назначения, пакет пойдет через FORWARD а там у вас похоже все во все стороны разрешено и ответ пойдет через FORWARD > или правило для ответных пакетов вида > iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j > ACCEPT это для ответов на запросы ушедшие через OUTPUT, от машины где настраиваете iptables INPUT/OUTPUT - к/от машины где настраиваете iptables FORWARD - то что идет транзитом через машину где настраиваете iptables > будет пропускать ответные пакеты?
- Прошу помочь написать правила для iptables, longcat, 05:21 , 06-Июн-14 (6)
спасибо огромное, вы мне очень помогли
- Прошу помочь написать правила для iptables, longcat, 07:43 , 10-Июн-14 (7)
пожалуйста, подскажите еще однохочу заблокировать доступ к vk.com и youtube.com по ip для всех кроме 5 человек со статикой, хотел через сквид, а он вроде https не умеет фильтровать собственно правила iptables -A -s 192.168.0.53 -d vk.com --dport 443 -j ACCEPT iptables -A -s 192.168.0.54 -d vk.com --dport 443 -j ACCEPT iptables -A -s 192.168.0.55 -d vk.com --dport 443 -j ACCEPT iptables -A -s 192.168.0.56 -d vk.com --dport 443 -j ACCEPT iptables -A -s 192.168.0.12 -d vk.com --dport 443 -j ACCEPT iptables -A -d vk.com --dport 443 -j DROP это будет давать доступ к вк по 443 порту группе ip, а остальным закрывать? или последнее правило будет закрывать доступ потому что стоит последним, или пакет удовлетворяющий правилу выше не будет отброшен последним правилом и следовательно пройдет?
- Прошу помочь написать правила для iptables, longcat, 14:22 , 10-Июн-14 (9)
iptables -A FORWARD -s 192.168.0.1-192.168.0.11 -d vk.com -j REJECTсобственно такое правило не принимается, потому как диапазон ip указан не правильно, но мне не нужен диапазон вообще весь могу ли я написать диапазон таким образом, чтобы ограничить ip 0.1-0.11 0.13-0.52 0.57-0.210 0.212-0.254? и если могу, то приведите пример, пожалуйста, если вас не затруднит
- Прошу помочь написать правила для iptables, reader, 15:33 , 10-Июн-14 (10)
> iptables -A FORWARD -s 192.168.0.1-192.168.0.11 -d vk.com -j REJECT > собственно такое правило не принимается, потому как диапазон ip указан не правильно, > но мне не нужен диапазон вообще весь > могу ли я написать диапазон таким образом, чтобы ограничить ip 0.1-0.11 0.13-0.52 > 0.57-0.210 0.212-0.254?каждый диапазон по отдельности через -m iprange (описание в man), только толку от этого -d vk.com не заблокирует все ip которые есть у них, вы бы прочитали весь топик по ссылке приведенную Андреем > и если могу, то приведите пример, пожалуйста, если вас не затруднит
|