在FreeBSD中安裝雙網(wǎng)卡實(shí)例
2024-07-26 00:29:20
供稿:網(wǎng)友
當(dāng)我們使用FreeBSD作網(wǎng)關(guān)或防火墻時(shí),會(huì)要求在系統(tǒng)中安裝兩塊網(wǎng)卡,分別跨越兩個(gè)網(wǎng)絡(luò), 一塊卡用于外部網(wǎng)絡(luò),而另一塊用于內(nèi)部網(wǎng)絡(luò)。好了,就象大家知道的那樣,現(xiàn)在需要讓系 統(tǒng)支持這些新設(shè)備,而對(duì)于網(wǎng)絡(luò)適配器,F(xiàn)reeBSD是通過(guò)定制內(nèi)核來(lái)支持的。當(dāng)然,首先要讓 內(nèi)核了解設(shè)備所用的硬件資源,對(duì)于使用PCI接口的網(wǎng)卡,我只能說(shuō),擁有高科技真是幸福, 因?yàn)檫@類(lèi)網(wǎng)卡在PCI PnP BOIS的支持下,只要在內(nèi)核中多添一個(gè)設(shè)備配置就可在新內(nèi)核引導(dǎo) 時(shí)自動(dòng)檢測(cè)并啟動(dòng);而對(duì)于ISA的卡,就沒(méi)有這樣簡(jiǎn)單了,不過(guò)只要去PnP用jumpless模式, 用卡所帶的設(shè)置程序設(shè)好適當(dāng)?shù)馁Y源,就可以在內(nèi)核中用相應(yīng)的配置來(lái)通知系統(tǒng)在引導(dǎo)時(shí)按 這樣的資源來(lái)啟動(dòng)設(shè)備。
我們來(lái)看看具體步驟:
1、定制新內(nèi)核以適應(yīng)新設(shè)備
這里有一個(gè)問(wèn)題需要注意一下,眾所周知,定制內(nèi)核至少需要在系統(tǒng)上安裝原代碼中的"內(nèi) 核原代碼"(FreeBSD Kernel Sources)部分,先前沒(méi)有安裝的可以用 /stand/sysinstall添 加這部分。
對(duì)于PCI網(wǎng)卡,例如你用的是Realtek 8139,可以在內(nèi)核配置文件中添加一行:
device de0 <---- 你原有的DC21040 Ethernet adapters
device rl0 <---- 新加入的Realtek 8139,因?yàn)槭荘CI卡,系統(tǒng)會(huì)自動(dòng)檢測(cè)卡資源
對(duì)于ISA網(wǎng)卡,例如你用的是NE2000兼容卡,同樣在內(nèi)核配置文件中添加與已設(shè)定資源相符合的描述行:
device de0 <---- 你原有的DC21040 Ethernet adapters
device ed0 at isa? port 0x300 net irq 3 iomem 0xd8000 vector edintr
上面第二行是新加入的NE2000兼容網(wǎng)卡,因?yàn)槭荌SA卡,所以一定要指定卡所用的資源以便 系統(tǒng)可以在引導(dǎo)時(shí)檢測(cè)到??赡苣銜?huì)問(wèn),如果用的都是同樣芯片類(lèi)型的卡,該如何配置呢?
可以這樣做:
device ed0 at isa? port 0x300 net irq 3 iomem 0xd8000 vector edintr
device ed1 at isa? port 0x320 net irq 10 iomem 0xd8000 vector edintr
可以看到,有多個(gè)同樣類(lèi)型的設(shè)備時(shí),按照UNIX的編號(hào)習(xí)慣依次就是ed0、ed1……。不過(guò), 在上面的配置中兩塊卡的BOOTROM資源會(huì)發(fā)生沖突,但不影響啟動(dòng),你可以根據(jù)情況用卡所 帶設(shè)置程序把它們適當(dāng)設(shè)開(kāi)即可。
此時(shí)已經(jīng)按要求定制好了新的內(nèi)核配置,現(xiàn)在就可以按FreeBSD handbook中的描述把新內(nèi)核 編譯并安裝好。編譯工作一切順利的話(huà)我們的系統(tǒng)就已經(jīng)支持了新的網(wǎng)卡設(shè)備,接下來(lái)就是為新網(wǎng)卡配置相應(yīng)的網(wǎng)絡(luò)接口。
2、添加新網(wǎng)絡(luò)接口
比較簡(jiǎn)單直觀的方法是用/stand/sysinstall來(lái)對(duì)新設(shè)備配置新接口的一系列參數(shù),當(dāng)然BSD 的傳統(tǒng)方法是以修改相應(yīng)的配置文件來(lái)達(dá)到目的的,編輯/etc/rc.conf:
hostname="example.host.net"
network_interfaces="ed0 ed1 lo0"
~~~在這里加入新的網(wǎng)絡(luò)接口以便在引導(dǎo)時(shí)用后面ifconfig配置的
參數(shù)進(jìn)行初始化
ifconfig_ed0="inet 192.168.0.1 netmask 255.255.255.0" #原有的網(wǎng)絡(luò)接口參數(shù)
ifconfig_ed1="inet 192.168.1.1 netmask 255.255.255.0" #新網(wǎng)絡(luò)接口參數(shù)
defaultroute="xxx.xxx.xxx.xxx" #原有的網(wǎng)絡(luò)默認(rèn)路由
好了,安裝雙網(wǎng)卡的工作就完成了,以后可以根據(jù)具體使用情況自行配置NAT、GATEWAY等東東了。