OpenWrt(ルーター用の組み込みLinuxの種類)を実行している小さなホームルーターがあります。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
明らかにここには準拠していません。ifconfig
これらのインターフェースのうち2つのインターフェースの出力を見てみましょう。
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
が明確ではありません。
そして、ブライアン・エイジの答えに答えて:
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 '…'
lshw -class network
lshw
れており、パッケージリストにありません。知識豊富で意欲的な人はtmpfs
、開発ツールをにインストールすることに成功するかもしれませんが、それだけの価値はありますか?標準的なPCを使用して、Linuxネットワーキングの理解を深めていきます。これは簡単になります。私はこのルーター構成を正しく理解していませんが、うまく機能します。ご協力いただきありがとうございます。