私の目標は簡単です。物理イーサネットインターフェイスを持つUbuntuサーバーをブリッジネットワークデバイスとして使用して、仮想マシンがここに接続し、LANやインターネットの他のデバイスと通信できるようにします。 NATを使用したくありません。
今数日間私が直面した問題は、LAN上でVMを実行してインターネットと通信するときにサーバーDNSが混乱してインターネットに接続できないことです。 DNS設定を手動で調整する必要がありますが、私がやっている作業は一時的な方法であり、正しいアプローチではないようです。
私が理解したのは、ブリッジインターフェイスはポートを割り当てることができるソフトウェアネットワークスイッチです。一般的なネットワークと同様に、複数のL3デバイスを含めることができます。ブリッジを生成するためにユーティリティを使用する場合のip
一般的なユースケースのシナリオは、Linuxボックスをスイッチとして使用し、その上に複数のイーサネットポートを「ブリッジ」することです。これらのポートは、それぞれエッジルーター/ファイアウォールと内部LANに接続できます。イーサネットポートは仮想ブリッジインターフェイスのスレーブインターフェイスになり、仮想ブリッジインターフェイスはスレーブインターフェイスに入ってくるすべてのパケットを受信します。
私はこのブリッジインターフェイスを作成することで、自分のコンピュータだけでなく、ホストコンピュータ自体で実行されている2つのVMすべてに対して単一のイーサネットインターフェイスを使用できると思いました。しかし、ここに質問があります。静的IPアドレスをブリッジに割り当てると、誰がそのIPアドレスを取得できますか?スイッチ仮想インターフェイスですか?所有者?仮想デバイス?
ブリッジインターフェイスを使用する正しい方法は何ですか?この場合、ブリッジングが必要ですか?ありがとうございます。
答え1
ブリッジインターフェイスを使用して単一のインターフェイス上の複数の仮想マシンにIPを提供できます。ホストと同じネットワークに仮想マシンを配置する場合は必須です。
ブリッジ インターフェイスを作成して静的 IP を割り当てると、ホストIP。覚えておいてください。ブリッジインターフェイス、物理インターフェイス自体brctl addif <bridge> <device>
ではなく、たとえば物理インターフェイスをブリッジインターフェイスに割り当てるには、コマンドを使用します。変更を確認するために使用されますbrctl show
。
その後、VMを作成してそのブリッジインターフェイスを有効にするときに、VMオペレーティングシステム内で自己固定IP(またはDHCP割り当てIP)を設定できます。仮想マシンは、定義したIPを使用するホストと同じネットワーク上にあります。あなたはゲストにpingを送ることができなければならず、ゲストは外部的にpingすることができなければなりません。
Ubuntuを使用しているので、16.04以降を使用している場合は、netplanを使用して非常に簡単に設定できます。物理インターフェイスが呼び出され、ブリッジ名を指定したと仮定すると/etc/netplan/01-netcfg.yaml
(またはそこにあるファイルは何でも)、次のようになります。50-cloud-init.yaml
eno1
br0
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
bridges:
br0:
interfaces: [eno1]
dhcp4: yes
これによりブリッジが作成され、ブリッジインターフェイスのホストでDHCPが有効になります。物理インターフェイスでDHCPを無効にした方法を確認してくださいeno1
。ホストに静的IPを持たせるには、次を参照してください。このページより多くの例を学びましょう。
次に、実行netplan apply
して変更を適用します。その後、ip a
ホストで実行すると、物理インターフェイスにmaster br0
それが表示されます。物理インターフェイスにはIPがあってはなりません。これでbr0
、上記で指定したIPとのインターフェースも必要です。
ネットプランをお使いの方は/etc/network/interfaces
ご確認ください。ここ。