Linux 实现 NAT
3 月,跳不动了?>>> 前言 NAT:网络地址转换(Network Address Translation),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP封包通过路由器或防火墙时重写來源IP地址或目的IP地址的技术。 简单来说在数据传输中,经过7层网络结构时,为了实现三次握手,就需要在发送数据的时候告诉目的地你的位置,以便对方可以回复,但是在数据报中只有起点域和目的域,不可能所有的终端都是点对点连接的,这时候就需要一个中转站来传递消息数据,这里只讨论软件来实现 nat,路由器的由于基本不会直接操作,就没查资料了。 iptables 实现 NAT iptables 作用的 5 条规则链中,有两条是 PREROUTING、POSTROUTING,分别代表的是路由前和路由后,iptables 就是实现 nat 的一种方式。 检查系统是否开启了 ip 转发功能: cat /etc/sysctl.conf| grep 'net.ipv4.ip_forward = 0' 开启转发功能: sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf 在 iptables 中添加 NAT 转换规则: iptables -t nat -I PREROUTING -p tcp