星期一, 6月 06, 2005

FreeBSD: DHCP+NAT+Firewall

在FreeBSD使用 nat、firewall需要重新編譯系統核心

1. cp /sys/i386/conf/GENERIC /sys/i386/conf/proxy_nat_fw
2. 加入下列選項
#FIREWALL##############################################
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
######################################################

3. 編譯核心
# config /sys/i386/conf/proxy_nat/fw
# cd /sys/compile/proxy_nat_fw
# make depend
# make
# make install
4. 修改rc.conf
router="/sbin/routed"
router_enable="YES"
router_flags="-q"

natd_interface="rl0" #對外網卡
natd_enable="YES"
5. 將網路封包轉向 對外網卡
/sbin/ipfw   add   divert   natd   all   from   any   to   any   via rl0