防火牆可分為幾種不同的安全等級。在Linux中,由於有許多不同的防火牆軟體可供選擇,安全性可低可高,最複雜的軟體可提供幾乎無法滲透的保護能力。不過,Linux核心本身內建了一種稱作“偽裝”的簡單機制,除了最專門的駭客攻擊外,可以抵擋住絕大部分的攻擊行動。
當我們撥號接連上Internet後,我們的電腦會被賦給一個IP地址,可讓網上的其他人回傳資料到我們的電腦。駭客就是用你的IP來存取你電腦上的資料。Linux所用的“IP偽裝”法,就是把你的IP藏起來,不讓網路上的其他人看到。有幾組IP地址是特別保留給本網使用的,Internet骨幹路由器並不能識別。像作者電腦的IP是192.168.1.127,但如果你把這個地址輸入到你的瀏覽器中,相信什麼也收不到,這是因為Internet骨幹是不認得192.168.X.X這組IP的。在其他 Intranet上有數不清的電腦,也是用同樣的IP,由於你根本不能存取,當然不能侵入或破解了。
那麼,解決Internet上的安全問題,看來似乎是一件簡單的事,只要為你的電腦選一個別人無法存取的IP地址,就什麼都解決了。錯!因為當你瀏覽Internet時,同樣也需要伺服器將資料回傳給你,否則你在螢幕上什麼也看不到,而伺服器只能將資料回傳給在Internet骨幹上登記的合法IP地址。
“IP偽裝”就是用來解決此兩難困境的技術。當你有一部安裝Linux的電腦,設定要使用“IP偽裝”時,它會將內部與外部兩個網路橋接起來,並自動解譯由內往外或由外至內的IP地址,通常這個動作稱為網路位址轉譯。
實際上的"IP偽裝"要比上述的還要複雜一些。基本上,“IP偽裝”伺服器架設在兩個網路之間。如果你用類比的撥號數據機來存取Internet上的資料,這便是其中一個網路;你的內部網路通常會對應到一張乙太網路卡,這就是第二個網路。若你使用的是DSL數據機或纜線數據機(Cable Modem),那麼系統中將會有第二張乙太網路卡,代替了類比數據機。而Linux可以管理這些網路的每一個IP地址,因此,如果你有一部安裝 Windows的電腦(IP為192.168.1.25),位於第二個網路上(Ethernet eth1)的話,要存取位於Internet(Ethernet eth0)上的纜線數據機(207.176.253.15)時,Linux的“IP偽裝”就會攔截從你的瀏覽器所發出的所有TCP/IP封包,抽出原本的本地地址(192.168.1.25),再以真真實位址(207.176.253.15)取代。接著,當伺服器回傳資料到207.176.253.15 時,Linux也會自動攔截回傳封包,並填回正確的本地地址(192.168.1.25)。