利用NAT代理實現內網訪問外網
-
背景及原理
若局域網中的兩台計算機只能有一台能夠訪問外網,而這兩台計算機之間能相互通信,那么可以配置能訪問外網的那台服務器實現路由器的功能,即實現其他機器的NAT轉換,從而使所有機器都能訪問外網
-
環境模擬
在虛擬機中創建兩台Linux系統(可以在創建一台后克隆另一台,這樣做可以加快效率),分別命名為Linux1和Linux2,其中Linux1具有兩塊網卡eth0(NAT模式)和eth1(僅主機模式)
Linux2具有一塊網卡eth0(僅主機模式),讓Linux1做路由器(服務器),Linux2做客戶機
ip地址分配為
Linux1:eth0 192.168.214.210(此ip跟VMware的NAT模式同網段,否則作為服務器端的Linux將無法訪問外網)
eth1 172.16.6.254(自定義)
Linux2:eth0 172.16.6.100(自定義)
環境模擬步驟:
2.1 對於Linux1服務器端
2.1.1 vi /etc/sysconfig/network-scripts/ifcfg-eth0修改網卡配置文件,同時將ip改為靜態ip:192.168.214.210,網關192.168.214.2
2.1.2 進入到/etc/sysconfig/network-scripts/目錄,創建網卡eth1的配置文件,可以通過復制網卡eth0的配置文件cp ifcfg-eth0 ifcfg-eth1再進行配置,只需配置靜態ip為172.16.6.254(即Linux2的網關)
2.1.3 執行命令>/etc/udev/rules.d/70-persistent-net.rules清空網卡信息相關文件
2.1.4 重啟系統並查看ip
2.2 對於Linux2客戶端
2.2.1 vi /etc/sysconfig/network-scripts/ifcfg-eth0修改網卡配置文件(因為是通過原來的克隆過來的,所以需要刪除網卡的物理地址和UUID),同時將ip地址改為靜態ip:172.16.6.100
2.2.2 執行命令>/etc/udev/rules.d/70-persistent-net.rules清空網卡信息相關文件
2.2.3 重啟系統並查看ip
2.3在Linux1上pingwww.baidu.com –c4
檢驗Linux2與Linux1的通信,在Linux2上ping 172.16.6.254 –c4,同時ping www.baidu.com,發現能ping通網關(即Linux1),ping不通外網
3、在Linux1上操作
3.1 配置iptable轉發規則執行如下命令
iptables -F #清除所有規則來暫時停止防火牆
iptables -t nat -A POSTROUTING -s 172.16.6.0/24 -j MASQUERADE #進行ip偽裝
3.2 調整內核參數,開啟內核ip路由轉發功能
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p 載入sysctl配置文件
-
在Linux2上重新ping www.baidu.com –c4
此時Linux2能通過Linux1連上外網,大功告成!
博主原創文章,轉載請務必注明出處