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 は、eth0eth2 など、デバイスが設定される時にデバイスドライバーによりネットワーキングインターフェイスに 与えられる名前です。
  • /etc/chandev.conf はなくなりました。
    sys ファイルシステムには /etc/chandev.conf に格納されていた情報が含まれるようになります。
  • /etc/modules.conf はなくなりました。
    ネットワークインターフェースのエイリアス指定は /etc/modprobe.conf に格納されるようになります。
qeth デバイスを追加する」 describes in detail how to add a qeth device to an existing instance of Red Hat Enterprise Linux. 「ネットワークデバイスの追加に関するクィックリファレンス」 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 (『デバイス、 ドライバー、特長、コマンド - 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 アドレスを反映するよう修正します。
必要に応じて NETMASK の記述を修正します。
新しいインターフェースが起動時にアクティブになるようにする場合は、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 して変更を確認します。
# 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 も更新する必要があります。