LinuxにNICが複数接続されているときの見分け方
はじめに
NICが複数枚あるとき、どの口がeth0? どのアンテナがwlan1?とか迷うことがあるので見分け方をまとめたい
テスト環境としてRaspberryPiを用いたが、一般的なLinuxマシンでも同じ方法で見分けられるのではないかと思う
環境
- RaspberryPi 3B+
- Raspberry Pi OS 32bit
- Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
- USB Wi-Fiデバイスを追加
TL;DR
- Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
後から調べようとするとめんどくさい。
NICにMACアドレスのシールを貼っておけばすぐ分かる。NICを買ったらすぐ貼ろう!!
1. 基本的な情報を収集する
認識しているNICの一覧をip address
コマンドで取得する。
オプションのaddress
は短縮してa
とすることもできる。
$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.0.2.5/24 brd 192.0.2.255 scope global dynamic noprefixroute eth0
valid_lft 74503sec preferred_lft 63703sec
inet6 2402:6b00:3e2e:0000:0000:0000:0000:0000/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 292sec preferred_lft 292sec
inet6 fe80::2261:a142:0000:0000/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 34:76:c5:xx:xx:xx brd ff:ff:ff:ff:ff:ff
上記例から、下記のような構成とわかる
if | type | state | mac |
---|---|---|---|
lo | ループバック | UNKNOWN | なし |
eth0 | 有線 | UP | b8:27:eb:xx:xx:xx |
wlan0 | Wi-Fi | DOWN | b8:27:eb:xx:xx:xx |
wlan1 | Wi-Fi | DOWN | 34:76:c5:xx:xx:xx |
2. MACアドレスベンダーから判別を試みる
IEEEウェブサイトでの検索例:
- IEEE Registration Authority: Assignments サイトへアクセスする
- 「Please select a Product 」をクリックし、「ALL MAC (MA-L, MA-M, MA-S)」を選択する
- 「SEARCH RESULTS」の「Filter results by search text」にMACアドレスの頭6桁を入力し「Filter」をクリックする
- 「ALL MAC (MA-L, MA-M, MA-S) SEARCH RESULTS」の表がフィルタリングされる
※IEEEが総本山であるため紹介したが、ほかにもMACアドレス検索できるサイトが数多くある。好みのものを使ってもらいたい。
サンプルデータを用いて調査した結果、下記の通りとなった
if | mac頭6桁 | CompanyName |
---|---|---|
eth0 | b8:27:eb | Raspberry Pi Foundation |
wlan0 | b8:27:eb | Raspberry Pi Foundation |
wlan1 | 34:76:c5 | I-O DATA DEVICE,INC. |
- eth0はオンボードの有線NIC
- wlan0はオンボードの無線NIC
- wlan1は外付けの無線NIC(アイ・オー・データ機器製)
の可能性が高いということが分かった。
2. デバイスのチップ型番で判別する
追加したNICのチップが分かっている場合に有効
$ ethtool -i wlan1
driver: rtl8192cu
version: 5.10.63-v7+
firmware-version: N/A
(後略)
$ lsusb
Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
(後略)
$ lspci
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
※Raspberry Pi 3B+ にはPCIバスが存在しないのかデータを取ることができなかった。
上記例から、USBにRealtek社の「RTL8192CU」が搭載された無線LANアダプタが存在することが分かる。
これはwlan1
に適用されているドライバーとチップ型番が一致する。
3. NICのLEDを点滅させ、目視で判別する
NICドライバによっては、NICのLEDを点灯・点滅させて目視で判別できる機能を備えているものがある。
ethtool --identify [nic]
コマンドで起動することができる。
$ sudo ethtool --identify eth0
Cannot identify NIC: Operation not supported
実際に実行してみたところ、その操作はサポートされていないというメッセージが出てしまったため
どのような動きをするのか確認はできなかった。
おわりに
他にナイスな知り方があれば教えてください!
Author And Source
この問題について(LinuxにNICが複数接続されているときの見分け方), 我々は、より多くの情報をここで見つけました https://qiita.com/neustrashimy/items/3a25cee9df585131ec2c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .