Ubuntu IP偽裝

服務器指南文檔

IP Masquerading的目的是允許網絡上具有私有的,不可路由的IP地址的計算機通過偽裝的機器訪問Internet。 來自您的專用網絡的目的地為互聯網的流量必須被處理,以使回复可路由回發出請求的機器。 為此,內核必須修改每個數據包的 IP地址,以便將回复路由回給它,而不是通過發送請求的私有IP地址,這在互聯網上是不可能的。 Linux使用連接跟踪 (conntrack)來跟踪哪些連接屬於哪些機器並相應地重新路由每個返回數據包。 因此,離開你的私人網絡的流量被“偽裝”成源於你的Ubuntu網關機器。 此過程在Microsoft文檔中稱為Internet連接共享。

IP偽裝說明

這可以通過一個iptables規則來完成,根據您的網絡配置,該規則可能會略有不同:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

上述命令假定您的私有地址空間是192.168.0.0/16,並且您的面向Internet的設備是ppp0。 語法分解如下:

過濾器表中的每個鏈(默認表以及大部分或全部數據包過濾發生處)都具有默認的ACCEPT 策略 ,但如果除了網關設備之外還要創建防火牆,則可能已將策略設置為DROP或REJECT,在這種情況下,您的偽裝流量需要通過FORWARD鏈來允許上述規則的工作:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

上述命令將允許從本地網絡到Internet的所有連接以及與這些連接相關的所有流量返回到啟動它們的機器。

* 許可證

* Ubuntu服務器指南索引