Ubuntu 16.04およびXen 4.6でXen仮想化を設定しようとしています。
私の計画は、1つのプライベートネットワークと外部からアクセスでき、プライベートネットワークに接続する必要があるパブリックIPアドレスを持つ仮想サーバーを保持することです。私のホスティングプロバイダは4つの追加のパブリックIPを提供します。
これを行うために、2つのブリッジを設定しました。
# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.0025907784d4 no eth0
vif3.0
vif3.0-emu
xenbr1 8000.36829b44377f no dummy0
vif3.1
vif3.1-emu
xenbr0にはパブリック静的IPがあり、xenbr1にはプライベートIP(192.168.122.1)があります。
次に、次のように仮想マシンを構成しました。
vif=[
'ip=<virtual server public ip>,mac=02:00:00:c1:fb:49,bridge=xenbr0',
'ip=192.168.122.6,mac=00:16:3E:59:FC:39,bridge=xenbr1'
]
192.168.122.6アドレスに正しく接続でき、コンピュータは192.168.122.1ゲートウェイを介してインターネットにアクセスするように正しく設定されています。だからそこではすべてが大丈夫です。
その後、仮想サーバーの/etc/network/interfacesにパブリックIPを追加しました。
auto eth0
iface eth0 inet static
address <public ip>
netmask 255.255.255.255
network <public ip substituting .0 at the end>
broadcast <public ip>
hwaddress ether 02:00:00:c1:fb:49
および内部ネットワーク(ゲートウェイを含む)
iface eth1 inet static
address 192.168.122.6
netmask 255.255.255.0
network 192.168.122.0
broadcast 192.168.122.255
gateway 192.168.122.1
これでパスは次のようになります。
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.122.1 0.0.0.0 UG 0 0 0 eth1
192.168.122.0 * 255.255.255.0 U 0 0 0 eth1
明らかに、サーバー自体からIPをpingできますが、外部またはxenサーバー自体からは接続できません。
私は何が間違っていましたか?
答え1
私のエラーは、プライベートネットワークを介してすべてのトラフィックをルーティングし、eth1 - xenbr1 - dummy0を通過するようです。 eth1 はプライベートネットワークでのみ使用でき、eth0 は通常のトラフィックに使用されます。
したがって、仮想マシンの eth1 から /etc/network/interfaces のゲートウェイを削除します。
iface eth1 inet static
address 192.168.122.6
netmask 255.255.255.0
network 192.168.122.0
broadcast 192.168.122.255
そして、ホストとホストゲートウェイへの固定パスを含めるようにeth0を変更します(これを簡単にするために、個別に2つのIPではなくフルスコープに対してこれを行うことができると確信しています)。
iface eth0 inet static
address 129.x.x.199
netmask 255.255.255.0
broadcast 129.x.x.199
up route add 23.x.x.94 dev eth0
up route add 23.x.x.254 dev eth0
up route add default gw 23.x.x.94
down route del default gw 23.x.x.254
down route del 23.x.x.94 dev eth0
down route del 23.x.x.254 dev eth0
また、この定義からゲートウェイ定義を削除しました。静的ルートが追加されるまでゲートウェイに接続できませんでした(これによりネットワークを起動できなくなりました)。
これで、すべてのインターネットトラフィックはeth0-xenbr0-eth0ブリッジを介してルーティングされ、プライベートトラフィックはeth1-xenbr1-dummy0を介してルーティングされます。
最終ルーティングテーブルは次のとおりです。
Destination Gateway Genmask Flags Metric Ref Use Iface
default 23.x.x.254 0.0.0.0 UG 0 0 0 eth0
23.x.x.94 * 255.255.255.255 UH 0 0 0 eth0
23.x.x.254 * 255.255.255.255 UH 0 0 0 eth0
129.0.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.122.0 * 255.255.255.0 U 0 0 0 eth1
助けてくれたgarethTheRedに感謝します!