web-dev-qa-db-ja.com

VM macvtap / KVM / libvirtでパブリックIPを使用する)を作成できません

少数のKVM VMを搭載した専用サーバーを実行しています。過去に、macvtapドライバーとそれを使用して1つのVMに個別のパブリックIPv4アドレスをアタッチすることに成功しました。完全に独立したサーバーと同じように機能します。

ホスティングサービスプロバイダーから受け取った2番目のパブリックIPv4に対して行っていることをすべてコピーしていますが、今回はmacvtapを使用して2番目のVM)からインターネットにアクセスできません。

VMがlibvirtによって起動されたときに、新しく作成されたmacvtapインターフェースに関連するホストのip link showは次のとおりです。

40: macvtap2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 500
link/ether 52:54:00:35:02:38 brd ff:ff:ff:ff:ff:ff

そして、これがゲストのifconfig出力です。

ens10     Link encap:Ethernet  HWaddr 52:54:00:35:02:38  
      inet addr:[PUBLIC IP]  Bcast:[BROADCAST IP PROVIDED BY HOSTER]  Mask:255.255.255.224
      inet6 addr: fe80::5054:ff:fe35:238/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:1230 (1.2 KB)

virsh edit machineの関連セクションは次のとおりです。

    <interface type='direct'>
      <mac address='52:54:00:35:02:38'/>
      <source dev='eth0' mode='vepa'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </interface>

tcpdump -vv Host [PUBLIC VM IP]を実行しているとき、着信パケットは表示されますが、応答しません。

tcpdump -vv -i ens10VMの出力には何も表示されません。

同様の設定が別のVMで機能しているようで、2つの違いが2番目のVM同じように機能する原因を見つけることができません。デバッグするためにできることは何でもさらに?

1
pavel_karoukin

私の仮想マシンにHetzner(私のホスティング業者)とは別のMACアドレスを要求し、libvirtによってランダムに生成されたものを使用しないことが判明しました。設定をリクエストして更新すると、他のすべてが機能し始めました。

詳細: https://wiki.hetzner.de/index.php/Virtualisierung/en

1
pavel_karoukin