iptable双向NAT配置

KKXZ 2024-05-18 PM 153℃ 0条

client1通过node1访问Server1,将server1的访问源转换成node1另一个ip访问
2024-05-18T09:45:23.png

iptables -t nat -A PREROUTING -d 192.168.4.11 -s 192.168.4.10 -p tcp --dport 33000 -j DNAT --to 192.168.2.100:3000

外部主机192.168.4.10发起对192.168.4.11的33000端口的访问请求映射到内网主机192.168.2.100的3000端口。在这种情况下,内网主机192.168.1.2看到的访问源IP是外部主机192.168.4.10

希望内网主机192.168.2.100看到的访问源IP是192.168.2.1,可以使用SNAT规则,将数据包的源IP地址进行修改。可以使用以下命令添加SNAT规则:

iptables -t nat -A POSTROUTING -d 192.168.2.100 -p tcp --dport 3000 -j SNAT --to-source 192.168.2.11

这样,当内网主机192.168.2.100收到来自外部主机192.168.4.10的数据包时,它会看到源IP地址是192.168.2.11

查看规则

查看所有规则:iptables -L
查看某个表的规则,例如NAT表:iptables -t nat -L
查看某个表某个链的规则,例如NAT表PREROUTING链:iptables -t nat -L PREROUTING
查看某个链的规则,例如INPUT链:iptables -L INPUT
查看具体的规则编号及内容:iptables -L INPUT --line-numbers

删除规则:

iptables -t 表名 -D 链名 规则编号
-t 表名 指定要操作的表,常见的表包括 filter、nat 和 mangle。
-D 链名 指定要删除规则的链的名称。
规则编号 是要删除的规则在链中的编号。

例如,如果要删除 nat 表中 PREROUTING 链中的第一条规则,可以使用以下命令:
iptables -t nat -D PREROUTING 1

非特殊说明,本博所有文章均为博主原创。

评论啦~