在开发过程中我们会遇到设备有时需要用一个网卡配置两个ip,一个负责连接外部网络,一个负责和下层设备进行通信,但是又有需要下层设备拥有访问外网的能力,这个时候我们就可以用Nat转发功能将下层设备发送过来的数据转发到外网上去(图画的不标准,只是表达个意思(lll¬ω¬))
操作方法
注意:我们将使用iptable工具进行Nat转发,以下操作的基础是配置了iptable工具
(1)配置主机内外网ip
我们需要给主机的一个网卡设置多个内网ip用来和下层设备进行通信,还有一个外网ip
$ ifconfig eth0 172.16.81.10 # 外网的ip $ ifconfig eth0:0 192.168.1.10 # 内网的ip
(2)开启主机ip转发功能
$ echo 1 > /proc/sys/net/ipv4/ip_forward # 临时的,重启失效 $ echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf # 永久的
(3)使用iptable工具添加SNAT规则
$ iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.10/24 -j SNAT --to 172.16.81.10
(4)配置下层设备内网ip
$ ifconfig eth0 192.168.1.20 # 和主机的内网ip在同一网段
(4)配置主机的内网ip配置成其默认网关
$ route add default gw 192.168.1.10
(5)测试
使用下层设备测试入网能力
二、双网卡实现Nat共享上网 介绍和单网卡类似,只是将内网和外网换成了两块网卡,操作方法和单网卡实现相同,(图画的不标准,只是表达个意思(lll¬ω¬))



