主機名 服務器/端 外網IP 內網IPbash
nat-s Server 10.0.0.41 172.16.1.41服務器
nat-c Client - 72.16.1.31ide
匹配內網172.16.1.0/24網段的IP,想上外網,能夠所有把數據包丟給10.0.0.41這個地址。spa
iptables -t nat -A POSTROUTING -s172.16.1.0/255.255.255.0 -j SNAT --to 10.0.0.41
(1) 首先查看是否已經打開,若是值爲1,則說明已經打開server
(2) 不然須要修改配置文件 /etc/sysctl.conf,找到該參數,使其變爲:net.ipv4.ip_forward = 1blog
(3) 而後運行:sysctl -pip
[root@nat-s ~]# sysctl -a |grep 'net.ipv4.ip_forward' #<==查看內核轉發是否打開 net.ipv4.ip_forward = 0 #<==0表明關閉,1表明打開 [root@nat-s ~]# sed -i 's#net.ipv4.ip_forward =0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf #<==sed命令一鍵修改 [root@nat-s ~]# sysctl -p #<==使內核參數生效 [root@nat-s ~]# sysctl -a |grep'net.ipv4.ip_forward' #<==再次驗證 net.ipv4.ip_forward = 1
[root@nat-c ~]# cat>>/etc/sysconfig/network-scripts/ifcfg-eth1<<EOF #網關與DNS > GATEWAY=172.16.1.41 > DNS1=8.8.8.8 > DNS2=114.114.114.114 > EOF [root@nat-c ~]# tail -3/etc/sysconfig/network-scripts/ifcfg-eth1 #驗證 GATEWAY=172.16.1.41 DNS1=8.8.8.8 DNS2=114.114.114.114 [root@nat-c ~]# ifdown eth0 #先把其它的網卡暫時關閉 [root@nat-c ~]# ifdown eth1 && ifup eth1 #使eth1配置生效,多執行幾回這條命令! [oldboy@nat-c ~]$ route -n #查看網關 [oldboy@nat-c ~]$ cat /etc/resolv.conf #查看DNS nameserver 114.114.114.114 nameserver 8.8.8.8
能ping通谷哥服務器的地址,說明能上網!get
用traceroute命令能夠看到數據包轉發的過程,想出外網,必須找網關,網關再把數據包丟給外網卡,外網卡就能幫咱們出外網了。域名
能正常解析域名,說明能正常打開網頁!it