我有一台计算机,有两个接口,eth1 的接口为 10.223.75.53,eth2 的接口为 192.168.1.1。eth2 没有连接网线,但有一个应用程序在 192.168.1.1 的端口 5000 上监听,假设这个应用程序是 netcat。eth1 已连接到网络。网络上的某些应用程序将与 10.223.75.53:5000 建立 tcp 连接,因此我想将 10.223.75.53:5000 上的所有流量重定向到 192.168.1.1:5000。
我尝试了以下规则:
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 5000 -j DNAT --to-destination 192.168.1.1
已启动服务器:
netcat -l -p 5000 192.168.1.1 # local server
并尝试沟通:
netcat 10.223.75.53 5000
服务器崩溃,信息如下:
netcat -l -p 5000 192.168.1.1
invalid connection to [10.223.75.53] from (UNKNOWN) [10.223.75.53] 49116
客户端刚刚退出。
我的路由表是:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.223.75.1 0.0.0.0 UG 100 0 0 eth1
10.223.75.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
$ ip rule ls
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
我不明白我的规则有什么问题。