Настраиваю шлюз на основе Linux.
Читаю iptables tutorial. Не могу догнать один момент:
мне нужно пронатить пакеты с компьютера из локалки - понимаю, что само натирование делается в цепочке POSTROUTING таблицы nat,
для этого добавляю
Код: Выделить всё
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IPв конфигурацию iptables нужно добавить запреты и разрешения, чтобы натилась не вся локальная сеть, а только определенные ip из нее.
Это фильтрация делается в цепочке FORWARD или POSTROUTING?
Приемлимо ли записать в форварде, допустим, вот так:
Код: Выделить всё
$IPTABLES -A FORWARD -s 192.168.0.75 -i $INET_IFACE -j ACCEPTпакеты с адреса 192.168.0.75 пронатятся или пойдут напрямую? я так понимаю таблица nat и цепочка POSTROUTING должны читаться последними в любом случае? схема ниже подтверждает вроде бы это:

И второй вопрос:
под пиринговые (p2p) сети требуется проброс портов, можно ли, к примеру написать вот так:
Код: Выделить всё
$IPTABLES -A FORWARD -s 192.168.0.75 -p tcp --sport 50005 -p tcp --dport 50005 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.0.75 -p udp --sport 50005 -p udp --dport 50005 -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.0.75 -p tcp --dport 50005 -i $INET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.0.75 -p udp --dport 50005 -i $INET_IFACE -j ACCEPTв первом случае я хочу чтобы при запросе на определенный порт пакет шел именно на него, а не менялся натом.
во втором - пакеты ко мне на тот же порт при инициализации соединения со стороны трекера.
Или такое портирование нужно проводить в POSTROUTING?
Укажите, пожалуйста, на ошибки. Возможно все неправильно.