利用iptables的NAT代理實現內網訪問外網

利用NAT代理實現內網訪問外網 服務器

  1. 背景及原理

    若局域網中的兩臺計算機只能有一臺可以訪問外網,而這兩臺計算機之間能相互通訊,那麼能夠配置能訪問外網的那臺服務器實現路由器的功能,即實現其餘機器的NAT轉換,從而使全部機器都能訪問外網 spa

     

  2. 環境模擬

    在虛擬機中建立兩臺Linux系統(能夠在建立一臺後克隆另外一臺,這樣作能夠加快效率),分別命名爲Linux1和Linux2,其中Linux1具備兩塊網卡eth0(NAT模式)和eth1(僅主機模式) 代理

Linux2具備一塊網卡eth0(僅主機模式),讓Linux1作路由器(服務器),Linux2作客戶機 blog

    

ip地址分配爲 ip

Linux1:eth0    192.168.214.210(此ip跟VMware的NAT模式同網段,不然做爲服務器端的Linux將沒法訪問外網) 路由

 

        eth1    172.16.6.254(自定義) 虛擬機

Linux2:eth0    172.16.6.100(自定義) table

環境模擬步驟: class

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不通外網

 

三、在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配置文件

 

  1. 在Linux2上從新ping www.baidu.com –c4

此時Linux2能經過Linux1連上外網,大功告成!

 

博主原創文章,轉載請務必註明出處

相關文章
相關標籤/搜索