IPNAT+Ipfilter+Bridge 超級防火牆

2009-05-13 13:10:32来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Description :

近來有個朋友的公司『公司約200多台PC』,他們所使用的防火牆ipfirewall+natd出現問題!迫使他們改用ipfilter+ipnat,於使用ipfilter+ipnat後,我這位朋友一直贊譽有佳,因此引發了我開始研究ipfilter+ipnat這套防火牆軟體。
ipfilter+ipnat是由OpenBSD開發出來可免費使用的防火牆軟體,跨平台可以使用於NetBSD、OpenBSD、FreeBSD、 Linux 等OS,甚至連商業版的Solaris也都可使用,可說是相當優秀的一套防火牆軟體。
ipfilter+ipnat 到底有甚麼吸引力呢?可以讓一位原本癡迷使用 FreeBSD CoreTeam 所開發出的ipfirewall+natd 者,再去學習 ipfilter+ipnat呢?其中我想最主要的因素即是,ipfilter+ipnat 使用於大型網路架構中,IP轉換的效能比較好同時具有跨平臺優異性,光這兩項我想就足夠吸引ipfirewall+natd的擁護者轉而投抱再學習 ipfilter+ipnat,而原本的ipfirewall+natd並不是沒有其優點,雖然效能差了些但是DUMMYNET可做頻寬控管就是其優點,這就是 ipfilter 所沒有的,唉~ 這真是魚與熊掌不能兼得 ~
Setp 1.
重新編輯新的Kernel 同時加入bridge 的option
#cd /usr/src/sys/i386/conf/
#cp GENERIC /etc/NEWIPF
#ln -s /etc/NEWIPF
#vi NEWIPF
ident NEWIPF      #  ident記得要改成新的NEWIPF
options BRIDGE   #  加入這行即可
#config NEWIPF#cd ../compiler/NEWIPF#make depend all install
Setp 2.
驅動 ipfilter 我們選擇kldload 直接驅動,而不需重新編輯 kernel 可直接驅動 ipfilter
#cd /etc
#vi rc.load    # 編輯 rc.load 使重開機 ipfilter 可自動執行,內容如下:
kldload ipl.koipf -Fa -f /etc/ipf.rulesipnat -CF -f /etc/ipnat.rulessysctl net.inet.ip.forwarding=1sysctl net.link.ether.bridge.enable=1sysctl net.link.ether.bridge.ipf=1sysctl net.link.ether.bridge.config=fxp0,de0
Setp 3.
編輯 ipf.rules 和 ipnat.rules 及 rc.conf 這三個設定檔
#vi /etc/ipf.rules # ipf 的規則有符合last match 所以會重頭一直向下比對直到最後一條規則,若有加 quick 則是有優先 match。
pass in allpass out all
#vi /etc/ipnat.rules      # ipnat 的 rule 有先後順序,排在前面的會優先比對。
map fxp0 10.10.10.0/24 -> 168.168.168.253/32
#vi /etc/rc.conf
hostname="ipf.ntut.idv.tw"defaultrouter="168.168.168.254"ifconfig_fxp0="inet 168.168.168.253 netmask 255.255.255.0"ifconfig_de1="inet 10.10.10.254 netmask 255.255.255.0"usbd_enable="YES"sshd_enable="YES"
#reboot 存檔後重開機後即完成 ...
指令說明:
#kldstat  ( 看ipfilter有無被驅動 )
#ipf -V  ( -V查看ipfilter的版本 )
#ipf -D  ( 停止 ipfilter )
#ipf -E  ( 啟動 ipfilter )
#ipf -Fa -f /etc/ipf.rules  ( -Fa清除所有rule,-f 導入新的rule,為更新ipf.rules後重新啟動必下指令)
#ipfstats  ( 統計所有封包狀態 )
#ipfstats -o  ( -o看所有output的rule )
#ipfstats -i  ( -i看所以input的rule )
#ipmon  ( 觀查所有ip及封包走向 IP -> host, PORT -> protocol )
#ipnat -C  ( 清除所有規則 )
#ipnat -l  ( 查看目前設置的轉換規則及已經執行過後的轉換關係 )

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IPNAT+Ipfilter+Squid Transparent Proxy 超級防火牆

下一篇:防火牆+橋接器+頻寬管理 Ipfw+Bridge+Dummynet