歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

如何配置Linux中的IP Masq防火牆

  ◎李偉革 郝麗蓉       本文向讀者介紹如何使用Linux下的IP Masquerade(簡稱IP Masq)防火牆功能。使用IP Masq可以實現NAT功能,這是網絡防火牆的主要功能之一,用於中小型企、事業單位、居民生活小區通過單個注冊的IP實現共享上網服務,特別是隨著寬帶網的普及,大量的用戶需要使用Internet,為了解決IP地址短缺問題,使用Linux下的IP Masq是一種較理想的解決方案。要實現Linux下的IP Masq需要解決兩個問題,即網絡雙網卡的正確安裝和IP Masq的正確設置。     一、 Linux下雙網卡的正確安裝     1.設備環境   ① IBM兼容PC機一台,IDE硬盤一塊。   ② Turbo Linux操作系統6.0。   ③ 3Com ISA以太網卡3C509B-TPO兩塊。   2.安裝過程   ① 在DOS系統下,使用3C509B網卡驅動程序中所帶3c5x9cfg.exe調試程序配置、測試兩塊3Com ISA網卡參數(主要是IRQ中斷號和I/O內存地址),保證兩塊網卡能夠正常運行。   ② 在計算機系統中,安裝Turbo Linux操作系統,配置第一塊網卡(IO=0x300),系統自動缺省識別網卡IOBASE=0x300,使用ping命令測試網卡狀態。   ③ 為了減少啟動時可能出現的問題,Linux內核不會自動檢測多個網卡。若需要在服務器上安裝多塊網卡,對於已經將網卡的驅動編譯進內核中的系統,則需要在“/etc/lilo.conf”文件中指定各個網卡的參數信息; 而對於沒有將網卡的驅動編譯到內核而是作為模塊動態載入的系統,應該在“conf.modules”文件中進行相應的配置。   ④ 安裝第二塊網卡,在“/etc/lilo.conf”中增加配置信息,其方法是通過LILO程序將啟動參數信息傳遞給內核。對於ISA卡,編輯“/etc/lilo.conf”文件,增加如下內容:ether=10,0x320,0,0,eth1。   前四個參數是數字,最後一個參數是設備的名稱。所有的數字變量都可以自由選擇,如果用戶忽略或是設置成0,那麼核心會自動檢測該設備的參數變量或使用默認值。第一個參數代表分配給設備的中斷請求通道,默認情況下核心會自動檢測設備的IRQ通道; 第二個參數變量用來指定設備的基本I/O地址,同樣,如果這裡是0,就意味著核心會自動檢測該設備的I/O地址;剩下的兩個參數變量對於不同的設備有不同的含義,對於共享內存的網卡,它們用來定義共享內存區域的起始點和結束點,對於其他網卡來說,它們使用第一個參數來設置信息的調試等級,數字1到7代表調試等級逐漸增加,而數字8表示關閉信息調試,0表示使用默認值。   ⑤ 重新啟動機器。   ⑥ 通過Turbonetcfg增加eth1,並配置該網卡網絡參數,如IP地址、網關等。   ⑦ 重新啟動機器,使用ping命令測試網卡狀態。   ⑧ 通過Ifconfig命令顯示Interface接口狀態。     二、 IP Masq的正確設置      1.檢查Linux 系統內核是否支持IP Masq   檢查Linux系統內核是否支持IP Masquerade。如果你手中的Linux版本支持如下特征:   IPFWADM/IPCHAINS、IP forwarding 、IP masquerading 、IP Firewalling   則你不需要重新編譯Linux內核,如果你不太確信,可運行如下命令進行測試檢查:   # ls /proc/sys/net/ipv4   如果如下文件存在,則Linux已支持IP Masquerade:“ip_forward”、“ip_masq_debug”、“ip_masq_udp_dloose”、“ip_always_defrag”。   2.為內網分配私網IP地址   私網地址用於企業內部基於TCP/IP技術的聯網需要,它由The Internet Assigned Numbers Authority (IANA)分配,筆者采用了以下地址: 192.168.0.0/24。   3.創建文件 /etc/rc.d/rc.firewall,編輯管理規則   # rc.firewall - Initial SIMPLE IP Masquerade test for 2.1.x and 2.2.x kernels   # FORWARD_IPV4=true   echo “1” > /proc/sys/net/ipv4/ip_forward   #CRITICAL: Enable automatic IP defragmenting since it is disabled by default   # in 2.2.x kernels. This used to be a compile-time option but the behavior was changed in 2.2.12   echo “1” > /proc/sys/net/ipv4/ip_always_defrag   # MASQ timeouts 2 hrs timeout for TCP session timeouts   # 10 sec timeout for traffic after the TCP/IP “FIN” packet is received   # 160 sec timeout for UDP traffic (Important for Masq ’ed ICQ users)   /sbin/ipchains -M -S 7200 10 160   # Enable simple IP forwarding and Masquerading   /sbin/ipchains -P forward DENY   /sbin/ipchains -A forward -i eth0 -s 192.168.0.0/24 -j MASQ   *注釋 interface eth0為公網IP地址(Registered IP Address);   編輯/etc/rc.d/rc.firewall文件的規則後,改變其文件權限為可執行如下命令:# chmod 700 /etc/rc.d/rc.firewall。   4.將Firewall加載到啟動腳本中   當Firewall規則指定完畢後,需要重新啟動計算機系統。你可以手工運行,也可以在系統中修改系統啟動腳本使其自動執行。   手動的方式是在系統命令提示符下,執行如下命令:#/etc/rc.d/rc.firewall。   編輯啟動腳本的方法是在/etc/rc.d/init.d文件中增加如下內容:/etc/rc.d/rc.firewall。   運行IP Masq後,使用ping命令測試NAT的網絡功能,檢查IP Masq是否正常運行。   下面是Linux IP Masq正常運行後的系統路由表。  




Copyright © Linux教程網 All Rights Reserved