LoginSignup
0
1

More than 1 year has passed since last update.

LinuxにNICが複数接続されているときの見分け方

Posted at

はじめに

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

後から調べようとするとめんどくさい。
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 :mag:」をクリックし、「ALL MAC (MA-L, MA-M, MA-S)」を選択する
  • 「SEARCH RESULTS」の「Filter results by search text」にMACアドレスの頭6桁を入力し「:mag: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
$ ethtool -i wlan1
driver: rtl8192cu
version: 5.10.63-v7+
firmware-version: N/A
(後略)
lsusb
$ lsusb
Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
(後略)
lspci
$ 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

実際に実行してみたところ、その操作はサポートされていないというメッセージが出てしまったため
どのような動きをするのか確認はできなかった。

おわりに

他にナイスな知り方があれば教えてください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1