控制bridged的包是否允許ipfw,默認(rèn)為"不是" 。
IPFW2 ENHANCEMENTS
這部分介紹在ipfw1里沒涉及到的一些重要的特性 。列舉的是對你設(shè)置規(guī)則有一定影響的內(nèi)容 。你可以考慮使用這些特性,以便你設(shè)置規(guī)則的時候有更多的有效途徑 。
Handling of non-IPv4 packets
ipfw1將依照規(guī)則接受所有非IPv4 的包(僅當(dāng)net.link.ether.bridge_ipfw=1的時候)像ipfw1一樣完成同樣的行為,你可以使用以下條例,可以當(dāng)作你規(guī)則欄里的第一條:
ipfw add 1 allow layer2 not mac-type ip
layer2選項(xiàng)可能被看作多余的,但是由是必需的,從layer3到防火墻的包沒有了MAC頭,則MAC類型的ip模式總要舍去,并且非操作數(shù)將使這個規(guī)則變成全部通過 。
Address sets
ipfw1不支持地址設(shè)置 (看addr/masklen{num,num,...} ).
ipfw1 and ipfw2較小的區(qū)別就是,以前指定的允許的地址,像ipno:mask,這里的mask可以是代替bit設(shè)置的任意的bitmask。ipfw2不再支持此語法 。
Port specifications
ipfw1 僅允許一個端口范圍,當(dāng)指定TCP and UDP端口時,ipfw2將限制由15個變?yōu)?0個 。同樣在ipfw1里,你只能定義端口,在規(guī)則被請求tcp or udp包的時候,用ipfw2你可以提出一個端口的詳細(xì)說明在匹配所有包的規(guī)則里,并且匹配將被嘗試僅僅在那些包所帶的協(xié)議里包括端口的標(biāo)識符 。
ipfw1里要求第一個端口的進(jìn)入,是被指定的,就像port:mask,mask可以是任意的16-bit mask.這個語法也是在ipfw2里不用的 。
Or-blocks
ipfw1 不支持 Or-blocks.
keepalives
ipfw1 不產(chǎn)生keepalives為數(shù)據(jù) 。像一個因果關(guān)系,它可以導(dǎo)致一個空閑區(qū)域的停止,因?yàn)?
動態(tài)規(guī)則的存活時間終止了 。
Sets of rules
ipfw1 不執(zhí)行規(guī)則的設(shè)置 。
MAC header filtering and Layer-2 firewalling.
ipfw1 不在MAC頭區(qū)域進(jìn)行過濾,也不被調(diào)用當(dāng)包從ether_demux()和ether_output_frame()過來 。sysctl變量net.link.ether.ipfw在這里也不起作用 。
Options
以下設(shè)置在ipfw1不支持:
dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port.
還有ipfw1規(guī)則里不支持的:
ipid, iplen, ipprecedence, iptos, ipttl, ipversion, .Cm tcpack,
tcpseq, tcpwin.
Dummynet options
以下設(shè)置為dummynet pipes/queues不支持:
The following option for dummynet pipes/queues is not supported:
noerror.
EXAMPLES
這里僅僅給出很小的一個例子的設(shè)置 。
BASIC PACKET FILTERING
這個命令加進(jìn)一個條目,拒絕所有來自cracker.evil.org telnet wolf.tambov.su的端口的tcp包:
ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet
這個是拒絕所有的來自此網(wǎng)的用戶訪問我的主機(jī):
ipfw add deny ip from 123.45.67.0/24 to my.host.org
第一個有效限制訪問的辦法是使用以下規(guī)則:
ipfw add allow tcp from any to any established
ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup
ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup
...
ipfw add deny tcp from any to any
第一條規(guī)則會馬上匹配普通的TCP包,但是不匹配最開始的SYN包,這些包只由setup規(guī)則匹配,也僅僅對source/destination有選擇性的 。所有其它的SYN包將由最后的拒絕規(guī)則丟棄掉 。
如果你管理一個或更多的子網(wǎng),你可以用ipfw2語法的優(yōu)勢去指定地址 。如下:
goodguys="{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }"
badguys="10.1.2.0/24{8,38,60}"
ipfw add allow ip from ${goodguys} to any
ipfw add deny ip from ${badguys} to any
... normal policies ...
ipfw1 語法只能為沒一個ip獨(dú)立設(shè)置要求,不能像上面那樣 。
DYNAMIC RULES
為了保護(hù)TCP包的溢出攻擊,安全的使用此動態(tài)規(guī)則:
ipfw add check-state
ipfw add deny tcp from any to any established
推薦閱讀
- FreeBSD ipfw 防火墻基礎(chǔ)指南
- FreeBSD 利用IPFW實(shí)現(xiàn)限制局域網(wǎng)使用QQ
- FreeBSD下的帶寬控制 -- ipfw+dummynet
- FreeBSD MRTG-Packet Count
- 足球有哪些需要了解的規(guī)則?
- 怎么快速學(xué)會劃拳
- 刑事證據(jù)采信規(guī)則是怎樣的
- Ipf+ipnat+ipfw建立帶流量控制的透明網(wǎng)關(guān)
- 向往的生活中的數(shù)馬游戲規(guī)則介紹
- 78 FreeBSD連載:設(shè)置和使用ipfw/natd
