萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux IP 偽裝防火牆:以 NAT 機制阻擋惡意攻擊的實作指南

Linux 核心內建 IP 偽裝 (IP Masquerade) 機制,除最專業的駭客攻擊外,足以抵擋絕大多數網路威脅。本文解析原理、設定方法與實務考量。

IP 偽裝基本原理

撥號上網獲取公網 IP,駭客即可透過此 IP 存取主機。IP 偽裝將內部私有 IP 隱藏,讓外部無法直接看見。私有 IP 範例:192.168.x.x,Internet 骨幹路由器無法識別,外部無法直接存取。

但瀏覽網頁需伺服器回傳資料,伺服器只能送至合法公網 IP。IP 偽裝即解決此兩難:架設於內外網間,自動轉譯雙向 IP 位址,即網路位址轉換 (NAT)。

實際運作流程

IP 偽裝伺服器雙網卡:eth0 連外網(如纜線 Modem 207.176.253.15),eth1 連內網(如 192.168.1.254)。內網主機 192.168.1.25 存取外網時:

  1. Linux 攔截封包,抽出本地 IP (192.168.1.25),替換為真實公網 IP (207.176.253.15) 發送。
  2. 伺服器回傳至公網 IP,Linux 再攔截回傳封包,填回正確本地 IP (192.168.1.25) 轉發。

可同時管理多台內網主機封包不混淆。作者曾用 486 老機器跑 Slackware 同時處理四台電腦封包,速度無損。

設定 IP 偽裝 (以 IPFWADM 為例)

核心 2.0 前用 IPFWADM,2.0 提供 IPCHAINS 但保留 IPFWADM wrapper 相容。範例雙網卡 eth0/eth1:

IPADDR="207.175.253.15"   # 纜線 Modem 公網 IP
NETMASK="255.255.255.0"
NETWORK="207.175.253.0"
BROADCAST="207.175.253.255"
GATEWAY="207.175.253.254"

# 設定外網卡 eth0
/sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
/sbin/route add -net ${NETWORK} netmask ${NETMASK} eth0

# 設定內網卡 eth1
/sbin/ifconfig eth1 192.168.1.254 broadcast 192.168.1.255 netmask 255.255.255.0
/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 eth1

# IPFWADM 初始化
/sbin/ipfwadm -F -p deny                    # 預設拒絕轉發
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0  # 內網源位址偽裝轉發
/sbin/ipfwadm -M -s 600 30 120              # 逾時設定

完成上述設定即可運作。IPCHAINS 用法參考 IPCHAINS-HOWTO。

數據機與連線速度考量

  • 56K Modem 價格下跌,但多為 WinModem(無獨立控制晶片,佔用 CPU),Linux 不支援。確認 Modem 有跳線設定 COM1-COM4。
  • 相容 Modem 清單:WinModem 相容性列表
  • 即插即用 Modem 可能導致舊 BIOS 衝突(如 IRQ 15 衝突),舊機器建議避免。

多線路提速現實

EQL 模組可同時用多張 Modem,但除非 ISP 為多線路提供同一公網 IP,否則僅對外發封包有幫助,回傳封包仍受單一 IP 限制。ISDN 由 ISP 處理此問題,部分 ISP 提供多線路對應 IP 但價格昂貴。

防火牆效率不容忽視

六用戶共享 56K Modem 經 IP 偽裝運作良好,僅大檔下載時變慢。決定加裝多線前,先架設 IP 偽裝伺服器試用。Windows 多 IP 處理效率低,隔離 Windows 網路與 Modem 效能提升驚人。

簡言之:Linux IP 偽裝就是藏起你的 IP,不讓網路上其他人看見。

copyright © 萬盛學電腦網 all rights reserved