设置 DNAT 服务器

设置 DNAT 服务器

你好,我无法连接到使用 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 进入网络

相关内容