linux双网卡端口转发配置?

我有有个设备A:192.168.1.10,建立了一个tcp server,端口是:5566
设备B双网卡ip1:192.168.1.9 ip2:172.161.8.8
设备C:172.161.8.9
现在我想在设备C上通过tcp链接设备A的tcp server,我想在设备B上通过iptables
或者route配置一个端口转发功能,如:
设备C链接设备B172.161.8.8:5566,设备B通过端口转发配置去链接设备A
192.168.1.10:5566。
我尝试了:
iptables -t nat -A PREROUTING --dst 172.161.8.8 -p tcp --dport 5566 -j DNAT --to-destination 192.168.1.10:5566
iptables -t nat -A POSTROUTING --dst 192.168.1.10 -p tcp --dport 5566 -j SNAT --to-source 172.161.8.8
不行,尝试了好几种配置都不行。
请教高手,应该怎么配置?

2个回答

有两台机器,其中一台A 有内网和外网,B机器只有内网。
想达到的目的: 通过A机器的外网去访问B机器的ftp(21)
环境:
A机器外网IP为 123.234.12.22(eth1) 内网IP为 192.168.10.20 (eth0)
B机器内网为 192.168.10.21

实现方法:
1. 让你的linux支持ftp的端口转发
modprobe ip_nat_ftp ###加载ip_nat_ftp模块(若没有编译进内核),以使ftp能被正确NAT
modprobe ip_conntrack_ftp ###加载ip_conntrack_ftp模块
2. 在A机器上打开端口转发功能
vi /etc/sysctl.conf
使 net.ipv4.ip_forward = 1
sysctl -p
3. 在A机器上创建iptables规则
iptables -t nat -I PREROUTING -d 123.234.12.22 -p tcp --dport 21 -j DNAT --to 192.168.10.21:21 (把访问外网21端口的包转发到内网ftp服务器)
iptables -t nat -I POSTROUTING -d 192.168.10.21 -p tcp --dport 21 -j SNAT --to 192.168.10.20 (把到内网ftp服务器的包回源到内网网卡上,不然包只能转到ftp服务器,而返回的包不能到达客户端)

请参考!!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐