Linux Iptables-NAT一对一

Linux Iptables-NAT一对一,linux,iptables,nat,Linux,Iptables,Nat,我使用linux serve Fedora 4.14.33-51.37.amzn1.x86_64。我想使用NAT 1对1。 例如,它是一样的吗 我的计划是: 我的服务器有两个网络接口 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000 link/ether 0a:8a:59:b9:2d:b8 brd ff:ff:ff:ff:ff:ff in

我使用linux serve Fedora 4.14.33-51.37.amzn1.x86_64。我想使用NAT 1对1。 例如,它是一样的吗 我的计划是: 我的服务器有两个网络接口

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:8a:59:b9:2d:b8 brd ff:ff:ff:ff:ff:ff
    inet 172.10.1.72/25 brd 172.10.1.127 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.10.1.32/25 brd 172.10.1.127 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 172.10.1.39/25 brd 172.10.1.127 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 172.10.1.101/25 brd 172.10.1.127 scope global secondary eth0

eth1:
 inet 172.10.1.246/28 brd 172.10.1.255 scope global eth1
等等。。。 NAT服务器上的路由表

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.10.1.1      0.0.0.0         UG    0      0        0 eth0
0.0.0.0         172.10.1.241    0.0.0.0         UG    10001  0        0 eth1
10.0.0.0        172.10.1.1      255.0.0.0       UG    0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.10.1.0      0.0.0.0         255.255.255.128 U     0      0        0 eth0
172.10.1.240    0.0.0.0         255.255.255.240 U     0      0        0 eth1
192.168.1.0     172.10.1.241    255.255.255.240 UG    0      0        0 eth1
我当前的iptables设置:

iptables -nvL

    Chain INPUT (policy ACCEPT 1726 packets, 115K bytes)
     pkts bytes target     prot opt in     out     source               destination
     1827  121K LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4

    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
      664 55128 ACCEPT     all  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0
        0     0 ACCEPT     all  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0
        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4

    Chain OUTPUT (policy ACCEPT 2123 packets, 668K bytes)
     pkts bytes target     prot opt in     out     source               destination
     2123  668K LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4

当我尝试将NAT服务器作为telnet 172.10.1.101 4016进行检查时,出现错误

telnet: connect to address 172.10.1.101: Connection timed out
我的服务器192.168.1.10侦听了端口4016

在我的NAT服务器上,我没有日志

But I try connect to another ip on my eth0 interface and saw in log
Jun 18 15:04:39 ip-172-10-1-72 kernel: [ 1245.059113] IN= OUT=eth0 SRC=172.10.1.39 DST=10.68.72.90 LEN=40 TOS=0x10 PREC=0x00 TTL=255 ID=57691 DF PROTO=TCP SPT=4016 DPT=47952 WINDOW=0 RES=0x00 ACK RST URGP=0 
10.68.72.90 NAT之前是我的服务器。在iptables中添加角色后,我无法ping我的ip 172.10.1.101。

我有正确的规则

iptables -t nat -A POSTROUTING -s 192.168.1.11 -o eth0 -j SNAT --to-source 172.10.1.32
iptables -t nat -A PREROUTING -d 172.10.1.32 -i eth0 -j DNAT --to-destination 192.168.1.11
问题出在AWS上。我应该在界面菜单中打开NAT服务器的“检查源代码”。所有静态路由必须在子网的路由表中,我的服务器位于何处,而不是在服务器192.168.1.10和192.168.1.11上

But I try connect to another ip on my eth0 interface and saw in log
Jun 18 15:04:39 ip-172-10-1-72 kernel: [ 1245.059113] IN= OUT=eth0 SRC=172.10.1.39 DST=10.68.72.90 LEN=40 TOS=0x10 PREC=0x00 TTL=255 ID=57691 DF PROTO=TCP SPT=4016 DPT=47952 WINDOW=0 RES=0x00 ACK RST URGP=0 
iptables -t nat -A POSTROUTING -s 192.168.1.11 -o eth0 -j SNAT --to-source 172.10.1.32
iptables -t nat -A PREROUTING -d 172.10.1.32 -i eth0 -j DNAT --to-destination 192.168.1.11