大橋のページ

iproute2+tcを使って1台で複数インターネット接続

1 複数のインターネット接続
2 インタフェースとルーティングテーブル
3 ifconfigとrouteコマンド
4 Linuxカーネルのコンパイル 1
5 Linuxカーネルのコンパイル 2
6 iproute2+tcのインストール
7 ipコマンドでインタフェースの登録
8 ipコマンドでルーティング設定
9 namedをインタフェースごとに起動する
10 sendmailをインタフェースごとに起動する

7 ipコマンドを使ってインタフェースを登録する

ipコマンドを使ってインタフェースを登録する

インストールされたipコマンドは、これまでのifconfigコマンドとrouteコマンドを足して、さらに拡張したようなコマンドです。インタフェースの登録をしますが、ここではRedHat Linuxが起動時にシェルスクリプトを使って自動的に登録するさまざまな設定をいったん無効にすることにします(ただし、以降で説明するルーティングテーブルの登録で、「main」よりも前のprefとして登録すれば、無効にまでする必要はないかとも思えます。未確認です)。

まず、「/etc/sysconfig/network」を

NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=yellow.hyperdyne.co.jp
DOMAINNAME=hyperdyne.co.jp
#GATEWAY=210.160.79.97
#GATEWAYDEV=eth1 

として、GATEWAYの設定を無効にします。「/etc/sysconfig/network-scripts」ディレクトリ内にある「ifcfg-eth0」ほかインタフェース定義ファイルをすべて(ループバックデバイス用の「ifcfg-lo」はのぞく)リネームして、起動時に読み込まれないようにします。

# mv ifcfg-eth0 ifcfg-eth0.org
# mv ifcfg-eth1 ifcfg-eth1.org
# mv ifcfg-eth2 ifcfg-eth2.org

こうしてから再起動します(再起動しなくてもコマンドを使って目的を達することもできますが、再起動できるのなら、再起動したほうが簡単です)。起動後のルーティングテーブルは、

# /sbin/route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
127.0.0.0       *               255.0.0.0       U     0      0        0 lo

ループバックデバイスのみある状態になります。ここからifconfigのかわりにipコマンドを使ってデバイスを登録してゆきます。

# ip link set eth0 up
# ip addr add 192.168.1.1/24 broadcast 192.168.1.255 label eth0 dev eth0
# ip link set eth1 up
# ip addr add 210.160.79.98/28 broadcast 210.160.79.111 label eth1 dev eth1
# ip link set eth2 up
# ip addr add 210.163.168.151/28 broadcast 210.163.168.159 label eth2 dev eth2

これでインタフェースがそれぞれ起動し、それぞれIPアドレスとブロードキャストが設定されます。

# ip link set eth0 up

「eth0」はデバイス名です。「up」はインタフェースを起動するオプションで、無効にするには「down」を使います。「ip link set help」とするとヘルプが表示されます。

# /sbin/ip link set help
Usage: ip link set DEVICE { up | down | arp { on | off } |
                             dynamic { on | off } |
                             multicast { on | off } | txqueuelen PACKETS |
                             name NEWNAME |
                             address LLADDR | broadcast LLADDR |
                             mtu MTU }
       ip link show [ DEVICE ]

「ip addr add」以下は、ifconfigコマンドと似た感じでIPアドレスとブロードキャストアドレス、ラベル名、デバイス名を指定してゆきます。

# ip addr add 192.168.1.1/24 broadcast 192.168.1.255 label eth0 dev eth0

IPアドレスには「/」に続けてサブネットマスクを指定します。ここでは、「255.255.255.0」を意味する「24」を指定しています。「255.255.255.240」なら「28」になります。

著作権、商標等について (C) 2000 HyperDyne Inc.