ネットワークカードを2枚挿す

First Edition 2001.4.22
Last Modified 2003.5.1

我が家ではケーブルインターネットを使っています。インターネットに繋げたいコンピュータは数台あるのですが、 ケーブルインターネットに直接繋げられるのは1台のみです。そこで、IPマスカレードを行ない、家庭内でパソコ ンを何台でも繋げられるようにします。したがってケーブルインターネットに繋げるLinuxマシンをゲートウェイ にする為にネットワークカードを2枚挿さなくてはいけません。とりあえず、2枚のネットワークカードを認識さ せましょう。ここでは2枚ともローカルアドレスを割り当てます。
  1. 設定ファイルを直接編集する(対象Ver:全て)(2003.5.1)
  2. linuxconfを使う(対象Ver:全て)(2001.4.22)
  3. 設定ファイル内容一覧(対象Ver:全て)(2001.4.22)

設定ファイルを直接編集する

■ 1枚目(eth0)
1枚目の設定はネットワークカードを設定するを参照して下さい。

■ 2枚目(eth1)
  • 2枚目(eth1)のネットワークカードがPCIバス用であれば、kudzuというプログラムにより起動時 に自動認識されます。自動認識された時は、IPアドレスなどの設定は行なわず認識だけさせるようにしました。 設定は後からゆっくり行なおうと思ったからです。
  • 2枚目(eth1)のネットワークカードがISAバス用であれば、自動認識はされません。起動した後、以下のように conf.modulesを編集します。
1枚目(eth0)がPCIカード、2枚目(eth1)がISAカードの場合
/etc/conf.modules
alias eth0 ne2k-pci
alias eth1 ne
options eth1 io=0x300 irq=10
1枚目(eth0)の設定です。PCIカードなので、この行のみです(カードにあったモジュールを選択して下さい)
2枚目(eth1)の設定です。ISAカードなので、I/O、IRQの値も設定します。(カードにあったモジュールを選択して下さい)

2枚ともPCIカードの場合
/etc/conf.modules
alias eth0 ne2k-pci
alias eth1 via-rhine
1枚目(eth0)、2枚目(eth1)もPCIカードならば、この例のように自動認識により設定されているはずです。 (カードにあったモジュールを選択して下さい)
自動認識されなかった場合、上記のように設定します。

それでは2枚目のカードにネットワーク値を設定します。
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
BOOTPROTO=no
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.1
2枚目なので、"eth1"です

以上2つのファイル(conf.modulesifcfg-eth1)を編集、 または確認したらネットワークを再起動して下さい。カードが認識されるはずです。
# /etc/rc.d/init.d/network restart
私のところでは、以下のように認識されました。

$ dmesg | more
<省略>
ne2k-pci.c:vpre-1.00e 5/27/99 D. Becker/P. Gortmaker http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
ne2k-pci.c: PCI NE2000 clone 'RealTek RTL-8029' at I/O 0xb800, IRQ9.
eth0: RealTek RTL-8029 found at 0xb800, IRQ 9, 00:90:CC:A0:9B:8C.
via-rhine.c:v1.01 2/27/99  Written by Donald Becker
; http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html
eth1: VIA VT3043 Rhine at 0xd000, 00:90:99:16:6f:34, IRQ 9.
eth1: MII PHY found at address 8, status 0x782d advertising 05e1 Link0000.
PCI latency timer (CFLT) is unreasonably low at 32.  Setting to 64 clocks.
<省略>
1枚目のPCIカードの認識です。

"ne2k-pci"ドライバを使っています。 "RealTekRTL-8029"というチップを使ったカードです。

2枚目のPCIカードの認識です。"via-rhine"ドライバを使っています。
"VT3043"をいうチップを使ったカードです。

$ su
# /sbin/ifconfig -a
eth0  リンク方法:イーサーネット ハードウェアアドレス 00:90:CC:A0:9B:8C
    inetアドレス:192.168.1.10 ブロードキャスト:192.168.1.255 マスク:255.255.255.0
    inet6アドレス:fe80::290:ccff:fea0:9b8c/10 範囲:リンク
    UP BROADCAST RUNNING MTU:1500 Metric:1
    RXパケット:624 エラー:0 損失:0 オーバラン:0 フレーム:0
    TXパケット:621 エラー:0 損失:0 オーバラン:0 キャリア:0
    衝突(Collisions):0 TXキュー長:100
    割り込み:9 ベースアドレス:0xb800
eth1  リンク方法:イーサーネット ハードウェアアドレス 00:90:99:16:6F:34
    inetアドレス:192.168.1.1 ブロードキャスト:192.168.1.255 マスク:255.255.255.0
    inet6アドレス:fe80::290:99ff:fe16:6f34/10 範囲:リンク
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RXパケット:624 エラー:0 損失:0 オーバラン:0 フレーム:0
    TXパケット:579 エラー:0 損失:0 オーバラン:0 キャリア:0
    衝突(Collisions):46 TXキュー長:100
    割り込み:9 ベースアドレス:0xd000
lo  リンク方法:ローカルループバック
     inetアドレス:127.0.0.1マスク:255.0.0.0
     inet6アドレス:::1/128 範囲:ホスト
     UP LOOPBACK RUNNING MTU:3924 Metric:1
     RXパケット:948 エラー:0 損失:0 オーバラン:0 フレーム:0
     TXパケット:948 エラー:0 損失:0 オーバラン:0 キャリア:0
     衝突(Collisions):0 TXキュー長:0


1枚目のカードが認識されています。







2枚目のカードが認識されています。

linuxconfを使う

linuxconfを起動しましょう。コンソールで以下のように入力します。
# /bin/linuxconf &
起動したら、[基本ホスト情報]の項目の[アダプタ2]をクリックします。



2枚目のカードを設定します。例として、プライベートアドレスを指定します。

■ISAカードの場合
  • IPアドレスに192.168.1.1を設定します。
  • ネットマスクを選択します。255.255.255.0を選択します。
  • ネットデバイスはeth1を選択します。
  • カーネルモジュールは、neを選択します。(カードにあったモジュールを選択して下さい)
  • IOポートに0x300を設定します。
  • IRQに10を設定します。
■PCIカードの場合
  • IPアドレスに192.168.1.1を設定します。
  • ネットマスクを選択します。255.255.255.0を選択します。
  • ネットデバイスはeth1を選択します。
  • カーネルモジュールは、via-rhineを選択します。(カードにあったモジュールを選択して下さい)
以上で、設定は終りです。ネットワークを再起動して認識されているか確認しましょう。

設定ファイル内容一覧

2枚のネットワークカードを使う場合の設定ファイルは以下のようになりました。

/etc/sysconfig/network(ネットワーク全般の設定)
NETWORKING=yes
HOSTNAME=lucky
GATEWAY=
GATEWAYDEV=

/etc/conf.modules(2枚ともPCIカードの例です)
alias parport_lowlevel parport_pc
alias eth0 ne2k-pci
alias eth1 via-rhine

/etc/sysconfig/network-scripts/ifcfg-eth0(ネットワークカード1枚目の設定)
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=no
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.10

/etc/sysconfig/network-scripts/ifcfg-eth1(ネットワークカード2枚目の設定)
DEVICE=eth1
USERCTL=no
ONBOOT=yes
BOOTPROTO=no
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.1


[HOME]
since 2001.4.22