站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

IPFW-利用 IPFW 輕鬆達成 NAT

最後編輯

修改:

< hostname="gateway.freebsd.org"

> hostname="nat.weithenn.org"


前言

NAT 伺服器主要是用來簡化及保有 IP 位址,它可讓原本無法上網且使用內部IP位址的主機可以成功的連接 Internet。如此將大大減少 IP 位址的需求,因為基本上整個內部網路都可藉 NAT 上的一個外部 IP 來連至 Internet,FreeBSD 內建 IPFW,因此我們可以很輕鬆設定一個簡單的防火牆,但要了解防火牆只是限制要開放 (禁止) 哪些服務、或是IP,但若您的規則沒有設定好,當然如同虛設,本篇實作只是說明如何達成 NAT 功能,關於 NAT 可參考站內文章 NAT 伺服器的原理與運作流程

實作環境

安裝及設定

步驟1.編輯 kernel 檔

首先先在 kernel 檔中加入下列內容

 options   IPFIREWALL                     //支援防火牆 
 options   IPFIREWALL_DEFAULT_TO_ACCEPT   //預設允許所有封包通過 
 options   IPFIREWALL_VERBOSE             //在 ipfw 中設定要記錄哪些封包   
 options   IPDIVERT                       //支援 NAT  

然後再去編譯 kernel 檔

 #config newkernel 
 #cd ../../compile/newkernel 
 #make depend all install 
 #make clean 

步驟2.編輯 /etc/rc.conf

修改 /etc/rc.conf 以便系統重新開機時能自動啟動 IPFW 及相關服務

 #vi /etc/rc.conf                         //修改 rc.conf 內容如下
 gateway_enable="YES"                     //設定本主機可做為 Gateway 
 firewall_enable="YES"                    //這四行是防火牆的設定 
 firewall_type="OPEN"                     //打開 Firewall 
 natd_interface="fxp0"                    //定義 NAT 所使用的網路卡,也就是使用真實 IP 的網路卡 
 natd_enable="YES"                        //開機啟動 NAT 服務 
 ### WAN NIC    
 defaultrouter="61.60.59.254" 
 hostname="nat.weithenn.org" 
 ifconfig_fxp0="inet 61.60.59.58 netmask 255.255.255.0"  
  ### LAN NIC 
 ifconfig_xl0="inet 192.168.1.254 netmask 255.255.255.0"  

再看看 /etc/service 中是否有 natd 8668/divert 這一行,若沒有就加上去吧。 如此 NAT 應該就可成功了。

參考

[ 以FreeBSD架設NATD-Server & IP-FireWall防火牆]

[FreeBSD Handbook - IPFW]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com