一台Linux主机,内(eth0)外(eth1)网两张网卡,首先作squid代理服务中,然后使用iptables将现将对eth1 TCP 3389 端口的访问转向到 内网10.224.0.3 3389远程桌面,将对eth1 TCP 81的访问转向到内网10.224.0.3 80,rc.local添加代码如下:
//==============================================
service squid start
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
service iptables start
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 10.224.0.3:80
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3213 -j DNAT --to-destination 10.224.0.3:3213
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 81 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 82 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 3213 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A INPUT -i eth1 -j DROP
//=============================================
但现实的效果是3389能够正常转向,telnet internet_ip 3389 成功,但81无法转向,telnet internet_ip 81 提示端口没有打开,将10.224.0.3 Web服务的80端口改为81,然后更改iptables条目
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 10.224.0.3:80
为
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 10.224.0.3:81
后81端口被成功转向,也就是说iptables的dport端口号必须与--to-destination的端口号一至。这是为什么?我哪里作错了,有什么解决之道吗?
--------------------next---------------------
阅读(335) | 评论(0) | 转发(0) |