Linux下輕松搭建NAT服務器
阿新 • • 發佈:2017-12-13
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服務器