Как получить доступ к гостевой виртуальной с CentOS, используя дополнительный IP?

У меня есть выделенный сервер в Hetzner. В котором я установил CentOS 7.4, внутри него у меня KVM с другим CentOS 7.4.

Я запросил дополнительный ip от Hetzner, у которого есть Mac, выделенный для целей виртуализации.

Я хотел бы, чтобы гость имел доступ к Интернету и чтобы эта виртуальная машина была доступна из Интернета.

Вот данные с двух ips, которые у меня есть с роботом Hetzner.

Основной IP: AA.BBB.CCC.DD

Gateway:       AA.BBB.CCC.1
Netmask:       255.255.255.192
Broadcast:     AA.BBB.CCC.63

Дополнительный IP: AA.BBB.CCC.EE

Gateway:       AA.BBB.CCC.1
Netmask:       255.255.255.192
Broadcast:     AA.BBB.CCC.63

Это файл /etc/sysctl.d/99-hetzner.conf

### Hetzner Online GmbH installimage
# sysctl config
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
# ipv6 settings (no autoconfiguration)
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.default.accept_dad=0
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.accept_ra_defrtr=0
net.ipv6.conf.default.accept_ra_rtr_pref=0
net.ipv6.conf.default.accept_ra_pinfo=0
net.ipv6.conf.default.accept_source_route=0
net.ipv6.conf.default.accept_redirects=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_dad=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.accept_ra_defrtr=0
net.ipv6.conf.all.accept_ra_rtr_pref=0
net.ipv6.conf.all.accept_ra_pinfo=0
net.ipv6.conf.all.accept_source_route=0
net.ipv6.conf.all.accept_redirects=0

Это начальная конфигурация только что установленного и запущенного хоста

DEVICE=enp0s31f6
ONBOOT=yes
BOOTPROTO=none
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.255
SCOPE="peer AA.BBB.CCC.1"
IPV6INIT=yes
IPV6ADDR=2a01:4f8:13b:1801::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=enp0s31f6

Это предыдущий файл, модифицированный, чтобы получить мост

DEVICE=enp0s31f6
ONBOOT=yes
HWADDR=90:1b:0e:ee:05:4e
BOOTPROTO=none
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.192
SCOPE="peer AA.BBB.CCC.1"
BRIDGE=br0

Это файл br0, который я создал

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.192
SCOPE="peer AA.BBB.CCC.1"
ONBOOT=yes
DELAY=0

Кто-нибудь знает, какую настройку нужно сделать в гостевой системе CentOS?

Что-то не так с тем, что я опубликовал выше?

Большое спасибо за помощь.

2 ответа

Решение

Во-первых, вам нужно создать виртуальный сетевой интерфейс гостя, используя виртуальный MAC-адрес, который Хецнер назначил вам и связал с br0 в вашей хост-системе. Например (libvirt XML):

    <interface type='bridge'>
      <mac address='00:0c:29:34:b3:a1'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>

Затем вы настраиваете гостевую ОС с соответствующим IP-адресом, маской сети и шлюзом. IP-адрес не назначен хосту.

Пожалуйста, предоставьте дополнительную информацию, какая у вас платформа виртуализации? Есть ли консоль для доступа к хост-машине? Как vmware (клиент vsphere), proxmox (веб-интерфейс), openstack (веб-интерфейс).

Я думаю, что вам нужно проверить мост интерфейса на этой машине и убедиться, что интерфейс виртуальной сети (обычно интерфейс интерфейса) указан как член моста вместе с сетевым интерфейсом хоста (enp0s31f6).

Пожалуйста, используйте следующую команду, чтобы узнать, правильна ли сеть, и опубликуйте результаты.

# ifconfig -a
# brctl show

Спасибо

Другие вопросы по тегам