日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ipfw規(guī)則

PACKET FLOW(包的流程)
ipfw可以從協(xié)議堆里的很多地方被調(diào)用,在個(gè)別系統(tǒng)參數(shù)的控制下,最重要的要明白,何時(shí)為了設(shè)計(jì)固有的規(guī)則表才發(fā)生 。ipfw被調(diào)用的如下表示,一起的還有
控制它的sysctl 變量

^ to upper layers V
| |
----------->-----------
^ V
[ip_input] [ip_output] net.inet.ip.fw.enable=1
| |
^ V
[ether_demux] [ether_output_frame] et.link.ether.ipfw=1
| |
-->--[bdg_forward]-->--net.link.ether.bridge_ipfw=1
^ V
| to devices |


有圖所示,數(shù)據(jù)包穿過防火墻的次數(shù)可以在0-4之間變化,這依賴于數(shù)據(jù)包的源,目的地和系統(tǒng)配置 。在每一個(gè)位置里,包只被屬于自己所在層區(qū)域的配置檢驗(yàn) 。也就是說,來(lái)訪的數(shù)據(jù)包包含Mac頭,當(dāng)ipfw在
規(guī)則表總是在執(zhí)行的,無(wú)論是ipfw的調(diào)用的地方,還是包來(lái)源的地方 。如果一個(gè)規(guī)則包含一些匹配模式或?qū)φ{(diào)用地方無(wú)效的行為(例如當(dāng)ipfw在ip_input處被調(diào)用,去匹配一個(gè)MAC頭)匹配模式將不匹配 。無(wú)論如何,一個(gè)沒有操作數(shù)的模式將導(dǎo)致,此模式永遠(yuǎn)匹配那些有歹意的數(shù)據(jù)包 。這是程序員的責(zé)任,如果需要,寫一個(gè)恰當(dāng)?shù)囊?guī)則表,以區(qū)分有可能涉及到的地方,skipto(跳轉(zhuǎn))可以被使用,例如:

# packets from ether_demux or bdg_forward
ipfw add 10 skipto 1000 all from any to any layer2 in
# packets from ip_input
ipfw add 10 skipto 2000 all from any to any not layer2 in
# packets from ip_output
ipfw add 10 skipto 3000 all from any to any not layer2 out
# packets from ether_output_frame
ipfw add 10 skipto 4000 all from any to any layer2 out

此時(shí)在ether_demu and bdg_forward 之間沒有任何區(qū)別 。

規(guī)則格式:
ipfw規(guī)則的格式如下:
[rule_number] [set set_number] [prob match_probability]
action [log [logamount number]] body
body部分的設(shè)置是為了過濾信息包的,有以下幾種:

Layer-2 header fIElds 當(dāng)用到的時(shí)候
IPv4 Protocol TCP, UDP, ICMP, etc.
Source and dest. addresses and ports
Direction See Section PACKET FLOW
Transmit and receive interface 由名字或地址決定
Misc. IP header fields 版本,服務(wù)器種類,數(shù)據(jù)包長(zhǎng),度 鑒定,片斷標(biāo)記(非零 IP 抵消),存活時(shí)間
IP options:
Misc. TCP header fields TCP flags (SYN, FIN, ACK, RST,
etc.), 序號(hào), 確認(rèn)號(hào), 窗口
TCP options:
ICMP types 對(duì)于ICMP的數(shù)據(jù)包
User/group ID 當(dāng)數(shù)據(jù)包能被聯(lián)系到本地的計(jì)算機(jī)上
注意上面的信息,舉例來(lái)說,源MAC或者是IP地址和TCP/UDP端口,容易受到欺騙,所以當(dāng)過濾這些領(lǐng)域的數(shù)據(jù)包時(shí),不能保證可以得到預(yù)期的效果 。
rule_number
每一條規(guī)則都有一個(gè)規(guī)則號(hào),范圍是1..65535,還有一些近來(lái)被保留的默認(rèn)規(guī)則 。規(guī)則是按規(guī)則號(hào)有序的被察看 。多種規(guī)則可以有同樣的號(hào)碼,在這種情況下,被察看,或列出,也是依照他們?cè)谠O(shè)置中的順序 。如果一條加入的規(guī)則,沒有特殊的號(hào)碼,內(nèi)核將自動(dòng)分配一個(gè)號(hào)碼,排在除默認(rèn)規(guī)則的所有規(guī)則的最后面,這個(gè)自動(dòng)的號(hào)碼是由最后一個(gè)非默認(rèn)的規(guī)則號(hào)給于賦值的如果這個(gè)號(hào)碼與最后一個(gè)沖突,則最后一個(gè)號(hào)碼的規(guī)則獎(jiǎng)被取代(因?yàn)樽詣?dòng)的序列號(hào)可能會(huì)超過最大范圍) 。
set set_number
每一條規(guī)則都有一個(gè)設(shè)置號(hào),范圍是0..31,和一些最近為默認(rèn)規(guī)則所保留 。這個(gè)設(shè)置號(hào)可以個(gè)別的激活或段掉,所以對(duì)于子規(guī)則的操作,這個(gè)是最基本也是最重要的了 。他也可以用在單一的規(guī)則的刪除里,如果一個(gè)輸入的規(guī)則沒有設(shè)置號(hào),那么將自動(dòng)賦值0給它!
prob match_probability
一個(gè)匹配只是被公開的和一個(gè)指定的概率(浮動(dòng)點(diǎn)在0-1) 。這個(gè)可以用在一個(gè)應(yīng)用的數(shù)字上,例如像任意包的丟失,或模擬多路經(jīng)引導(dǎo)無(wú)序的包傳輸?shù)男Ч?。

推薦閱讀