web-dev-qa-db-ja.com

静的IPを使用するUbuntu Server 18.04上のKVMのNetplanブリッジ

最近、最初のubuntuサーバーをセットアップしましたが、netplanで苦労しています。

Linuxで利用できない1つのサービスを実行するにはWindowsが必要なので、KVMをセットアップしようとします。

サーバーには、さまざまなサービスまたはサービスを実行するdockerコンテナーに使用される静的な静的IPがあるため、私のnetplan構成は次のようになります。

 network:
 version: 2
 renderer: networkd
 ethernets:
   enp30s0:
     dhcp4: no
     addresses: [xxx.xxx.xxx.100/24, xxx.xxx.xxx.102/24, xxx.xxx.xxx.105/24, ...]
     gateway4: xxx.xxx.xxx.1
     nameservers:
       addresses: [xxx.xxx.xxx.1]

今では、ゲストマシンで使用できるようにネットワークブリッジを作成する必要があるように見えますが、アドレスを1つだけ使用するためのソリューションを見つけることができませんでした。

これを達成する方法はありますか、またはここで概念的な間違いを犯していますか?

どんな助けも大歓迎です!ありがとうございました。

3
fredo.r

Ubuntu 18.04の設定は依然としてNetwork Managerに依存しており、wifi/3Gはまだnetworkdでサポートされていません。次の例では、すべてのインターフェースにNetwork Managerを使用しています。

/etc/netplan/01-netcfg.yaml

---
network:
  version: 2
  # if specified globally, can only realistically have that value,
  # as networkd cannot render wifi/3G.
  renderer: NetworkManager
  ethernets:
    enp42s0:
      gateway4: 192.168.1.1
      dhcp4: false
      # Specify static address, and netmask.
      addresses: [192.168.1.10/24, '2001:1::10/64']
  bridges:
    br0:
      dhcp4: false
      interfaces: [enp42s0]

Libvirtにブリッジを追加する手順。

ファイル/tmp/br0.xmlを作成します

<network>
  <name>br0</name>
  <forward mode='bridge'/>
  <bridge name='br0'/>
</network>

次に、libvirtに新しいネットワークを追加して、自動起動します。

virsh net-define /tmp/br0.xml
virsh net-start br0
virsh net-autostart br0

Br0.xmlファイルは/ etc/libvirt/qemu/networksにあります。デフォルトのNATネットワークファイルもここにあります。 br0が正常に追加されたことを確認します。

virsh net-list --all

Name                 State      Autostart     Persistent
----------------------------------------------------------
br0                  active     yes           yes
default              active     yes           yes

すべての新しいネットワークインターフェイスの追加には、br0ブリッジオプションがあります。

2
rickfoosusa

Libvirtでのブリッジング のようなnetplan.ioの例は、進むべき道です。外部インターフェイスにリンクされているホストにブリッジをセットアップします-あなたの場合はenp30s0です。次に、libvirtにそのブリッジを使用するように指示すると、ゲストはこれでデバイスを取得します。

次に、ホストでlibvirt/dnsmasqをセットアップして、必要な範囲からゲストにIPを提供するか、ゲストでゲストを使用するアドレスに静的に設定する必要があります。

何かのようなもの

network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      dhcp4: no
      addresses: [xxx.xxx.xxx.100/24, xxx.xxx.xxx.102/24, xxx.xxx.xxx.105/24, ...]
      gateway4: xxx.xxx.xxx.1
      interfaces:
        - enp30s0

そして、ゲストで

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses: xxx.xxx.xxx.106/24
      gateway4: xxx.xxx.xxx.1

また、システムによって提供されるブリッジを使用するlibvirtネットワークの場合:

<network>
  <name>br0</name>
  <bridge name='br0'/>
  <forward mode="bridge"/>
</network>

詳細の多くはあなたのニーズに依存しますが、それは行くべき道を概説するはずです。あなたがあなたを動かしたとき、あなたがあなたを働かせた最終的な効果的な設定であなたの投稿を更新することができれば、あなたはそれを実行したときに人々に感謝するはずです。

0