Linux NAT服務--使內網服務器能上網

第1章 NAT使內網主機能上外網

1.1 環境

主機名 服務器/  外IP     內網IP

nat-s  Server    10.0.0.41   172.16.1.41

nat-c  Client    -         72.16.1.31

1.2 配置(服務端)

1.2.1在nat-s上設置iptables規則

匹配內網172.16.1.0/24網段的IP,想上外網,可以全部把數據包丟給10.0.0.41這個地址。

iptables -t nat -A POSTROUTING -s172.16.1.0/255.255.255.0 -j SNAT --to 10.0.0.41

1.2.2打開內核轉發

(1)     首先查看是否已經打開,如果值爲1,則說明已經打開

(2)     否則需要修改配置文件 /etc/sysctl.conf,找到該參數,使其變爲:net.ipv4.ip_forward = 1

(3)     然後運行:sysctl -p

[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

 

1.3 配置網關和DNS(客戶端)

[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

 

1.4 驗證(客戶端)

1.4.1ping

ping通谷哥服務器的地址,說明能上網!

wKioL1ei6zrR7yW9AAAjxT9Mx0I365.png-wh_50

1.1.1traceroute

traceroute命令可以看到數據包轉發的過程,想出外網,必須找網關,網關再把數據包丟給外網卡,外網卡就能幫我們出外網了。

wKioL1ei61aRuAE2AAAWQCHB5sw000.png-wh_50

1.1.1nslookup

能正常解析域名,說明能正常打開網頁!

wKiom1ei62zx8KOJAAAcMRfkKzQ440.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章