В грубом приближении, имеется шлюз со следующими интерфейсами:
em1 - инет
em2 - локалка
Требуется разрешить доспуп компам из локалки к ftp-серверам в инете.
И, в принципе, это работает:
# iptables-save
# Generated by iptables-save v1.4.12 on Sun Mar 25 19:09:26 2012
*nat
:PREROUTING ACCEPT [2256:265868]
:INPUT ACCEPT [31:6095]
:OUTPUT ACCEPT [44:11164]
:POSTROUTING ACCEPT [26:5932]
-A POSTROUTING -s <LAN1> -o em1 -j SNAT --to-source <GW_WAN_IP>
COMMIT
# Completed on Sun Mar 25 19:09:26 2012
# Generated by iptables-save v1.4.12 on Sun Mar 25 19:09:26 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o em1 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A FORWARD -o em1 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A FORWARD -s <LAN1> -o em1 -p tcp -m state --state NEW -m tcp --dport 1024:65535 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sun Mar 25 19:09:26 2012
Однако, строка, отмеченная красным, мне сильно не нравится.
Поэтому вопрос сводится к следующему: можно ли машинам в локалке перекрыть доступ в инет на порты 1024:65535 и при этом оставить рабочим доступ к ftp-серверам.
Или, быть может, есть какой-то более правильный способ разрешить доступ ftp-клиентов из локалки к внешнему ftp-серверу?