インストール時にLinuxでネットワークインターフェイスを構成できます。ただし、インストール後に実行したり、既存の設定を変更したりすることを好む人もいます。すでに知っているように、コマンドラインからネットワーク設定を構成するには、最初にシステムで使用可能なインターフェイスの数を知る必要があります。この詳細なチュートリアルでは、LinuxおよびUnixオペレーティングシステムで使用可能なネットワークインターフェイスを一覧表示して見つけるためのすべての可能な方法について説明します。
Linuxで利用可能なネットワークインターフェースを見つける
利用可能なネットワークカードはいくつかの方法で見つけることができます。このガイドでは、Linuxでネットワークインターフェイスカードを一覧表示する10の方法について説明します。
1。 ifconfigコマンドを使用してネットワークインターフェースを一覧表示する
ifconfig
を使用してネットワークインターフェースの詳細を検索するために最も一般的に使用される方法 指図。一部のLinuxユーザーはまだこれを使用していると思います。
$ ifconfig -a
出力例:
enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global> inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link> ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上記の出力でわかるように、2つのネットワークインターフェイス、つまり enp5s0
があります。 (オンボード有線イーサネットアダプタ)および wlp9s0
(ワイヤレスネットワークアダプタ)私のLinuxボックス。ここでは、 lo
はループバックインターフェイスであり、すべてのネットワークサービスにローカルでアクセスするために使用されます。 IPアドレスは127.0.0.1
。
同じ'ifconfig'
を使用することもできます FreeBSD など、多くのUNIXバリアントのコマンド 、利用可能なネットワークカードを一覧表示します。
2。 ipコマンドを使用してネットワークインターフェースを一覧表示する
'ifconfig'
コマンドは、最新のLinuxバージョンでは非推奨です。したがって、 'ip'
を使用できます 以下に示すようにネットワークインターフェースを表示するコマンド。
$ ip link show
出力例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
次のコマンドも使用できます。
$ ip addr
$ ip -s link
これらのコマンドは、ネットワークインターフェイスの接続状態も表示することに気づきましたか?上記の出力をよく見ると、私のイーサネットカードがネットワークケーブルに接続されていないことがわかります(「DOWN」という単語を参照してください。 上記の出力で)。そして、ワイヤレスネットワークカードが接続されています(「UP」という単語を参照してください )。詳細については、以前のガイドでLinuxのネットワークインターフェースの接続状態を確認するを確認してください。 。
これらの2つのコマンド(ifconfig
およびip
)Linuxシステムで利用可能なネットワークカードを見つけるのに十分です。
ただし、Linuxでネットワークインターフェイスを一覧表示するために使用できる方法は他にいくつかあります。
3。 / sys / class /net/ディレクトリを使用してネットワークインターフェイスを一覧表示する
Linuxカーネルは、ネットワークインターフェースの詳細を /sys/class/net
内に保存します。 ディレクトリ。このディレクトリを調べると、使用可能なインターフェイスのリストを確認できます。
$ ls /sys/class/net
出力例:
enp5s0 lo virbr0 wlp9s0
4。 / proc / net/devファイルを使用してネットワークインターフェースを一覧表示する
Linuxオペレーティングシステムでは、 /proc/net/dev
ファイルには、ネットワークインターフェイスに関する統計が含まれています。
使用可能なネットワークカードを表示するには、次のコマンドを使用してその内容を表示します。
$ cat /proc/net/dev
出力例:
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 2836 30 0 0 0 0 0 0 2836 30 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 wlp9s0: 557664882 402062 0 0 0 0 0 0 20087136 165358 0 0 0 0 0 0 virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5。 netstatコマンドを使用してネットワークインターフェースを一覧表示する
netstat
コマンドは、ネットワーク接続、ルーティングテーブル、インターフェイス統計、マスカレード接続、マルチキャストメンバーシップなどのさまざまな詳細を表示します。
$ netstat -i
出力例:
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp5s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 30 0 0 0 30 0 0 0 LRU virbr0 1500 0 0 0 0 0 0 0 0 BMU wlp9s0 1500 402063 0 0 0 165361 0 0 0 BMRU
netstatは廃止されましたことに注意してください 。 "netstat -i"
の置き換え "ip -s link"
です 。また、このメソッドでは、使用可能なすべてのインターフェースではなく、アクティブなインターフェースのみが一覧表示されることに注意してください。
6。 nmcliコマンドを使用してネットワークインターフェイスを一覧表示する
nmcli NetworkManagerを制御し、ネットワークステータスを報告するためのコマンドラインツールです。これは、ネットワーク接続の作成、表示、編集、削除、アクティブ化、および非アクティブ化、およびネットワークステータスの表示に使用されます。
Network ManagerがインストールされているLinuxシステムを使用している場合は、次のコマンドを使用してnmcliツールを使用して使用可能なネットワークインターフェイスを一覧表示できます。
$ nmcli device status
出力例:
DEVICE TYPE STATE CONNECTION wlp9s0 wifi connected JioFi4_12E9FE virbr0 bridge connected (externally) virbr0 p2p-dev-wlp9s0 wifi-p2p disconnected -- enp5s0 ethernet unavailable -- lo loopback unmanaged --
このコマンドを使用して、Linuxシステムのネットワークインターフェイスを表示することもできます。
$ nmcli connection show
前述のユーティリティのほとんどは、ほとんどのLinuxおよびUnixシステムにプリインストールされています。ネットワークカードのリストを表示するために利用できる外部ユーティリティもいくつかあります。
7。 hwinfoを使用してネットワークインターフェースのリストを表示する
Hwinfo Linuxシステムのハードウェア情報を表示するためのコマンドラインユーティリティです。 Linuxシステムに存在するハードウェアをプローブし、各ハードウェアデバイスの詳細を表示します。
Hwinfoは、多くのLinuxディストリビューションの公式リポジトリで利用できます。 RPMベースのシステムにhwinfoをインストールするには、次のコマンドを実行します。
$ sudo dnf install hwinfo
Debベースのシステムでは、次のコマンドを使用してhwinfoをインストールできます。
$ sudo apt install hwinfo
インストールしたら、次のコマンドを実行して、hwinfoユーティリティを使用してネットワークインターフェイスの名前を一覧表示します。
$ sudo hwinfo --short --network
出力例:
network interface: enp5s0 Ethernet network interface virbr0 Ethernet network interface wlp9s0 Ethernet network interface lo Loopback network interface
8。 lshwを使用してネットワークインターフェースを表示する
Lshw(ハードウェアリスター) Linuxシステムのハードウェア構成の詳細情報を提供するCLIユーティリティです。
Linuxでlshwユーティリティを使用してネットワークカードのリストを表示するには、次のコマンドを実行します。
$ sudo lshw -class network -short
出力例:
H/W path Device Class Description =============================================================== /0/100/1c.1/0 enp5s0 network RTL810xE PCI Express Fast Ethernet controller /0/100/1c.3/0 wlp9s0 network AR9285 Wireless Network Adapter (PCI-Express)
9。 inxiを使用してネットワークインターフェースを表示する
Inxi hwinfoやlshwのようなさらに別のコマンドラインシステム情報ツールです。システムハードウェア、CPU、ドライバー、Xorg、デスクトップ、カーネル、GCCバージョン、プロセス、RAM使用量、およびその他のさまざまな有用な情報が表示されます。
Linuxシステムでベンダー、カードドライバー、使用可能なネットワークインターフェイスの数など、ネットワークカードに関する情報を表示するには、 -N
を指定してinixを実行します。 オプション:
$ inxi -N Network: Device-1: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169 Device-2: Qualcomm Atheros AR9285 Wireless Network Adapter driver: ath9k
関連記事:
- LinuxでCPU情報を確認または検索する方法
10。 lspciを使用してネットワークインターフェースを表示する
lspci
コマンドは、Linuxシステム内のすべてのPCIデバイスを一覧表示します。
Linuxシステムで使用可能なネットワークインターフェースのリストを表示するには、 lspciを使用します egrepを使用 以下のようなコマンド:
$ lspci | egrep -i 'network|ethernet|wireless|wi-fi'
出力例:
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 05) 09:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)>
利用可能なネットワークインターフェースの名前のみを一覧表示する
これまで見てきたのは、Linuxで利用可能なネットワークインターフェイスを見つけるためのさまざまな方法です。前述のすべての方法で、使用可能なネットワークインターフェイスを、RX / TXの詳細、Macアドレス、接続状態、モード、ネットワークの種類などの追加の詳細とともに表示しました。不要な詳細を削除し、ネットワークインターフェイスの名前のみを一覧表示する場合は、次のいずれかのコマンドを使用できます。
$ ifconfig -a | sed 's/[ \t].*//;/^$/d'
出力例:
enp5s0: lo: virbr0: wlp9s0:
ループバックデバイス(lo)を出力から除外するには、代わりに次のコマンドを実行します。
$ ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'
前述のように、ifconfig
コマンドは非推奨です。 ifconfig
の場合 コマンドを使用できません。ip
を使用してください -o
を使用してネットワークインターフェイスの名前のみを表示するコマンド 以下のようなフラグ:
$ ip -o link show | awk -F': ' '{print $2}' lo enp5s0 wlp9s0 virbr0
次のコマンドも使用できます:
$ ip addr show | awk '/^[1-9]/ {print $2}'
結論
このガイドでは、LinuxおよびUnixで使用可能なネットワークインターフェイスを見つけて一覧表示するための10の異なる方法について説明しました。 Linuxでネットワークインターフェイスの名前のみを表示するいくつかの方法も検討しました。
LinuxでIPアドレスを構成する方法については、次のガイドを確認してください。
- LinuxおよびUnixで静的IPアドレスを構成する方法
- Ubuntu18.04LTSでIPアドレスを構成する方法
- ArchLinuxで静的および動的IPアドレスを構成する方法
- Linuxで単一のネットワークカードに複数のIPアドレスを割り当てる方法