iptables:允许某些端口转发到互联网

iptables:允许某些端口转发到互联网

这是我们的网络:

WAN <--> Router <--192.168.2.X--> [(eth0) firewall (eth1)] <--192.168.0.X--> LAN

我们需要阻止 LAN 客户端访问 Internet 上的所有内容除了连接到某些端口,如 SMTP、IMAP 和 POP。我尝试了以下规则,但无法连接到我们想要允许的任何端口。

iptables -F
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport smtp -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport pop3 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport imap -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

按照这些规则,以下测试将失败:

telnet smtp.gmail.com 25

如果我刷新规则,上述测试就会成功。

我的规则有问题吗?我遗漏了什么吗?

答案1

DNS 的配置是什么?如果 DNS 在外部区域,则需要打开 DNS 查询端口(53-udp 和 tcp)

相关内容