22.6. Добавление сетевого устройства

Процесс добавления сетевого устройства значительно изменен. Основной причиной этого является миграция от ядра 2.4 к ядру 2.6:
  • Файловая система proc больше не используется для осуществления контроля или проверки статуса сетевых устройств.
  • Новая файловая система sys обеспечивает функциональность контролирующих устройств.
  • /sys/class/net/интерфейс/device проверяет статус активных устройств.
    Примерами значения интерфейс могут служить 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 виртуальный NIC. 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-устройство, где "устройство" — значение из файла if_name групповых устройств qeth. В данном примере — 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 в зависимости от содержимого файла if_name группы ccwgroup.
Измените IPADDR в зависимости от IP адреса нового интерфейса.
Измените NETMASK при необходимости.
При желании можно настроить активацию интерфейса при загрузке путем установки ONBOOT в yes.
Проверьте соответствие адресов оборудования устройства qeth и определения SUBCHANNELS.
/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)
Обратите внимание на поле HWaddr в первой строке вывода команды ifconfig. Следующее за ним значение должно быть добавлено в файл 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 соответствующим образом.