偽裝是 NAT (網路位址轉譯) 的 Linux 專用形式。它可以用來連結小型 LAN (主機使用私用範圍的 IP 位址;請參閱第 30.1.2 節「網路遮罩與路由」) 與網際網路 (使用正式 IP 位址)。若要讓 LAN 主機能夠連接網際網路,這些主機的私用位址會轉譯為正式位址。這是在路由器上完成的,路由器當作 LAN 與網際網路之間的閘道。其根本原則很簡單:路由器具備一個以上的網路介面,一般是網路卡與連接至網際網路的個別介面。後者連結路由器與外界,一或多個其他的則連結路由器與 LAN 主機。當區域網路中的這些主機連接到路由器的網路卡時 (如 eth0
),它們可以傳送任何不是預定給區域網路的封包到其預設的閘道或路由器。
![]() | 使用正確的網路遮罩 |
---|---|
設定您的網路時,確定廣播位址及網路遮罩在所有本地主機上都是相同的。如果不相同,可能會造成封包無法正確的路由。 |
如所述,只要其中一個 LAN 主機傳送預定給網際網位位址的封包時,就會送到預設路由器。不過,路由器必須先設定才能轉遞這類封包。為了安全性起見,預設安裝不會起用此選項。若要啟用,將檔案 /etc/sysconfig/sysctl
中的變數 IP_FORWARD
設定為 IP_FORWARD=yes
。
連接的目標主機可以看到您的路由器,但是並不知道您內部網路中產生封包的主機。這就是為什麼這個技術稱為偽裝。由於位址轉譯功能,所以路由器是任何回覆封包的第一個目的地。路由器必須識別這些內送封包並轉譯其目標位址,如此封包可轉遞到區域網路中的正確主機。
依據偽裝表格之內送交通的路由,是不可能從外面開啟對內部主機的連接。對於這類連接,表格中不會出現項目。此外,任何已經建立的連接在表格中都有指定給它的狀態項目,因此另一個連接無法使用此項目。
其結果是,您在一些應用程式通訊協定上可能會出現問題,如 ICQ、cucme、IRC (DCC、CTCP) 和 FTP (PORT 模式)。Web 瀏覽器、標準 FTP 程式,與許多其他程式,都使用 PASV 模式。就封包過濾和偽裝而言,這種被動模式的問題較少。