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

FREEBSD中使用IPFW來過濾ICMP服務(wù)

FreeBSD中可以使用IPFW來停止PING的響應(yīng),即可以調(diào)制內(nèi)核和使用IPFW來拒絕

ICMP服務(wù),這樣別人用PING就看不到任何信息了 。



先介紹下IPFW:在專用路由器系統(tǒng)開始流行之前,Internet上的路由器大部分

是基于Unix的軟件路由器,其中多數(shù)是BSD Unix 。顯然這是由于BSD Unix在

Internet上占據(jù)的重要地位決定的,即便是在專用硬件路由器流行的今天,

當(dāng)由于價格等因素不能考慮硬件路由器時,BSD系統(tǒng)仍然是用作軟件路由器的

首選系統(tǒng) 。



由于路由器處于網(wǎng)絡(luò)之間,所有網(wǎng)絡(luò)間需要交換的數(shù)據(jù)包都要通過它轉(zhuǎn)發(fā),

因此就可以進(jìn)行一定的限制,即按照預(yù)定義的一定規(guī)則處理每個數(shù)據(jù)包,符合

要求的允許通過,不符合要求的就進(jìn)行丟棄 。這樣路由器就能用作一個簡單的

防火墻系統(tǒng),保護(hù)內(nèi)部計算機(jī) 。BSD系統(tǒng)中最早使用ipfw過濾器來定義不同的

過濾規(guī)則,隨后ipfw也被移植到其它平臺上,并根據(jù)開發(fā)者的理解不同而獨(dú)立

發(fā)展 。當(dāng)前不同系統(tǒng)上的ipfw已經(jīng)大不相同了,并出現(xiàn)了具備相同功能的其它過

濾器,F(xiàn)reeBSD下的ipfw也經(jīng)過了不斷發(fā)展,具備了更強(qiáng)的過濾能力,尤其是

它能和natd守護(hù)進(jìn)程相結(jié)合,提供網(wǎng)絡(luò)地址轉(zhuǎn)換能力,具備更完善的防火墻能力 。





FreeBSD的包過濾能力是在內(nèi)核中實現(xiàn)的,這樣才具備最高的效率和性能 。因此

為了在FreeBSD上使用這個防火墻功能,需要在編譯內(nèi)核時打開下面選項重新定

制內(nèi)核 。



這文章里需要你在內(nèi)核編制中打開下面的選項:



IPFIREWALL

IPFIREWALL_VERBOSE

"IPFIREWALL_VERBOSE_LIMIT=100"

options IPFIREWALL_DEFAULT_TO_ACCEPT



IPFILTER

IPFILTER_LOG



其中第一項設(shè)置IPFIREWALL是用于打開基本的包過濾支持的,只有使用它才能在

內(nèi)核中支持包過濾 。IPFIREWALL_VERBOSE 和IPFIREWALL_VERBOSE_LIMIT設(shè)置記

錄過濾日志,及日志記錄的限制 。IPFIREWALL_DEFAULT_TO_ACCEPT是設(shè)置

IPFIREWALL的缺省行為,在數(shù)據(jù)包不符合所有的過濾規(guī)則的情況下進(jìn)行轉(zhuǎn)發(fā),

顯然這是一種寬松的限制,此時系統(tǒng)主要用于屏蔽特定地址和特定服務(wù),而提

供其它的缺省網(wǎng)絡(luò)能力 。如果沒有定義這個選項,系統(tǒng)就只能允許符合已定義

規(guī)則的數(shù)據(jù)包通過,而屏蔽其它任何數(shù)據(jù)包,這樣在沒有定義過濾規(guī)則的情況

下,系統(tǒng)不能和其它計算機(jī)相互通信 。而IPFILTER是通知內(nèi)核支持ipfilter,

IPFILTER_LOG是進(jìn)行ipfilter LOG記錄 。



OK,再經(jīng)過內(nèi)核重新編譯(內(nèi)核編譯請參看其它文章),還需要設(shè)置內(nèi)核具備

數(shù)據(jù)包的轉(zhuǎn)發(fā)能力 。需要在rc.conf中設(shè)置gateway_enable 的值為YES,這樣

就能在系統(tǒng)啟動時自動打開包轉(zhuǎn)發(fā)能力 。也可以直接執(zhí)行下面命令來打開內(nèi)

核包轉(zhuǎn)發(fā)能力 。



好了,下面主要描述我們來拒絕ICMP的服務(wù)規(guī)則,因為測試所用,所以你可以建立

一個文件如(myfile)并增加下面的條目:



ip="你的IP地址"

ipfw -f flush #Forces your current firewall to be flushed!

ipfw add pass log icmp from $ip to any icmp 8

ipfw add pass log icmp from not $ip to $ip icmp 0



把文件保存后,并使用chmodx myfile設(shè)置文件屬性,并運(yùn)行文件 。



其中第一條是設(shè)置你的IP為一變量;

第二條是flush表示強(qiáng)制清楚你當(dāng)前防火墻的所有規(guī)則;

對于第三,第四條,我們先來看看具體指令的意義:



add是增加規(guī)則,而pass指令是這條規(guī)則的處理指令,類似allow,而log

是記錄指令,這個指令和其它指令不同,其它指令是對數(shù)據(jù)包進(jìn)行處理的

推薦閱讀