Народ, помогите. Начал изучать линукс. Сразу куча вопросов про фаервол:
1. В ipfw можно дивертить в натд в любом по счету правилу. В iptables нат вообще в отдельной таблице. Если я хочу натить после/до/в середине фильтрации - как такое сделать в iptables.
2. Не могу найти аналог fwd для iptables.
3. Посоветуйте какую-нибудь статью "Настройка шлюза под линукс". Для фри такие статьи появляются тут регулярно раз в месяц. Про линукс пока не видел.
Зараннее спасибо за ответы.
http://www.opennet.me/base/net/iptables_howto.txt.html
http://www.opennet.me/base/net/iptables_nat.txt.html
http://www.opennet.me/base/net/ipfw_iptables.txt.htmlНа opennet.ru есть все:
http://www.opennet.me/cgi-bin/opennet/ks.cgi?mask=iptables&s...А чего нет здесь, можно легко найти в Яндексе или в набившем оскомину Google
http://iptables-tutorial.frozentux.net/iptables-tutorial.html
http://www.posix.ru/network/iptables/
http://wosb.ru/readarticle.php?article_id=15
От себя еще добавлю - обратите ОСОБОЕ внимание на порядок прохождения пакетов по таблицам. У iptables принцип построения правил ДРУГОЙ, поэтому пользователи iptables и пользователи ipfw/pf смотрят на правила друг у друга и недоумевают, как же все работает.В iptables если правило ACCEPT, то оно переходит в следующую таблицу, а если DROP, то это финиш обработки, правила после него не будут рассматриваться. Это позволяет избежать прохождения пакетов по ненужным уже правилам. И можно для ряда цепочек выставить политику по умолчанию - это то действие, которое будет выполнено, если не подошло ни одно из правил. (Лучше ставить DROP)
Примерно эквивалентные наборы правил. Поправьте меня, если я в чем-то не прав, так как во ФриБСД разбираюсь не очень сильно, могу дать неверную инфу.
// Сбросить все правила
# ipfw -q -f flush
// Проверять состояние
# ipfw -q add check-state
// Запретить все фрагментированные пакеты
# ipfw -q add deny all from any to any frag
// Запретить все установившиеся соединения
# ipfw -q add deny tcp from any to any established
// Но при этом сделать исключение для 80 порта через tun0, при этом отслеживая состояние соединения
# ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state
// То же самое для ДНС
# ipfw -q add allow udp from any to any 53 out via tun0 keep-state// Для линукс
// Сбросить все правила
iptables -F
// Политика по умолчанию -дроп
iptables -P FORWARD DROP
// Добавим правило для пакетов установившихся соединений
// Дальше этого правила пройдут только пакеты от новых соединений
iptables -A FORWARD -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
// Будем пропускать дальше только новые tcp пакеты с установленным битом SYN
// Все остальные новые tcp пакеты умрут на этом правиле
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
// Будут пропущены пакеты на 80 порт по TCP
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
// Будут пропущены пакеты на 80 порт назначения
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
// А тут сработает политика по умолчанию, и умрут все пакеты, которые не попали под два предыдущих правила
У меня есть хорошая статья по iptables
Могу прислать, если есть желание.
Дай только адрес.
>У меня есть хорошая статья по iptables
>Могу прислать, если есть желание.
>Дай только адрес.
facha2002(at)mail.ru
Спасибо, что отозвались :-)