QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 800|回复: 0

关于Linux NAT Port 81=>80 的疑惑!

[复制链接]
发表于 2006-2-17 19:37:21 | 显示全部楼层 |阅读模式
一台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的端口号一至。这是为什么?我哪里作错了,有什么解决之道吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:36 , Processed in 0.035799 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表