Всем привет. После правил ipfw (FreeBSD) есть вопрос по iptables.Например, если во FreeBSD делать нат, то схема простая:
1. включаем нат (диверт нат через внешний интерфейс)
2. ставим правила (одним правилом разрешаю www, например).
А в iptables я что-то не совсем догоняю. Вот мой конфиг:
# script vars
ext_if="eth1"
ext_ip="мой внешний ip"
local_if="eth0"
local_net="моя локальная сеть"
iptbls="/sbin/iptables"
# Delete and flush
$iptbls --flush
$iptbls --table nat --flush
$iptbls --delete-chain
$iptbls --table nat --delete-chain
# deny by default
$iptbls -P INPUT DROP
$iptbls -P OUTPUT DROP
$iptbls -P FORWARD DROP
# Loopback
$iptbls -A INPUT -i lo -j ACCEPT
$iptbls -A OUTPUT -o lo -j ACCEPT
# Local network
$iptbls -A INPUT -i $local_if -j ACCEPT
$iptbls -A OUTPUT -o $local_if -j ACCEPT
# Anti spoofing
$iptbls -A INPUT -i $ext_if -s 192.168.0.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 172.16.0.0/12 -j DROP
$iptbls -A INPUT -i $ext_if -s 10.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 127.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 0.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 169.254.0.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 192.0.2.0/24 -j DROP
$iptbls -A INPUT -i $ext_if -s 204.152.64.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 224.0.0.0/3 -j DROP
# DNS
$iptbls -A INPUT -p UDP -s 0/0 --sport 53 -i $ext_if -m state --state ESTABLISHED -j ACCEPT
$iptbls -A OUTPUT -p UDP -d 0/0 --dport 53 -o $ext_if -m state --state NEW,ESTABLISHED -j ACCEPT
# Forward traffic from local net
$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 25 -i $local_if -j ACCEPT
$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 110 -i $local_if -j ACCEPT
$iptbls -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# NAT
$iptbls -t nat -A POSTROUTING -s $local_net -o $ext_if -j SNAT --to $ext_ip
Маршрутизация включена.
Вот такой конфиг позволяет из локалки получать/отправлять почту.
Меня собственно интересует - а почему, собственно, цепочки INPUT и OUTPUT в данном случае для получения только почты не нужны?
Я, собственно, понимаю, rtfm, man и все такое. Но может кто просто мне сможет объяснить схему? Или ХОРОШИЙ материал для изучения подскажет? Мне же не только конкретную задачу решать, но и дальше жить надо.