- 論壇徽章:
- 0
|
給你提供一些配置雙網(wǎng)卡的資料............
免費(fèi)**********
友情支持你一下!
7.13. 配置網(wǎng)絡(luò)腳本
本節(jié)僅適用于需要配置網(wǎng)卡的情況。
如果不使用網(wǎng)卡,就不需要?jiǎng)?chuàng)建關(guān)聯(lián)網(wǎng)卡的配置文件,這樣的話,在所有運(yùn)行級(jí)目錄(/etc/rc.d/rc*.d) 下刪除 network 符號(hào)鏈接。
7.13.01. 創(chuàng)建網(wǎng)絡(luò)接口的穩(wěn)定名稱
這一段的說明對(duì)于單網(wǎng)卡是可選的。
由于 Udev 和網(wǎng)絡(luò)驅(qū)動(dòng)的模塊化,網(wǎng)絡(luò)設(shè)備的接口的加載順序在每次reboot后可能會(huì)不同,因?yàn)轵?qū)動(dòng)是并行加載的,所以順序會(huì)變成隨機(jī)。例如,在一臺(tái)計(jì)算機(jī)上有兩塊網(wǎng)卡Intel 和 Realtek。Intel 制造的網(wǎng)卡可能是 eth0,Realtelk 的網(wǎng)卡是 eth1;但是重啟后網(wǎng)卡的順序可能反過來。為避免這種情況,我們應(yīng)該根據(jù)網(wǎng)卡的MAC地址或總線位置來為他們命名。
如果想要根據(jù)MAC地址來識(shí)別網(wǎng)卡,可以使用如下命令:
grep -H . /sys/class/net/*/address
為每個(gè)網(wǎng)卡(除loopback),設(shè)計(jì)一個(gè)描述性的名字,比方 “realtek”, 然后參照如下建立Udev規(guī)則:
cat > /etc/udev/rules.d/26-network.rules << EOF
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:e0:4c:12:34:56", NAME="realtek"
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:a0:c9:78:9a:bc", NAME="intel"
EOF
如果要以總線位置作為標(biāo)準(zhǔn),可以創(chuàng)建如下的Udev規(guī)則:
cat > /etc/udev/rules.d/26-network.rules << EOF
ACTION=="add", SUBSYSTEM=="net", BUS=="pci", ID=="0000:00:0c.0", NAME="realtek"
ACTION=="add", SUBSYSTEM=="net", BUS=="pci", ID=="0000:00:0d.0", NAME="intel"
EOF
這個(gè)規(guī)則會(huì)把網(wǎng)卡名字每次都定為 “realtek” 和 “intel”, 以替代eth0和eth1 (即:原來的eth0和eth1接口不存在了除非把他們加到 NAME 下)。在下面的文件中我們使用描述性的名字來替代eth0 等。
需注明以上規(guī)則并不永遠(yuǎn)適用。例如, 當(dāng)VLAN 和 網(wǎng)橋 使用時(shí),以MAC為基準(zhǔn)的命名就會(huì)出問題。由于 VLAN 和 網(wǎng)橋在網(wǎng)卡上有相同的MAC地址。如果只想重新命名網(wǎng)卡接口,而不是brige和VLAN接口,但是規(guī)則都會(huì)匹配它們。如果使用虛擬接口,我們會(huì)有兩種解決辦法。其一是把 DRIVER=="?*" 關(guān)鍵字加在 SUBSYSTEM=="net" 后。但這種方法對(duì)于一些老型號(hào)的網(wǎng)卡不起作用,因?yàn)檫@些網(wǎng)卡的 uevent 中沒有 DRIVER 變量,因此按規(guī)則就不可能匹配到這些卡。 另外一種就是以總線位置命名。
另外一種已知的不能工作的情況存在于無線網(wǎng)絡(luò)中,當(dāng)應(yīng)用MadWifi 或 HostAP 驅(qū)動(dòng)時(shí), 他們會(huì)以相同的MAC地址和總線位置創(chuàng)建至少兩個(gè)接口。例如,Madwifi 驅(qū)動(dòng)會(huì)創(chuàng)建一個(gè) athX 和 wifiX 接口(X是一個(gè)數(shù)字)。為區(qū)別這些接口,可以把 KERNEL 參數(shù),比如 KERNEL=="ath*" 加到 SUBSYSTEM=="net"后。
可能還有很多情況會(huì)導(dǎo)致不能正常工作,現(xiàn)在這方面的 bug 仍然不斷的報(bào)告給 Linux 的各個(gè)發(fā)布版,沒有一個(gè)解決方法可以解決所有的情況。
7.13.02. 創(chuàng)建網(wǎng)絡(luò)接口配置文件
network 腳本啟用或關(guān)閉哪個(gè)接口由 /etc/sysconfig/network-devices 目錄下的文件決定,這個(gè)目錄下的文件應(yīng)該是類似于 ifconfig.xyz 的形式,這里"xyz"是網(wǎng)絡(luò)接口名(例如 eth0 或者 eth0:1)。這個(gè)目錄中的文件將定義接口的屬性,比如IP地址、子網(wǎng)掩碼等等。
在這個(gè)目錄下新建文件,下面是一個(gè)為 eth0 設(shè)備創(chuàng)建 ipv4 文件的示例:
cd /etc/sysconfig/network-devices &&
mkdir -v ifconfig.eth0 &&
cat > ifconfig.eth0/ipv4 << "EOF"
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
每個(gè)文件中的這些變量的值都要改成您的設(shè)置,如果 ONBOOT 變量設(shè)置為"yes",network 腳本會(huì)在系統(tǒng)啟動(dòng)的時(shí)候啟動(dòng) NIC(Network Interface Card 網(wǎng)絡(luò)接口卡,簡(jiǎn)稱網(wǎng)卡),如果設(shè)置為"yes"以外的值,網(wǎng)卡會(huì)被 network 腳本忽略而沒有啟動(dòng)。
SERVICE 變量定義獲取 IP 地址的方式,LFS-Bootscripts 有一套模塊化的 IP 地址分配格式,并在 /etc/sysconfig/network-devices/services 目錄下為其它的 IP 分配方式創(chuàng)建了附加的文件,這通常用作 DHCP(Dynamic Host Configuration Protocol 動(dòng)態(tài)主機(jī)配置協(xié)議)方式,在 BLFS 里有詳細(xì)介紹。
GATEWAY 變量應(yīng)該設(shè)置為默認(rèn)網(wǎng)關(guān)的 IP 地址,如果沒有默認(rèn)網(wǎng)關(guān),就把這個(gè)變量完全注釋掉。
PREFIX 變量設(shè)置為子網(wǎng)使用的位數(shù),IP 地址的每個(gè)字節(jié)是 8 bit ,如果子網(wǎng)掩碼是 255.255.255.0 ,那么它使用前三個(gè)字節(jié)(24 bit)指定網(wǎng)絡(luò)號(hào);如果網(wǎng)絡(luò)掩碼是 255.255.255.240 ,它用前 28 bit 來指定網(wǎng)絡(luò)號(hào)。長(zhǎng)于 24 bit 的前綴一般由 DSL 和 cable 的 ISP(Internet Service Providers 因特網(wǎng)服務(wù)提供商)使用,我們的例子里(PREFIX=24),子網(wǎng)掩碼是 255.255.255.0 ,請(qǐng)根據(jù)您的網(wǎng)絡(luò)情況調(diào)整 PREFIX 變量。
[ 本帖最后由 青銅鏡 于 2007-4-26 17:58 編輯 ] |
|