歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> BSD

在FreeBSD中安裝雙網卡實例


當我們使用FreeBSD作網關或防火牆時,會要求在系統中安裝兩塊網卡,分別跨越兩個網絡,
一塊卡用於外部網絡,而另一塊用於內部網絡。好了,就象大家知道的那樣,現在需要讓系
統支持這些新設備,而對於網絡適配器,FreeBSD是通過定制內核來支持的。當然,首先要讓
內核了解設備所用的硬件資源,對於使用PCI接口的網卡,我只能說,擁有高科技真是幸福,
因為這類網卡在PCI PnP BOIS的支持下,只要在內核中多添一個設備配置就可在新內核引導
時自動檢測並啟動;而對於ISA的卡,就沒有這樣簡單了,不過只要去PnP用jumpless模式,
用卡所帶的設置程序設好適當的資源,就可以在內核中用相應的配置來通知系統在引導時按
這樣的資源來啟動設備。我們來看看具體步驟:
1、定制新內核以適應新設備
這裡有一個問題需要注意一下,眾所周知,定制內核至少需要在系統上安裝原代碼中的"內
核原代碼"(FreeBSD Kernel Sources)部分,先前沒有安裝的可以用 /stand/sysinstall添
加這部分。
對於PCI網卡,例如你用的是Realtek 8139,可以在內核配置文件中添加一行:
device de0 <---- 你原有的DC21040 Ethernet adapters
device rl0 <---- 新加入的Realtek 8139,因為是PCI卡,系統會自動檢測
卡資源
對於ISA網卡,例如你用的是NE2000兼容卡,同樣在內核配置文件中添加與已設定資源相符
合的描述行:
device de0 <---- 你原有的DC21040 Ethernet adapters
device ed0 at isa? port 0x300 net irq 3 iomem 0xd8000 vector edintr
上面第二行是新加入的NE2000兼容網卡,因為是ISA卡,所以一定要指定卡所用的資源以便
系統可以在引導時檢測到。可能你會問,如果用的都是同樣芯片類型的卡,該如何配置呢?
可以這樣做:
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
可以看到,有多個同樣類型的設備時,按照UNIX的編號習慣依次就是ed0、ed1……。不過,
在上面的配置中兩塊卡的BOOTROM資源會發生沖突,但不影響啟動,你可以根據情況用卡所
帶設置程序把它們適當設開即可。
此時已經按要求定制好了新的內核配置,現在就可以按FreeBSD handbook中的描述把新內核
編譯並安裝好。編譯工作一切順利的話我們的系統就已經支持了新的網卡設備,接下來就是
為新網卡配置相應的網絡接口。
2、添加新網絡接口
比較簡單直觀的方法是用/stand/sysinstall來對新設備配置新接口的一系列參數,當然BSD
network_interfaces="ed0 ed1 lo0"
~~~在這裡加入新的網絡接口以便在引導時用後面ifconfig配置的
參數進行初始化
ifconfig_ed0="inet 192.168.0.1 netmask 255.255.255.0" #原有的網絡接口參數
ifconfig_ed1="inet 192.168.1.1 netmask 255.255.255.0" #新網絡接口參數
defaultroute="xxx.xxx.xxx.xxx" #原有的網絡默認路由
好了,安裝雙網卡的工作就完成了,以後可以根據具體使用情況自行配置NAT、GATEWAY等東東
了。
Copyright © Linux教程網 All Rights Reserved