3つのパブリックIPを備えたUbuntu 18.04サーバーがあります。メインIPはすでに構成済みです。
IP2とIP3を設定したいのですが。 IP2はSSLドメインに、IP3は仮想マシン(qemu libvirt)に使用されます。問題(私にとって)は、Ubuntuの以前のバージョンがupstartを使用していて、それを構成できたことですが、現在のバージョンにはsystemdがあり、それを整理することができません。
以前は、設定に次のハウツーを使用し、すべてが正常に機能しました: https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian/en#Routed_.28brouter.29
今、systemdでは、これは私が最初に使用したネットワーク構成ファイル(1 IPのみ)です。
# /etc/systemd/network/10-eno1.network
[Match]
Name=eno1
[Network]
Gateway=IP_GATEWAY
[Address]
Address=IP1
Peer=IP_GATEWAY/32
上記のファイルに追加の[Address]セクションが必要なだけなので、IP2(SSL用)の追加は簡単です。
IP3については、IP3をVMにルーティングするために、元のハウツーのようにブリッジを作成する必要があると思います。したがって、VMのqemu/libvirtブリッジを構成しようとすると、私はこの構成に非常によく似たものになりました: https://bbs.archlinux.org/viewtopic.php ?id = 193994 ie-br0デバイス+ eno1をブリッジに追加+上記のようにブリッジを構成
しかし、上記のスレッドと同様に、サーバーは到達不能になり(pingを実行できない)、診断コマンドの出力はほとんど同じです。
VMで使用するためにIP3を構成する方法に関する提案はありますか?
私は自分で解決策を見つけることができました。仮想KVMでテストしたところ、なんらかの理由で機能しなかったため、時間がかかりすぎました。
と仮定する:
ホスト上-3つのファイル:
# /etc/systemd/network/10-virbr1.netdev
[NetDev]
Name=virbr1
Kind=bridge
MACAddress=00:1e:67:ad:8d:12
[Bridge]
STP=false
# /etc/systemd/network/20-eno1.network
[Match]
Name=eno1
[Network]
Bridge=virbr1
# /etc/systemd/network/30-virbr1.network
[Match]
Name=virbr1
[Network]
Gateway=IP_GATEWAY
[Address]
Address=IP1
Peer=IP_GATEWAY/32
[Address]
Address=IP2
Peer=IP_GATEWAY/32
仮想マシン(一部の古いUbuntu-systemdを使用しない):
# /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address IP3
netmask 255.255.255.255
gateway IP_GATEWAY
pointopoint IP_GATEWAY
dns-nameservers 8.8.8.8 1.1.1.1
追加の説明:MACAddress = 00:1e:67:ad:8d:12が必要でした。これは、ホスティング会社(Hetzner)がMACフィルタリングを行うため、ブリッジは物理イーサネットカードのMACを持つ必要があるためです。
同じ理由で、VMには、Hetznerのサーバーコントロールパネルで生成できる特定のMACアドレスが必要です。したがって、私の場合、 "virsh dumpxml my-vm"の出力は次のようになります。
...
<interface type='bridge'>
<mac address='00:50:56:00:53:E1'/>
<source bridge='virbr1'/>
<target dev='vnet0'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
...