ネットワークインターフェイスが物理(デバイス)か仮想(エイリアス)かどうかはどうすればわかりますか?

ネットワークインターフェイスが物理(デバイス)か仮想(エイリアス)かどうかはどうすればわかりますか?

私は、ルーター用の組み込みLinuxであるOpenWrtを実行する小さなホームルーターを持っています。 5つのイーサネットポートがあります。 1 つは WAN で表され、4 つは LAN 1 ~ 4 で表されます。これには、次のネットワークインタフェースが定義されていますifconfig

root@TIBERIUS: ~ > ifconfig | grep Link
br-lan    Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
eth0      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan1      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan2      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan3      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan4      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lo        Link encap:Local Loopback
pppoe-wan Link encap:Point-to-Point Protocol
wan       Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
wlan0     Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0

ご覧のとおり、デバイスは多数ありますが、MACアドレスは1つだけです。

私が理解したのは、これらのデバイスのいくつかは仮想です。loとを先に置いておきます。pppoe-wanこれはループバックデバイスとPPPoE接続です。しかし、残りの部分については物理的か仮想的なのか、どうすればわかりますか?たとえば、仮想インターフェイスにラベルを付ける命名規則があることを知っていますが、eth0.1ここではこれに従わないようです。ifconfig2つのインターフェースの出力を見てみましょう。

root@TIBERIUS: ~ > ifconfig wan
wan       Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15007 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13341276 (12.7 MiB)  TX bytes:1831757 (1.7 MiB)

root@TIBERIUS: ~ > ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25799 errors:0 dropped:0 overruns:23 frame:0
          TX packets:25294 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15481996 (14.7 MiB)  TX bytes:15160380 (14.4 MiB)
          Interrupt:4

txqueuelenゼロ以外のファジー詳細を持つことに加えて、eth0唯一の重要な違いは項目eth0があることですInterrupt。私が理解できるのはハードウェア機能です。もしそうなら、Interruptネットワークインターフェイスのエントリを検索してネットワークインターフェイスが物理インターフェイスであるかどうかを知る方法は何ですかifconfig?それとももっと良い方法がありますか?ネットワークデバイスが物理デバイスか仮想デバイスであるかを確認する簡単で直接的な方法はありますか?

以下があります。関連質問受け入れられる答えがありますが、結論的ではありません。

修正する

derobertの答えに対する答えは次のとおりですls -l /sys/class/net

br-lan      -> ../../devices/virtual/net/br-lan
eth0        -> ../../devices/platform/ag71xx.0/net/eth0
lan1        -> ../../devices/platform/dsa.0/net/lan1
lan2        -> ../../devices/platform/dsa.0/net/lan2
lan3        -> ../../devices/platform/dsa.0/net/lan3
lan4        -> ../../devices/platform/dsa.0/net/lan4
lo          -> ../../devices/virtual/net/lo
pppoe-wan   -> ../../devices/virtual/net/pppoe-wan
wan         -> ../../devices/platform/dsa.0/net/wan

[このリストの付録:wlan0これも表示されていますがwlan0 -> ../../devices/platform/ath9k/net/wlan0、上記のリストをコピーしたときにWLANを無効にしたため表示されませんでした。 ]

eth0唯一のデバイスだと言いたいです。dsa.0それが何であるかよくわかりません。

そしてBryan Ageeの答えに対する答えは次のとおりです。

root@TIBERIUS: ~ > cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'eth'
        option ifname 'eth0'
        option proto 'none'

config interface 'lan'
        option ifname 'lan1 lan2 lan3 lan4'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.33.1'
        option netmask '255.255.255.0'

config interface 'wan'
        option ifname 'wan'
        option proto 'pppoe'
        option username '…'
        option password '…'

ベストアンサー1

あなたは確認することができます/sys

anthony@Zia:/sys/class/net$ ls -l /sys/class/net/
total 0
lrwxrwxrwx 1 root root 0 Dec 11 15:38 br0 -> ../../devices/virtual/net/br0
lrwxrwxrwx 1 root root 0 Dec 11 15:38 lan -> ../../devices/pci0000:00/0000:00:1e.0/0000:07:01.0/net/lan
lrwxrwxrwx 1 root root 0 Dec 11 15:38 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 Dec 11 15:38 tun0 -> ../../devices/virtual/net/tun0

したがって、実際のデバイスは/sys/class/netに表示されます。気づくニックネーム(例:lan:0)これをしないでください。これにより、どのようなエイリアスなのかがわかります。どれが実際のハードウェア(lan)であり、何もない(br0、lo、tun0)はっきりと確認できます。

言う

上記では、すべての仮想が仮想なので、どれが本当かを確認できます。そしてLANはPCIバスにあります。

あなたの例には、eth0、wan、およびlan1-4の6つがあります。合計5つのポートしかないと言われたので、これは奇妙です。私は実際にeth0がスイッチチップに配線されており、残りの5つのポートはそのスイッチのポートであると思います。 wlan0も実際の場合がありますが(おそらくワイヤレスアダプター)、/ sys ...には表示されません。

したがって、すべての実用的な目的のために、実際のポートはwan、lan1–4、wlan0であると言いたいと思います。 br-lanは、4つのLANポートがすべてスイッチとして機能するように設定されたブリッジです(スイッチを分割できます)。

おすすめ記事