単一のNICで、KVMを実行できるようにブリッジを機能させようとしている小さなサーバーがあります。これでNIC静的に割り当てられたカップルIP:
eth0 = 192.168.1.1
eth0:1 = 192.168.1.2
eth0:2 = 192.168.1.3
eth0:3 -> Assign the bridge to this
次の手順を使用してブリッジを設定しようとしています。
Sudo brctl addbr br0
Sudo brctl addif br0 eth0:3
Sudo ifconfig br0 192.168.1.120 netmask 255.255.255.0 up
Sudo route add -net 192.168.1.0 netmask 255.255.255.0 br0
Sudo route add default gw 192.168.1.1 br0
Sudo tunctl -b -u root -t tap0 > /dev/null
Sudo ifconfig tap0 up
Sudo brctl addif br0 tap0
ただし、2番目のコマンドを実行すると:
Sudo brctl addif br0 eth0:3
Eth0デバイス全体を無差別モードにします。これにより、サーバーがオフラインになり、ローカル以外からはアクセスできなくなります。
JUST eth0:3をbr0にブリッジし、デバイス全体を無差別モードにしない方法はありますか?
簡単な答えは、私が知る限り、いいえです。
長い答え:ブリッジはレイヤー2デバイスです。仮想スイッチと考えてください。ネットワークカードと内部デバイスの間をブリッジするには、ネットワークカードに入ってくるすべてのデータを取得して、ブリッジに配置する必要があります(.1q VLANなどのレイヤー2フィルタリングを除く)。説明するために絵を描きましょう:
これがあなたがそれをどのように機能させたいかです(ルーティングシナリオ):
<vif> ---- <br0> --- <eth0:3> ---- <peth0> --- <internet>
しかし実際には、仮想ブリッジは常にレイヤー2でブリッジします。
<br0> --- <peth0>-------<internet>
| |
<vif0> <eth0>
<eth0:2>
ここで、peth0は物理デバイスであり、eth0は論理デバイス(アドレスなどを含む)です。
必要なシナリオを取得するには、ブリッジの代わりにルーティングを使用する必要があります。 peth0がプロミスキャスモードに設定される理由は、ブリッジ上のデバイスに向かうデータをフィルターで除外する可能性があるためです。ブリッジ上のデバイスが何をリッスンするかはわかりません。
いいえ、そのようには機能しないと確信しています。 eth0
デバイス全体をブリッジに配置し、代わりにbr0:1
などのサブインターフェイスをブリッジインターフェイスに追加する必要があります。
br0
インターフェースに追加のIPがバインドされるのを避けようとしている理由はありますか?