iptables作为网关和POP3 SMTP端口

当试图打开端口110和25在我的iptables为只有Outlook的用户,我不能这样做,除了通过转发这样的:

-I FORWARD -i eth0 -s 192.168.1.0/24 -j ACCEPT -I FORWARD -i eth1 -d 192.168.1.0/24 -j ACCEPT 

但是这样做可以让我局域网中的其他用户绕过我的鱿鱼代理。 这些转发命令适当的语法只是笔端口110和25是什么?

编辑:

这是我目前直接configuration的iptables文件。 它现在的作品,但肯定它远非完美。 目前没有显式代理服务器的用户无法连接到互联网。 outlook端口正在工作。

 # Generated by iptables-save v1.3.5 on Fri Mar 9 13:59:24 2012 *nat :PREROUTING ACCEPT [25448:1902369] :POSTROUTING ACCEPT [29:1625] :OUTPUT ACCEPT [786:56571] -A POSTROUTING -o eth1 -j MASQUERADE COMMIT # Completed on Fri Mar 9 13:59:24 2012 # Generated by iptables-save v1.3.5 on Fri Mar 9 13:59:24 2012 *filter :INPUT DROP [0:0] :FORWARD DROP [1:68] :OUTPUT DROP [0:0] :LOGDROP - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 3128 -m state --state NEW -j ACCEPT -A INPUT -i eth1 -p tcp -m tcp --dport 110 -m state --state NEW -j ACCEPT -A INPUT -i eth1 -p tcp -m tcp --dport 25 -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -j LOGDROP -A OUTPUT -o lo -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o eth1 -p udp -m udp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 123 -m state --state NEW -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 5190 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 110 -m state --state NEW -j ACCEPT -A OUTPUT -o eth1 -p tcp -m tcp --dport 25 -m state --state NEW -j ACCEPT -I FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT -I FORWARD -i eth0 -s 192.168.1.0/24 -p tcp --dport 110 -j ACCEPT -I FORWARD -i eth0 -s 192.168.1.0/24 -p tcp --dport 25 -j ACCEPT -A LOGDROP -j LOG -A LOGDROP -j DROP COMMIT # Completed on Fri Mar 9 13:59:24 2012 

好的,让我们从头开始。

将你的FORWARD chaing设置为ACCEPT(以防万一)

iptables -P FORWARD ACCEPT

清除你的FORWARD链

iptables -F FORWARD

允许你的用户检查smtp和stream行音乐

 iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 25 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 110 -j ACCEPT 

请勿添加-d 192.168.1.0/24 -j接受,因为这是不安全的

请回答这些问题

iptables -A FORWARD -m state --state RELATED, ESTABLISHED -j ACCEPT

将您的FORWARD链条政策设置回DROP

iptables -P FORWARD DROP

现在,第一部分应该工作。 如果不是,则ip_forward不能启用。

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

关于重启问题。 iptables命令不是持久的,所以你必须使用脚本,或者使用你的Linux发行版内置的iptablespipe理脚本。

最简单和不太优雅的方式是在你的configuration和工作正常的时候运行这个命令。

iptables-save >/etc/myfirewall_config

并挂接和启动时加载回来

iptables-restore </etc/myfirewall_config

完成。

如果所有这些问题仍然存在问题,请发布您的NAT表(iptables -t nat -vnL)

'-I FORWARD -i eth1 -d 192.168.1.0/24 -j ACCEPT'启用/打开从(可能)您的出口iface到内部局域网的访问。

允许传出连接使用 – 'iptables -I FORWARD -s 192.168.11.0/24 -p tcp –dport 110 -j ACCEPT'。

请注意,如果启用外出连接是错误的,则可能会让病毒/蠕虫/特洛伊木马程序通过这些端口连接到互联网。 限制它通过指定确切的目标IP,强制用户使用内部smtp服务器与AUTH启用传出连接。

如果他们需要远程POP3,请通过POP3将邮件下载到networking中的服务器,并通知用户使用内部POP3“镜像”副本。

也有一些POP3代理或一些邮件客户端可以通过代理运行POP3 / SMTP …