ifconfig:物理NIC/ソケットよりも多様なデバイスエントリ

ifconfig:物理NIC/ソケットよりも多様なデバイスエントリ

私は組み込みLinux(カーネル2.6.21)とさまざまなネットワーキングツールを備えたシンプルな家庭用ユーザールーター(D-Link DIR-300)を持っています。 Telnetを介してこのシステムの内部を調べたところ、次のコマンドの出力が得られました(少し修正、削除、loスキップifbNしました)ifconfig -a

br0       Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
          RX bytes:94887799 (90.4 MiB)  TX bytes:1042490563 (994.1 MiB)

br8       Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:974053699 (928.9 MiB)  TX bytes:0 (0.0 B)

eth2      Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          collisions:0 txqueuelen:1000
          RX bytes:2150801235 (2.0 GiB)  TX bytes:2142220936 (1.9 GiB)
          Interrupt:3

eth2.1    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:17544 (17.1 KiB)  TX bytes:994732248 (948.6 MiB)

eth2.2    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:0 (0.0 B)  TX bytes:72669 (70.9 KiB)

eth2.3    Link encap:Ethernet  HWaddr CB:B2:55:9C:4D:2E
          RX bytes:96947373 (92.4 MiB)  TX bytes:1045811045 (997.3 MiB)

eth2.4    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:0 (0.0 B)  TX bytes:72669 (70.9 KiB)

eth2.5    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2F
          inet addr:ex.te.rn.al  Bcast:ex.te.rn.255  Mask:255.255.255.0
          RX bytes:2024079220 (1.8 GiB)  TX bytes:99321148 (94.7 MiB)

eth2.5.35 Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          ... PROMISC ...
          RX bytes:984221760 (938.6 MiB)  TX bytes:22318 (21.7 KiB)

物理的には5つのイーサネットソケットがありますが、上記の情報からわかるように、ハードウェアNICは2つあります(CB:B2:32:9C:4D:2E、CB:B2:32:9C:4D:2F)。論理的に発生:LANとWAN。たぶん私が間違っているかもしれませんeth2.5が、それは唯一のようです。ノーマル状況(自己IP / MAC)。残りの8つのレコードは何が起こっているのか理解するのが難しいです。 8つのレコードはすべて同じMAC(CB:B2:32:9C:4D:2E)を持ち、br0IPが1つだけ割り当てられ、特別に見え、eth2中断txqueuelen:1000があります(他のレコードには割り込みがなくてもeth2.5)同じ数のTXバイトがeth2.2あり、eth2.4バイトを受信せずにbr8バイトのみを受信します。

それでは、このネットワークはどのように実装されますか?魔法働く?さまざまなデバイス名、同じMAC、異なる属性NIC、MACアドレス、およびデバイス名
の間の関係は何ですか?

答え1

~によるとブリッジとNICの組み合わせ?:

ブリッジングは通常、2つのネットワーク接続を組み合わせようとしますが、必ずしも同じことを行う必要はない場合に使用されます(たとえば、仮想マシンがネットワーク上の物理コンピュータとして表示されるようにしたい場合など)。仮想マシンのソフトウェアネットワークカード(存在する場合)を物理カードに接続してNATを実行する代わりに、LANに直接アクセスできます。

コンピュータはこれを1として認識しますが、LAN/インターネットへの接続は1つだけです。

ブリッジを生成するために使用されるインターフェイスを確認するにはブリッジングツールLinuxで。例えばbrctl ディスプレイbr0、ブリッジbr0を生成するために使用されたインターフェイスが表示され、br0のハードウェアアドレス(MACアドレス)は、ブリッジbr0を生成するために使用された最初のインターフェイスのMACアドレスです。実行後に初めて表示されるインターフェイスです。brctl表示eth2 です。 ifconfigの結果を確認した後、インターフェイスeth2とeth1、eth3、eth4、eth5などeth2.1などの他のインターフェイスの間にブリッジがあるようです。 eth5 はブリッジの作成中に最初のインターフェイスと見なされるため、eth2.5 の MAC アドレスが異なることがわかります。

関連情報