Ubuntu 20.04
QEMU macvtap(有効)
次のネットワーク構成を使用する場合:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
dhcp6: yes
KVMクライアントネットワークは「ホストデバイスeno1:macvtap」を使用し、IPv4とIPv6の両方が有効です。
tcpdump port 67 or port 68 -i eno1 -nN
dhcp要求が表示され、私のdhcpサーバーのtcpdumpも着信要求を表示できます。
メインブリッジ付きQEMU(動作しない)
ただし、ホストブリッジネットワーク構成を使用する場合:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
optional: true
link-local: []
bridges:
br0:
parameters:
stp: false
forward-delay: 0
interfaces:
- eno1
dhcp4: true
dhcp6: true
また、KVMクライアントネットワークが「ブリッジ(ホストデバイスeno1)」を使用している場合、IPv6のみが有効であり、IPv4はDHCPを取得できません。
tcpdump port 67 or port 68 -i br0 -nN
dhcp 要求は表示されますが、私の dhcp サーバーの tcpdump にはその要求は表示されません。
しかし、dhcpだけは機能しません。 IPv4アドレスとルーティングを手動で設定すると、着信および発信IPv4トラフィックの両方が機能します。
Dockerを完全に無効にすると、次のことがわかりました。
sudo systemctl diable docker.service containerd.service
reboot
これにより、ホストブリッジを持つqemuが完全に機能します。
Dockerを実行するときにホストブリッジでqemuを使用する方法は?
ベストアンサー1
Ubuntuを20.10にアップグレードした後、dockerモードとkvm + bridgeモードはクラッシュしなくなりました。
/etc/netplan/01-netcfg.yamlにbr0を作成しました。
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [eno1]
dhcp4: true
dhcp6: true
NIC:「ブリッジbr0:ホストデバイスeno1」を使用してKVMクライアントを作成/変更します。顧客は次のことができます。
- IP4/IP6を取得
- kvm クライアントは互いに SSH 経由で接続できます。
- kvm クライアントは SSH 経由でホストに接続できます。
- ホストはkvmクライアントにSSHで接続できます。
20.10にアップグレードしたか01-netcfg.yamlから追加の属性を削除したかどうかはわかりませんが、今はうまくいきます。