1. 程式人生 > >Linux下輕松搭建NAT服務器

Linux下輕松搭建NAT服務器

linux nat 路由 共享上網


什麽是NAT?


NAT(Network address translation)即網絡地址轉換,作為一種過渡解決手段,可以用來減少對全球合法IP地址的需求。簡單的說,NAT就是在內部專用網絡中使用內部地址,而當內部節點要與外界網絡發生聯系時,就在邊緣路由器或者防火墻處,將內部地址轉換成全局地址,從而使得在外部公共網(Internet)上使用一個和數個合法IP地址正常傳輸數據。

其中,這裏的外網和內網是相對來講的,下面假設能夠訪問互聯網的網絡為外網。




一、基礎環境


1)實驗環境

  • 一臺Linux服務器(配置有兩張網卡)

  • 一臺PC機(一張網卡,IP為10.0.0.10)


2)網絡環境

  • Linux服務器當做NAT服務器,負責將內網的流量轉至外網,因此需要兩張網卡,配置兩個網絡,以下稱為外網

    內網

  • 內網中的網絡可以設置為靜態地址也可以配置DHCP服務器。

  • Linux中 ens160外網網卡,IP為 172.18.72.183

  • Linux中 ens192內網網卡,IP為 10.0.0.1


技術分享圖片




二、防火墻配置


1)讓發送至內網網卡的數據全部通過

iptables -A FORWARD -i ens192 -j ACCEPT

^註: `ens192` 為內網網卡

技術分享圖片


2)修改數據報頭信息

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ens160 -j MASQUERADE

^註: `10.0.0.0/24` 為內網網段, `ens160` 為外網網卡

或者

iptables -t nat -A POSTROUTING -j SNAT --to-source 172.18.72.183

^註: `172.18.72.183` 為外網網卡地址





三、開啟Linux的路由功能


echo 1 > /proc/sys/net/ipv4/ip_forward     # 打開路由功能
cat /proc/sys/net/ipv4/ip_forward          # 查看是否啟用路由功能,結果為1,代表已啟用,0代表未啟用


技術分享圖片




四、檢查連通性

在 Windows 上設置靜態IP(10.0.0.10/24),網關設為 10.0.0.1 。

ping www.baidu.com

檢測通過。


技術分享圖片







Linux下輕松搭建NAT服務器