你好,我无法连接到使用 DNAT 配置设置的服务器。
我有两个监听服务器 145.217 和 145.241,它们都配置了网关 IP,与我的负载均衡器 IP 145.245 相同
下面是我的 iptables 和 netstat 详细信息。以下内容是通过从我的 AIX 服务器(145.217 和 145.241)运行 netstat -nr 得到的
root@CMS-HTTP2-dep2(/)# netstat -nr
Routing tables
Destination Gateway Flags Refs Use If Exp Groups
Route Tree for Protocol Family 2 (Internet):
default xxx.xxx.145.245 UG 4 3863 en0 - - =>
default xxx.xxx.145.1 UG 2 654 en0 - -
xxx.xxx.0.0 xxx.xxx.145.217 UHSb 0 0 en0 - - =>
xxx.xxx/16 xxx.xxx.145.217 U 28 339523 en0 - -
xx.xxx.255.255 xxx.xxx.145.217 UHSb 0 8 en0 - -
127/8 127.0.0.1 U 5 228443 lo0 - -
并将以下内容添加到我的负载均衡器(145.245)中的 iptables 中
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere mark match 0x200 /* FARM_ATMC_0_ */ to:xxxxxx.145.217:8889
DNAT tcp -- anywhere anywhere mark match 0x201 /* FARM_ATMC_1_ */ to:xxxxxx.145.241:8889
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
我可以远程登录到我的服务器,如果我添加
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
但这违背了 DNAT 的目的,因为我需要获取真正的传入 IP
如果我需要提供更多详细信息,请告诉我,因为我对网络还很陌生
编辑:更多信息......以下是我从我的监听服务器 145.241 获得的 tcpdump,这表明 telnet 消息确实通过负载均衡器到达了它
root@CMS-HTTP1-dep2(/)# tcpdump -vv -x -X -s 1500 -i en0 'port 8889'
tcpdump: listening on en0, link-type 1, capture size 1500 bytes
06:11:37.034781 IP (tos 0x0, ttl 127, id 3352, offset 0, flags [DF], proto: TCP (6), length: 56) xxx.xxx.145.247.55645 > CMS-HTTP1-dep2.ddi-tcp-2: S, cksum 0x8e84 (correct) 1949565717:1949565717(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK,nop,opt-14:03>
0x0000: 4500 0038 0d18 4000 7f06 b591 0a97 91f7 E..8..@...▒....▒
0x0010: 0a97 91f1 d95d 22b9 7434 0315 0000 0000 ...▒▒]"▒t4......
0x0020: 9002 2000 8e84 0000 0204 05b4 0103 0308 ...........▒....
0x0030: 0101 0402 010e 0303 ........
06:11:37.034839 IP (tos 0x0, ttl 60, id 41150, offset 0, flags [none], proto: TCP (6), length: 48) CMS-HTTP1-dep2.ddi-tcp-2 > xxx.xxx.145.247.55645: S, cksum 0xf418 (correct) 2780642750:2780642750(0) ack 1949565718 win 65535 <mss 1460,nop,wscale 3>
0x0000: 4500 0030 a0be 0000 3c06 a4f3 0a97 91f1 E..0▒▒..<.▒▒...▒
0x0010: 0a97 91f7 22b9 d95d a5bd 3dbe 7434 0316 ...▒"▒▒]▒▒=▒t4..
0x0020: 7012 ffff f418 0000 0204 05b4 0103 0303 p.▒▒▒......▒....
06:11:37.035222 IP (tos 0x0, ttl 128, id 3474, offset 0, flags [DF], proto: TCP (6), length: 40) xxx.xxx.145.247.55645 > CMS-HTTP1-dep2.ddi-tcp-2: R, cksum 0x8c1e (correct) 1949565718:1949565718(0) win 0
0x0000: 4500 0028 0d92 4000 8006 b427 0a97 91f7 E..(..@...▒'...▒
0x0010: 0a97 91f1 d95d 22b9 7434 0316 7434 0316 ...▒▒]"▒t4..t4..
0x0020: 5004 0000 8c1e 0000 0000 0000 0000 P.............
感谢致敬
答案1
对于 DNAT 配置,请求者不能与服务器或路由器(负载均衡器)位于同一网络中。之后我可以通过 telnet 进入网络