NAT表:

    NAT的方式,将私网地址转换成公网地址,从而连接到公共网络。NAT技术节省了公网IP地址,也隐藏了真正的IP地址,提高了内网的安全性。但也产生了些问题,比如引起数据交互的延迟、需要消耗额外的CPU和内存等。新技术的产生,会解决一定的问题,但也会带来一些问题,有利有弊,这是必然的。如何合理的使用这些技术才是最重要的事。


1、需求1:服务器B访问公网

linux防火墙-iptables(下)_nat

①服务器A开启了路由转发

echo "1">/proc/sys/net/ipv4/ip_forward

如果设置为“0”,表示没开启端口转发功能。

②服务器A开启路由NAT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j MASQUERADE

表示192.168.1.0/24网段的地址,转换成ens33接口地址访问公网。

③服务器B设置网关

服务器B的网关设置为服务器A的互联私网IP地址。使服务器B的流量能送到服务器A。


2、需求2:服务器C访问服务器B的22端口

linux防火墙-iptables(下)_nat_02

①服务器A开启了路由转发

echo "1">/proc/sys/net/ipv4/ip_forward

如果设置为“0”,表示没开启端口转发功能。

②服务器A开启路由NAT

iptables -t nat -A PREROUTING -d 192.168.2.1 -p tcp --dport 1122 -j DNAT --to 192.168.1.2
iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to 192.168.2.1

SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机;

DNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP。

③服务器B设置网关

服务器B的网关设置为服务器A的互联私网IP地址。使服务器B的流量能送到服务器A。


在配置过程中,每一步操作都尽可能的验证配置是否成功,防止不必要的问题。