动态NAT到底是个什么东西?
要访问互联网,最简单的办法是有一个公共的IP地址,可以让网络专线直接访问到您的公共IP地址。NAT的做法是利用一个公有IP地址然后分发下去共同访问互联网,不同设备由不同的私有IP和端口号区分。
本文总结了快速搭建NAT服务器的具体方法与要求,试验中某些配置可能与各位小伙伴有所不同,可以根据自己服务器配置合理修改,文章开头配了一张图方便大家理解。不清楚NAT请阅读《vmware的NAT路由到底有什么用?》
一、物理环境准备
1. 一台linux服务器(A),要求能访问外网
2. 一台个人PC(B)
3. 一个傻瓜交换机(分流器)
4. 一个外置USB网卡(有线无线都可以)
二、网络环境配置
1. linux服务器A当做NAT服务器,负责将内网的流量转至外网,因此需要两张网卡,配置两种网络,以下称为内网和外网
2. 内网中网络可设置静态地址也可设置为动态地址,这个随意,在本次试验中设为静态地址,方便管理,其中内网中的个人PC地址设为192.168.1.2,linux服务器的内网地址则设为192.168.1.1 且该地址为内网的网关地址
3. 在linux服务器中内网地址是由前面要求中的外置USB网卡提供的,现在一般外置USB无线网卡都可被linux服务器自动识别,无需手动安装驱动,很方便使用,以下是该网卡的相关配置,大家可参考修改
eth0 Link encap:Ethernet HWaddr 80:C1:6E:46:07:9F
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::82c1:6eff:fe46:79f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29884 errors:0 dropped:0 overruns:0 frame:0
TX packets:9460 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3337610 (3.1 MiB) TX bytes:6185775 (5.8 MiB)
4.内网的个人PC设置较为简单,以下是参考设置
IP地址:192.168.1.2
掩码:255.255.255.0
网关:192.168.1.1
DNS地址:自己linux服务器外网使用的DNS地址
三、防火墙配置
假设linux服务器外网网卡是wlan0,内网网卡是eth0,大家适当修改
1. iptables -A FORWARD -i eth0 -j ACCEPT 让发送至内网网卡的数据全部通过
2. iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0 -j MASQUERADE 或者
iptables -t nat -A POSTROUTING -j SNAT –to-source 192.168.199.121 (这个192.168.199.121是我的linux服务器的外网网卡地址,意思是凡是来自内网的数据想从我这linux服务器出去时,我都把这些数据里数据报头信息里的源地址修改为linux服务器的外网网卡地址,这样这些来自内网的数据就在外网中具有合法性了)
四、开启linux服务器的转发功能(类似路由器或交换机转发数据)
打开Linux的转发功能,可以执行如下命令
echo 1 > /proc/sys/net/ipv4/ip_forward
查看系统是否启用了转发功能,可以执行如下命令
cat /proc/sys/net/ipv4/ip_forward
结果为1,代表已启用,0代表未启用
此时,用内网的个人PC去ping 192.168.1.0这个内网的网关和DNS都没问题了,当然去访问外网也是理所当然,至此所有步骤完成了。
网友留言: