Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
22.6. 加入網路裝置
新網路裝置的過程跟過去大相逕庭。這是因為核心已經從 2.4 版升級到 2.6 版:
proc
檔案系統不再用來控制網路裝置,或顯示網路裝置的狀態。- 新的
sys
檔案系統提供了控制裝置的機制。 - 現在
/sys/class/net/interface_name/device
提供了運作中裝置的狀態。interface_name
這名稱就像eth0
或eth2
一樣,在設定裝置時,由驅動程式授予網路介面。 /etc/chandev.conf
不復存在。現在,sys
檔案系統包含了之前在/etc/chandev.conf
中被取代的資訊。/etc/modules.conf
不復存在。網路介面的別名規格,現在置於/etc/modprobe.conf
中。
節 22.6.1, “加入
qeth
裝置” describes in detail how to add a qeth device to an existing instance of Red Hat Enterprise Linux. 節 22.6.2, “加入網路裝置的快速指引” is a quick reference for installing other IBM System z network interfaces.
22.6.1. 加入 qeth
裝置
首先先看看
qeth
裝置的驅動程式模組是否已經載入。
# lsmod | grep qeth qeth 135240 0 qdio 45360 2 qeth ipv6 303984 13 qeth ccwgroup 15104 1 qeth
如果
lsmod
指令顯示模組尚未被載入,請執行 modprobe
載入這些模組:
# modprobe qeth
接下來,建立
qeth
群組裝置。
# echo read_device_bus_id,write_device_bus_id, data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
Due to the length of this command, it has been broken into two lines.
再接下來的例子中,read_device_bus_id 是 0.0.0600,write_device_bus_id 是 0.0.0601,同時 data_device_bus_id 是 0.0.0602。這裝置是 z/VM 虛擬網路卡,我們打算使用的 IP 位址是 192.168.70.69。
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
接下來,確定
qeth
群組裝置是否建立正確。
# ls /sys/bus/ccwgroup/drivers/qeth 0.0.0600 0.0.09a0 group notifier_register
您可以選擇是否要加入一個連接埠名稱。首先,先確定是否有使用連接埠名稱的必要。
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname no portname required
這訊息表示您不需要提供連接埠名稱。
要加入連接埠名稱,請先確定裝置都已離線,然後使用以下指令:
注意
當您加入連接埠名稱時,裝置一定要離線。
# echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
接下來,讓裝置重新上線:
# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
並檢查裝置的狀態:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online1
A return value of "1" indicates that the device is online, while a return value '0' indicates that the device is offline.
檢查裝置是否已經指定了介面名稱:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name eth1
要改變
if_name
的值,請使用以下指令:
# echo new_if_name > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
您可以選擇性地設定額外參數與功能,視您設定系統的方式與所需要的功能而定。
add_hhlen
broadcast_mode
buffer_count
canonical_macaddr
card_type
checksumming
chpid
detach_state
fake_broadcast
fake_ll
ipa_takeover
portno
priority_queueing
recover
route4
rxip
state
ungroup
vipa
欲了解這些功能的使用資訊,請參照 http://www-128.ibm.com/developerworks/linux/linux390/october2005_documentation.html#3(Device Drivers, Features, and Commands - SC33-8289-02)。
現在您得為新介面建立設定檔。網路介面的設定檔都位於
/etc/sysconfig/network-scripts/
目錄下。
這些網路設定檔的命名方式為 ifcfg-device,其中的 device 是位於稍早建立的 qeth 群組裝置中,
if_name
檔案裡的值;這例子中是 eth1
。
如果另一個裝置的同名檔案已經存在,那麼最簡單的方式,就是給這檔案一個新名稱。
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
如果您沒有事先定義好的類似檔案,您就必須建立新檔。請使用這個
ifcfg-eth0
例子為樣板,建立您所需的檔案。
/etc/sysconfig/network-scripts/ifcfg-eth0 # IBM QETH DEVICE=eth0 BOOTPROTO=static HWADDR=00:06:29:FB:5F:F1 IPADDR=9.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 TYPE=Ethernet
編輯新的
ifcfg-eth1
檔案。
暫時移除 HWADDR 那一行。
修改 DEVICE 敘述,以反映您 ccwgroup 中的
if_name
檔案內容。
修改 IPADDR 敘述,以反映您新介面的 IP 位址。
如果需要的話,一併修改網路遮罩敘述。
如果您希望開機的時候一併啟動,那麼請將 ONBOOT 一欄設為
yes
。
確定 SUBCHANNELS 敘述跟您
qeth
裝置的硬體位址相同。
/etc/sysconfig/network-scripts/ifcfg-eth1 # IBM QETH DEVICE=eth1 BOOTPROTO=static IPADDR=192.168.70.87 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 TYPE=Ethernet
您需要為
qeth
裝置設定一個別名,並紀錄在 /etc/modprobe.conf
中。請編輯這檔案,加入介面的別名。
/etc/modprobe.conf alias eth0 qeth alias eth1 qeth options dasd_mod dasd=0.0.0100,0.0.4b19
現在您可以啟動新介面:
# ifup eth1
檢查這介面的狀態:
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 02:00:00:00:00:01 inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 inet6 addr: fe80::ff:fe00:1/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:644 (644.0 b) TX bytes:264 (264.0 b)
請留意
ifconfig
執行結果中,第一行的 HWaddr
欄位。請把這欄位之後的值加到 ifcfg-eth1
檔案中,底下這行是個範例:
HWADDR=02:00:00:00:00:01
現在
ifcfg-eth1
看起來如下:
# IBM QETH DEVICE=eth1 HWADDR=02:00:00:00:00:01 BOOTPROTO=static IPADDR=192.168.70.69 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 TYPE=Ethernet
檢查新介面的路由資訊:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.70.0 * 255.255.255.0 U 0 0 0 eth1 9.12.20.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default pdlrouter-if5.p 0.0.0.0 UG 0 0 0 eth0
請使用
ping
指令看是否能接觸到閘道器,以驗證您的改變是否正確:
# ping -c 1 192.168.70.8 PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data. 64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
如果預設的路徑資訊改變,請一併更新
/etc/sysconfig/network
。