up

NIC eth0 ... alias

計算機に NIC (Network Interface Card) を2個 取り付けた場合 起動時に 特定する事ができない事が有ります。最初は うまく動作して いたのだが 、ある日突然 ? 断線 相手が 停止?? と慌てる 場合が有ります。

ifconfig

root にて

sv:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:CC:08:95:7C  
          inet addr:192.168.0.9  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:83 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8728 (8.5 Kb)  TX bytes:8081 (7.8 Kb)
          Interrupt:10 Base address:0x7400 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:60 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4200 (4.1 Kb)  TX bytes:4200 (4.1 Kb)

してみると 現在の 状況を 見る事ができます。root にて ifconfig -a

sv:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:90:CC:08:95:7C  
          inet addr:192.168.0.9  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:95 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11548 (11.2 Kb)  TX bytes:12237 (11.9 Kb)
          Interrupt:10 Base address:0x7400 

eth1      Link encap:Ethernet  HWaddr 00:00:E2:13:92:57  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:11 Base address:0x9000 Memory:5400000-5400038 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:60 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4200 (4.1 Kb)  TX bytes:4200 (4.1 Kb)

認識されている NIC カード も 表示されます。”arp”というものが有りま す ちょっと 見てみましょう

lx:~# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
adsl.bcnet.ne.jp         ether   00:00:4C:BC:15:B8   C                     eth0
$ ping -c3 192.168.0.8
PING 192.168.0.8 (192.168.0.8): 56 octets data
64 octets from 192.168.0.8: icmp_seq=0 ttl=64 time=0.5 ms
64 octets from 192.168.0.8: icmp_seq=1 ttl=64 time=0.2 ms
64 octets from 192.168.0.8: icmp_seq=2 ttl=64 time=0.2 ms

--- 192.168.0.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.5 ms
# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
nl.bcnet.ne.jp           ether   00:00:E2:1A:A4:E7   C                     eth0
adsl.bcnet.ne.jp         ether   00:00:4C:BC:15:B8   C                     eth0

まあ 興味が有れば 調査すれば 良いでしょう。 御覧のように 通信していないと 表示は されません。ほかに ping を試みると

# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
nl.bcnet.ne.jp           ether   00:00:E2:1A:A4:E7   C                     eth0
adsl.bcnet.ne.jp         ether   00:00:4C:BC:15:B8   C                     eth0
ws.bcnet.ne.jp           ether   00:00:4C:8E:0D:0B   C                     eth0
mc.bcnet.ne.jp                   (incomplete)                              eth0

どんどん良くなる ... 太鼓です。ということで、”syslog”に こういうもの が記録されます。

lx:/var/log# cat syslog 
Oct 26 09:28:26 lx kernel: e100: eth0 NIC Link is Up 100 Mbps Full duplex

これは ”eth0”が ”e100”ですよ と 教えているようですが?

lspci

”lspci”というものが 有るようです、見てみると

lx:/var/log# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:0d.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 04)
00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:14.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:14.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:14.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:14.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c)

オプションを付けると

lx:/var/log# lspci -v
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev )
        Flags: bus master, medium devsel, latency 64
        Memory at 44000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 1.0

00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03(prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, medium devsel, latency 64
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: 40000000-410fffff

00:0d.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
        Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter with Art On LAN*
        Flags: bus master, medium devsel, latency 66, IRQ 11
        Memory at 41200000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at 2800 [size=64]
        Memory at 41100000 (32-bit, non-prefetchable) [size=1M]
        Expansion ROM at <unassigned> [disabled] [size=1M]
        Capabilities: [dc] Power Management version 2

00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 04)
        Flags: bus master, medium devsel, latency 66, IRQ 11
        I/O ports at 2000 [size=256]
        Memory at 41400000 (32-bit, non-prefetchable) [size=256]
        Memory at 41300000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=64K]

00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/81C+ (rev 10)
        Subsystem: Elecom Co Ltd: Unknown device 1300
        Flags: bus master, medium devsel, latency 66, IRQ 11
        I/O ports at 2400 [size=256]
        Memory at 41500000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2

00:14.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
        Flags: bus master, medium devsel, latency 0

00:14.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 8[Master])
        Flags: bus master, medium devsel, latency 64
        I/O ports at 2860 [size=16]

00:14.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if  [UHCI])
        Flags: bus master, medium devsel, latency 64, IRQ 11
        I/O ports at 2840 [size=32]

00:14.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
        Flags: medium devsel, IRQ 9

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X ev 5c) (prog-if 00 [VGA])
        Subsystem: ATI Technologies Inc Rage Pro Turbo AGP 2X
        Flags: bus master, stepping, medium devsel, latency 66, IRQ 11
        Memory at 40000000 (32-bit, non-prefetchable) [size=16M]
        I/O ports at 1000 [size=256]
        Memory at 41000000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [50] AGP version 1.0

追加オプションは

lx:/var/log# lspci -vv
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 64
        Region 0: Memory at 44000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 1.0
                Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
                Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: 40000000-410fffff
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+

00:0d.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
        Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter with Alert On LAN*
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 66 (2000ns min, 14000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at 41200000 (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at 2800 [size=64]
        Region 2: Memory at 41100000 (32-bit, non-prefetchable) [size=1M]
        Expansion ROM at <unassigned> [disabled] [size=1M]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-

00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 04)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 66 (4250ns min, 16000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at 2000 [size=256]
        Region 1: Memory at 41400000 (32-bit, non-prefetchable) [size=256]
        Region 2: Memory at 41300000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=64K]

00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Elecom Co Ltd: Unknown device 1300
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 66 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at 2400 [size=256]
        Region 1: Memory at 41500000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:14.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:14.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Region 4: I/O ports at 2860 [size=16]

00:14.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Interrupt: pin D routed to IRQ 11
        Region 4: I/O ports at 2840 [size=32]

00:14.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin ? routed to IRQ 9

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c) (prog-if 00 [VGA])
        Subsystem: ATI Technologies Inc Rage Pro Turbo AGP 2X
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 66 (2000ns min), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at 40000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: I/O ports at 1000 [size=256]
        Region 2: Memory at 41000000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [50] AGP version 1.0
                Status: RQ=255 SBA+ 64bit- FW- Rate=x1,x2
                Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

このくらいで 雰囲気は掴めたでしょう

lsmod

”lsmod”と いうものがあるようです。

# lsmod
Module                  Size  Used by    Not tainted
autofs4                 8052   0  (unused)
nfsd                   66448   1  (autoclean)
lockd                  45008   1  (autoclean) [nfsd]
sunrpc                 64608   1  (autoclean) [nfsd lockd]
e100                   46388   0  (unused)
8139too                13832   1 
mii                     2208   0  [8139too]
crc32                   2880   0  [8139too]
keybdev                 1796   0  (unused)
mousedev                3860   0  (unused)
input                   3328   0  [keybdev mousedev]
usb-uhci               21456   0  (unused)
usbcore                58060   1  [usb-uhci]

この場合 ”e100 ”は ”(unused)”ということに なります。したがってケー ブルが こちら側に 接続されていない場合は ”ping -c3 127.0.0.1”とか 自分 自身に ”ping”すると 良いのですが 外部には 通らない という現象が 発生し ます。

明白に ”eth0” は どれどれ ”eth1” は これよ ということを していな いので しかたが 無いのですが、うまく動いていて ある日突然 ということなの で ケーブルの 断線 いや 相手側の 故障 を 疑う はめに なります。

modules.conf

解決 する方法として ”modules.conf”に ”alias”の 設定と いう事を 考 えます。 これが 最善では有りませんが 様子を 見ておきます。暫定としては これで 運用することに しています。

http://www.science.uva.nl/research/air/wiki/LogicalInterfaceNames

なんかを 見てみると 他にも いろいろな 手だてが 有るようです。

MAC address (Media Access Control address)

”HWaddr 00:90:CC:08:95:7C ”

というものが あります。メーカの 名前を 入手する方法に ついて 見ておき ましょう。ここに ゆきます

http://standards.ieee.org/regauth/oui/index.shtml

IEEE OUI and Company_id Assignments

Search the public OUI listing . . .
Search for 00-90-FE /* 入力例 ”00:90:FE”は 駄目 */
Search! clear field

の 所で(OUI : Organizationally Unique Identifier)下記参考

http://standards.ieee.org/regauth/oui/tutorials/EUI48.html

にて ”00-90-FE”を 入力すると (コロンでは うまく ゆかないようです。 つまり”00:90:FE”は 駄目な ようです。)

Here are the results of your search through the public section of the IEEE Standards OUI database report for 00-90-fe:

00-90-FE   (hex)		ELECOM CO., LTD.  (LANEED DIV.)
0090FE     (base 16)		ELECOM CO., LTD.  (LANEED DIV.)
				SUMITOMO FUDOSAN
				HIGASHI IKEBUKURO BLDG. 6F, 3-13-2 HIGAS
				TOSHIMA-KU TOKYO 170-0013 
				JAPAN
Your attention is called to the fact that the firms and numbers \
listed may not always be obvious in product implementation. \
Some manufacturers subcontract component manufacture and others \
include registered firms' OUIs in their products.

”00-D0-B7 ”を 入力すると


Here are the results of your search through the public section of the IEEE Standards OUI database report for 00-D0-B7:

00-D0-B7   (hex)		INTEL CORPORATION
00D0B7     (base 16)		INTEL CORPORATION
				5200 NE ELAM YOUNG PARKWAY
				HF1-08
				HILLSBORO OR 97124
				UNITED STATES

Your attention is called to the fact that the firms and numbers \
listed may not always be obvious in product implementation. \
Some manufacturers subcontract component manufacture and others \
include registered firms' OUIs in their products.

modules.conf の 結論

最終的には

lx:/etc# echo "alias eth0 e100" >> modules.conf 
lx:/etc# echo "alias eth1 8139too" >> modules.conf 
lx:/etc# diff -s modules.conf 0001_backup/0007_20050119_modules.conf_org 
85,86d84
< alias eth0 e100
< alias eth1 8139too

にて 運用 しています。つまり alias の 記述を 追加しています。

ifrename iftab

”NIC” 、”ifrename”、 ”iftab”等で 検索をされれば 上記の

http://www.science.uva.nl/research/air/wiki/LogicalInterfaceNames

なんかを 例として、いろいろもっと 情報が有りますが 、現状の対応は alias にて 対応と いうことで 運用します。 不都合が発生すれば また 検討を する事に なります。

残念ながら 不都合が 発生してしまいました。 次の対策として eth0 として 取り扱う方を kernel に 組み込む事に します。つまり ケーブル と カードを 特定したいと いう事です。でないと 再起動して eth0 と eth1 が入れ替われば ケーブルを 活線にて 切替える 必要が有るし 原因の 特定が できないかもしれ ません。

にゃんたろう 拝!

2007年11月19日 (月) 22:47:09 JST 作成


up

Copyright © 2004.-2007. nyantarou All Rights Reserved.