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
设备” 详细描述了如何将 qeth 设备添加到 Red Hat Enterprise Linux 的现有实例中。第 22.6.2 节 “添加网络设备的快速参考” 是安装其他 IBM System z 网络接口的快速参考。
22.6.1. 添加 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
首先,决定
qeth
设备驱动程序模块是否被加载。
lsmod | grep qeth
# lsmod | grep qeth
qeth 135240 0
qdio 45360 2 qeth
ipv6 303984 13 qeth
ccwgroup 15104 1 qeth
如果 lsmod 命令的输出显示模块没有被加载,您必须运行 modprobe 命令来加载它们:
modprobe qeth
# modprobe qeth
接下来,创建一个
qeth
组设备。
echo read_device_bus_id,write_device_bus_id,
# echo read_device_bus_id,write_device_bus_id,
data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
由于此命令的长度,它已被分为两行。
在以下示例中,read_device_bus_id 是 0.0.0600,写入_device_bus_id 是 0.0.0601,data_device_bus_id 为 0.0.0602。设备是 z/VM 虚拟 NIC,分配给此接口的 IP 地址是 192.168.70.69。
echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
下一步,验证
qeth
组设备是否已正确创建:
ls /sys/bus/ccwgroup/drivers/qeth
# ls /sys/bus/ccwgroup/drivers/qeth
0.0.0600 0.0.09a0 group notifier_register
您可以选择添加 portname。首先,您必须检查是否需要端口名称:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname no portname required
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
no portname required
响应表明您不需要提供 portname。
要添加端口名称,请检查设备是否离线,然后运行以下命令:
备注
添加 portname 时,设备必须离线。
echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
# echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
接下来,让设备恢复在线:
echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
然后确认该设备状态:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online 1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
1
返回值为 "1" 表示设备在线,返回值 '0' 表示设备离线。
检查分配给该设备的接口名称:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name eth1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
eth1
根据您的系统设置方式以及您所需的功能,您可以选择设置附加参数和功能。
add_hhlen
broadcast_mode
buffer_count
canonical_macaddr
checksumming
detach_state
fake_broadcast
fake_ll
ipa_takeover
portno
priority_queueing
恢复
route4
rxip
ungroup
vipa
有关这些功能如何工作的信息,请参阅 http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SC33-8289-02 (设备驱动程序、功能和命令 - SC33-8289-02)。
现在,您需要为新接口创建配置文件。网络接口配置文件放置在
/etc/sysconfig/network-scripts/
中。
网络配置文件使用命名规则 ifcfg-设备,其中 device 是之前创建的 qeth 组设备的
if_name
文件中的值。在本例中,它是 eth1
。
如果已定义了相同类型的另一个设备的现有配置文件,最简单的解决方案是将其复制到新名称。
cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ifcfg-eth1
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth1
如果您没有定义类似的设备,则必须创建一个。使用
ifcfg-eth0
示例作为模板。
编辑新的
ifcfg-eth1
文件。
现在,删除 HWADDR 行。
修改 DEVICE 声明以反映您的 ccwgroup 中的
if_name
文件的内容。
修改 IPADDR 声明以反映您的新接口的 IP 地址。
根据需要修改 NETMASK 声明。
如果您希望在引导时激活新接口,请确保将 ONBOOT 设置为
yes
。
请确定 SUBCHANNELS 声明与您的
qeth
设备的硬件地址匹配。
qeth
设备需要在 /etc/modprobe.conf
中定义一个别名定义。编辑此文件并为接口添加一个别名。
/etc/modprobe.conf alias eth0 qeth alias eth1 qeth options dasd_mod dasd=0.0.0100,0.0.4b19
/etc/modprobe.conf
alias eth0 qeth
alias eth1 qeth
options dasd_mod dasd=0.0.0100,0.0.4b19
现在您可以启动新的接口:
ifup eth1
# ifup eth1
检查接口的状态:
请注意,ifconfig 命令输出第一行中的
HWaddr
字段。必须添加到 ifcfg-eth1
文件后的值。在该文件中添加类似如下的行:
HWADDR=02:00:00:00:00:01
HWADDR=02:00:00:00:00:01
现在
ifcfg-eth1
类似如下:
检查新接口的路由:
使用 ping 命令验证您的更改:
ping -c 1 192.168.70.8
# 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
。