web-dev-qa-db-ja.com

KVM-ブリッジを介したパブリックIPの追加

私はKVM環境のセットアップに取り組んでおり、通常はネットワークがセットアップされていることを当然のことと思っています。 VMからパブリックIPにアクセスできるようにするのに問題が発生しています。 NodeとVMはCentOS7を実行しています

現在の状態は次のとおりです。

VM: 5.5.5.5  -> IP on physical node: 5.5.5.3 (pingable)
VM: 5.5.5.5 -> Neighbouring physical node: 5.5.5.2 (pingable)
VM: 5.5.5.5 -> Outside IP: 8.8.8.8 (network unreahable)
Physical Node: 5.5.5.3 -> VM: 5.5.5.5 ( Destination Host Unreachable )
Physical Node: 5.5.5.3 -> Outside: 8.8.8.8 (pingable)
Outside -> Physical Node: 5.5.5.2 (pingable)

Eth1がバインドされている物理ノードのbr1に5.5.5.0/28範囲を構成しています。

VMにはブリッジネットワークが追加されており、VM(5.5.5.5)とNode(5.5.5.3)の両方からの注目すべきarpingは、期待どおりに正しい答えを取得します。

<interface type='bridge'>
  <mac address='52:54:00:84:e5:e1'/>
  <source bridge='br1'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>

ガイドを使用しているDCに従って、VMに/ etc/sysconfig/network-scripts/route-eth0およびrule-eth0ファイルを作成しました。

# cat route-eth0 
default via 5.5.5.14 dev eth0 table 125

# cat rule-eth0 
from 5.5.5.0/28 table 125

VMルート:

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
5.5.5.0   0.0.0.0         255.255.255.240 U         0 0          0 eth0

ノードルート:

 Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         6.6.6.14   0.0.0.0         UG        0 0          0 br0
    6.6.6.0     0.0.0.0         255.255.255.0   U         0 0          0 br0
    5.5.5.0   0.0.0.0         255.255.255.240 U         0 0          0 eth1
    5.5.5.0   0.0.0.0         255.255.255.240 U         0 0          0 br1
    192.168.10.0    0.0.0.0         255.255.254.0   U         0 0          0 eth1
virbr0

何をチェックするか、どこで間違っている可能性があるかについてのポインタは非常に高く評価されています....そして明確にするために-それらは実際のIPではなく、たとえば目的のために作成されています。

前もって感謝します。

1
Marc

このsysctlを試してください:

net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0

ルーティングやNATを行わずに、ブリッジを「スイッチ」として機能させる必要があります。また、仮想ネットワークもNATしていない限り、「net.ipv4.conf.all.forwarding」を設定する必要はありません。標準のlibvirtiptablesルールは、デフォルトのネットワークからインターネットへのNAT接続でうまく機能しますが、ブリッジ接続を台無しにする可能性があります。

0
Dilyin