成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

用Linux實現(xiàn)路由器和包過濾防火墻(1)
2009-01-11   

由器和防火墻

路由器是一種廣泛運用在IP網(wǎng)段之間的設備,市場上有許多現(xiàn)成的產(chǎn)品。在應用中,我們經(jīng)常將路由器跨接在廣域網(wǎng)和局域網(wǎng)之間,大多數(shù)的路由器產(chǎn)品也就是基于這種需要來設計的。但是隨著用戶IP網(wǎng)絡的擴展,我們需要一種能夠在多個以太網(wǎng)絡之間進行尋址的路由器,傳統(tǒng)的路由器產(chǎn)品中偶爾有幾款雙以太網(wǎng)絡接口的,但是這樣的產(chǎn)品價格尤其昂貴,而且要是支持快速以太網(wǎng)絡應用的話價格將是天文數(shù)字;第三層交換機可以實現(xiàn)這樣的功能,但是第三層交換機也不是便宜的家伙。

路由器工作的時候,根據(jù)它的某個端口收到的數(shù)據(jù)包的目的IP地址,查詢路由器自己的路由表,然后決定將數(shù)據(jù)包轉發(fā)到相應的端口。路由器的路由表有幾種:一種是根據(jù)路由器自己的每個端口IP地址和子網(wǎng)掩碼計算出來的路由,這種路由叫做“固定路由”;第二種是有系統(tǒng)管理員種設置的到某個子網(wǎng)需要通過某個下一級路由器的路由,這種叫“靜態(tài)路由”;還有就是在網(wǎng)絡環(huán)境中讓每個路由器都把自己的路由信息廣播出去,讓路由器之間進行互相學習,這樣學到的路由就叫做“動態(tài)路由”。路由器還會把目的地址不在自己路由表中的數(shù)據(jù)包固定轉發(fā)給一個預先設定IP地址,這樣的路由設置又叫“默認路由”。在路由匹配的過程中,一般有這樣的優(yōu)先級:固定路由>靜態(tài)路由>動態(tài)路由>默認路由。

路由器只會查看IP數(shù)據(jù)包的目的地址,也就是說原則上它是“照單全收”,而且全部轉發(fā),除非真的發(fā)不出去了。如果讓路由器在轉發(fā)數(shù)據(jù)包的時候,加一項檢查,檢查數(shù)據(jù)包的來源和數(shù)據(jù)包要求的應用層服務類型,根據(jù)預先設計的規(guī)則來判定這個數(shù)據(jù)包是應該轉發(fā)還是作別的處理,這樣這個路由器就不再是一個單純意義上的路由器,而是一種類型的防火墻——包過濾防火墻。

包過濾防火墻可以檢查數(shù)據(jù)包的來源、源端口、目的地址、目的端口,使用的傳輸層協(xié)議類型等項目,根據(jù)檢查的項目的內(nèi)容來匹配一個規(guī)則表,當符合規(guī)則表中的定義的時候,就執(zhí)行規(guī)則表事先定義的操作。一般來說,規(guī)則表可以定義這樣的操作:ACCEPT(通過)、NAT(MASQ地址轉換)、DENY(丟棄)、REJECT(拒絕,同時回送‘不可用’消息給源端)。

當然目前市場上也能買到支持包過濾防火墻的現(xiàn)成產(chǎn)品,但是價格問題還是我們不得不考慮的重要因素。尤其大多數(shù)產(chǎn)品都有許多許可證、性能等方面的限制。

Linux操作系統(tǒng)應運IP網(wǎng)絡而生,除了Linux價格上的優(yōu)勢之外,更吸引人的是它內(nèi)建的強大的網(wǎng)絡功能,除了做各種Internet上的應用服務之外,Linux還提供了完整的路由器功能和防火墻功能。而它所帶來的系統(tǒng)造價和功能的比例是相當誘人的,為什么不一試呢?

Linux系統(tǒng)的準備

相對于現(xiàn)成的路由器產(chǎn)品,我們把這樣的路由器稱為“軟路由器”,當然這樣做出來的路由器性能絕對不會比“硬件路由器”的性能差,我們只要明白比如很多“25××”系列的路由器才只是采用25M主頻的摩托羅拉68030CPU(性能相當于Intel 80386)我們就知道了。

用來做“軟件路由器”的Linux系統(tǒng)主機硬件配置要求并不是太高,用作三五個局域網(wǎng)之間的路由選擇,數(shù)百臺計算機的話,選用奔騰133以上的主機就足夠了,當然現(xiàn)在的市場上賽楊2或者奔騰4或者其他的CPU也不是很貴;配置64M內(nèi)存,有條件的話可以配置到128M也無所謂;硬盤就不要太大了,否則也是浪費.

關鍵在于網(wǎng)絡適配器的配置,Linux系統(tǒng)支持大多數(shù)市場上能見到的以太網(wǎng)絡適配器,PCI卡的安裝比較簡單,只要內(nèi)核支持,在開機的時候有多少卡都會被系統(tǒng)正確的識別出來。下面是我在實際使用過的能夠正常工作的網(wǎng)卡:

★Intel EtherExpress Pro PCI100M

★RealTek 8029/8139 PCI 10M/100M

★D-link 系列 (使用Tulip 2114X驅動) PCI 10M

★ACCTON EN1207 (使用Tulip 2114X驅動) PCI 100M

★3COM全系列 (PCI/ISA 10M/100M)

★AMD PC-NET 32 PCI 10M

★大部分NE2000兼容網(wǎng)卡,Topstar、Dlink、ACCTON、SN2000等等

★HardLink PCMCIA 筆記本專用網(wǎng)卡 10M

當然Linux能支持的網(wǎng)卡遠遠不止這些。

將網(wǎng)卡驅動加掛到Linux中有幾種方法,最常用的是用modprobe系統(tǒng)工具加掛一個內(nèi)核模塊,比如加載一個NE2000兼容網(wǎng)卡的驅動可以這樣:


#modprobe ne io=0x300

其實大多數(shù)的PCI網(wǎng)卡并不需要指定IO地址范圍,就像加載一個ACCTON的EN1207c網(wǎng)卡可以這樣:


#modprobe tulip

將網(wǎng)卡驅動編譯到Linux內(nèi)核中是一種最高效的做法,在編譯Linux內(nèi)核的時候,使用


#make menuconfig

代替很多老資料上提到的“#make config”,這樣就會得到一個菜單,在菜單中“Network Device”選項下選定指定的網(wǎng)絡適配器的驅動程序,編譯完成以后就會得到一個完整的支持相應網(wǎng)卡的Linux內(nèi)核。

對于很多系統(tǒng)只能識別一個的網(wǎng)卡,將第二個以后的網(wǎng)卡參數(shù)寫在/etc/lilo.conf中是最佳做法,這里有一個系統(tǒng)中安裝呢4塊網(wǎng)卡,一個是PCI的RealTek 8139,另外3個是NE2000,這樣的話系統(tǒng)就識別8139網(wǎng)卡以后就不會自動識別后面的三個ISA卡,我們需要在/etc/lilo.conf中加上這樣一句:


append=-ether=3,0x240,eth1 ether=11,0x300,eth2 ether=4,0x260,eth3-

在編譯內(nèi)核的過程中,我們可以在Network option中選擇“optimize as router not host”,這樣系統(tǒng)就會按照路由器而不是主機的方式進行優(yōu)化,同時,還可以根據(jù)具體的需要選擇上“ Fast switching”和“ Forwarding between high speed interfaces”以及“ advanced router”。如果我們還計劃在這個機器上實現(xiàn)包過濾防火墻,那么選擇上“ firewalling”和“ IP: masquerading”以及與“IP MASQ”相關的選擇項。

注意查看開機的系統(tǒng)提示或者使用dmesg命令可以看到系統(tǒng)是不是正常識別并且啟動相應的網(wǎng)卡的驅動程序,在上面例子中提到的具有一個Realtek8139網(wǎng)卡,三個NE2000網(wǎng)卡的機器上我們能夠看到這樣的情況:


rtl8139.c:v1.07 5/6/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/r
tl8139.html
eth0: RealTek RTL8139 Fast Ethernet at 0x6000, IRQ 9, 00:e0:4c:dd:5f:85.
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x240: 00 40 05 1f 60 9a
eth1: NE2000 found at 0x240, using IRQ 3.
NE*000 ethercard probe at 0x300: 00 40 05 22 08 65
eth2: NE2000 found at 0x300, using IRQ 11.
NE*000 ethercard probe at 0x260: 00 40 05 23 59 0f
eth3: NE2000 found at 0x260, using IRQ 4.

然后是配置每個網(wǎng)絡端口的IP地址,當然我們可以使用操作系統(tǒng)的一些對話框來配置第一個網(wǎng)卡的參數(shù),但是一個有經(jīng)驗的網(wǎng)絡管理員一般是不這樣做的,因為這樣不能配置其他的網(wǎng)卡,我們必須學會用這個命令來配置第一塊網(wǎng)卡:


#ifconfig eth0 10.3.3.3 netmask 255.255.255.0 broadcast 10.3.3.255

第二塊網(wǎng)卡的名字就是eth1,其他依次是eth2,eth3等等。由于計算機體系結構的限制,在一個普通PC主板上只有一個PCI控制器,而一個PCI控制器最多只能同時支持4個PCI設備,當然某些專用服務器上可能有支持兩個以上的PCI控制器。ISA網(wǎng)卡的安裝受到系統(tǒng)中斷號的限制,單CPU的系統(tǒng)中只有16個可用的IRQ號,扣除硬盤、內(nèi)存、鍵盤、顯示卡等硬件已經(jīng)所剩無幾,所以一般也是安裝4個卡,當然,雙CPU的系統(tǒng)可以有256個中斷號可用,這樣就寬裕了許多。另外,我們還需要打開Linux系統(tǒng)的IP轉發(fā)開關,這一點非常容易,執(zhí)行這一條指令:


echo 1 > /proc/sys/net/ipv4/ip_forward

當然這些配置命令最好是放到/etc/rc.d/rc.local中,這樣就不用每次開機以后重新配置了。


共2頁: 1 [2] 下一頁
 第 1 頁:  第 2 頁:Linux實現(xiàn)路由器

熱詞搜索:

上一篇:EzVPN Client 完整配置
下一篇:讓路由器擺脫安全困擾的十條策略

分享到: 收藏
主站蜘蛛池模板: 谏逐客书电子课本图片| 骑脖子视频| 男同视频在线| 灰尘的旅行读书小报| 春娇与志明电影| 桑叶电影| 荒岛大逃亡电影| 坏孩子电影| 儿媳妇电视剧免费| 郑有杰| 战长沙每个人的结局| n开头的字| 美女下面流水| 奥特曼格斗进化重生破解版| 吉泽明步 番号| 李坤忆| 闺蜜之夏 电影| 7妹| 抗击 电影| 柏欣彤12点以后跳的广场舞| 天上人间电影| 坐月子吃什么| 女同版痴汉电车| 失落的星球| 寻梦记| 胎儿双顶径标准对照表| 禁忌的诱惑电影| 世界轮廓图| alexandra hedison| 中华战士| 五年级上册书法教案| 大内密探零零发演员表| 有档期是有空还是没空| 23号牛乃唐第一季电视剧免费观看| 等着你电影韩版| 抖音网页抖音| 云上的宝石| 夫妻的世界电影| xiee| 爱上特种兵电视剧免费观看完整版| 风在吹韩国电影|