dracut-initqueue [588]: respostas RTNETLINK: rede é inacessível

1

Um host do CentOS 7 precisa instalar um sistema operacional convidado do CentOS 7 usando virt-install e um arquivo kickstart . Então, tanto o HOST quanto o CONVIDADO precisam estar acessíveis via ssh usando endereços IP estáticos públicos separados pela Internet.

Quais comandos e configurações específicos precisam ser digitados para habilitar ssh de acesso ao convidado e ao host por meio de endereços IP públicos estáticos?

Meu entendimento é que a configuração inclui as seguintes etapas:

1.) Configurando a ponte de rede no host, para substituir o NAT padrão 2.) Configurando a rede estática no guest

Mas como isso deve ser configurado? Substituímos virbr0 por um novo br0 , conforme mostrado abaixo, ou apenas modificamos virbr0 ?

Observe que esta configuração tem os seguintes endereços IP estáticos PÚBLICOS (obscurecidos / anonimizados aqui por motivos de segurança):

host: 12.34.567.8aa
guest: 12.34.567.8cc
network gateway: 12.34.567.8bb

Erro atual:

Usando os métodos descritos abaixo, a saída do terminal durante a instalação inclui as seguintes linhas relevantes para esse problema de conectividade de rede:

[    4.555887] 8021q: adding VLAN 0 to HW filter on device eth0
[    4.447513] dracut-initqueue[588]: RTNETLINK answers: Network is unreachable
......................
[    8.096306] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

Primeira tentativa de configurar o HOST:

A rede pública do HOST (que funciona perfeitamente) foi configurada com os seguintes comandos:

nmcli con mod eno1 ipv4.addresses 12.34.567.8aa/29
nmcli con mod eno1 ipv4.gateway 12.34.567.8bb
nmcli con mod eno1 ipv4.dns "xx.xx.xx.xx xx.xx.yy.yy"
nmcli con mod eno1 ipv4.method manual
nmcli con mod eno1 connection.autoconnect yes

Em seguida, a ponte do HOST (que ainda não funciona) foi configurada com os seguintes comandos:

nmcli con add type bridge con-name br0 ifname br0 autoconnect yes
nmcli con add type ethernet con-name br0-slave-1 ifname eno1 master br0 autoconnect yes
nmcli con add type ethernet con-name br0-slave-2 ifname eth0 master br0 autoconnect yes
nmcli con modify br0 bridge.stp no
nmcli connection modify br0 ipv4.addresses 12.34.567.8aa/29 ipv4.method manual ipv4.gateway 12.34.567.8bb ipv4.dns xx.xx.xx.xx,xx.xx.yy.yy 
nmcli con up br0
brctl show  br0

Observe que os comandos anteriores tentam escravizar eth0 e eno porque eth0 é definido dentro do GUEST, enquanto eno1 é definido no HOST. Não está claro qual é o escopo de visibilidade para esses nomes, então estou tentando ambos aqui, mas sem sucesso.

Como o convidado é criado:

Seguem-se as especificidades de como o convidado é criado:

O arquivo de kickstart no HOST é:

[root@remote-host ~]# vi /tmp/vm.ks
install
lang en_US.UTF-8
keyboard us
timezone SomeContinent/SomeCity
auth --enableshadow --passalgo=sha512
services --enabled=NetworkManager,sshd
eula --agreed

reboot

network  --bootproto=static --ip=12.34.567.8cc --netmask=255.255.255.248 --gateway=12.34.567.8bb --nameserver=xx.xx.xx.xx,xx.xx.yy.yy --device=eth0

bootloader --location=mbr
zerombr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=200
part pv.01 --size=1 --grow
volgroup rootvg01 pv.01
logvol / --fstype xfs --name=lv01 --vgname=rootvg01 --size=1 --grow

# Root password
rootpw --iscrypted $someLongHashedPassword
repo --name="CentOS" --baseurl="http://mirror.centos.org/centos/7/os/x86_64/"

%packages
@core
%end
~
"/tmp/vm.ks" 30L, 1002C

O comando virt-install executado a partir do HOST é:

[root@remote-host ~]# virt-install --name=public-centos7 --disk path=/home/disk_test.img,size=100 --graphics none 
--vcpus=1 --memory=2048 --location /tmp/CentOS-7-x86_64-Minimal-1611.iso --network bridge=br0 
--os-type=linux --os-variant=rhel7.0 --initrd-inject=/tmp/vm.ks --extra-args "ks=file:/vm.ks console=ttyS0"

Informações de configuração do HOST:

No host, os detalhes de nmcli são:

[root@remote-host ~]# nmcli con show
NAME         UUID                TYPE            DEVICE
br0          very-long-string    bridge          br0
eno1         very-long-string    802-3-ethernet  eno1
virbr0       very-long-string    bridge          virbr0
vnet0        very-long-string    tun             vnet0
br0-slave-1  very-long-string    802-3-ethernet  --
br0-slave-2  very-long-string    802-3-ethernet  --


[root@remote-host ~]# nmcli con show br0
connection.id:                          br0
connection.uuid:                        very-long-string
connection.interface-name:              br0
connection.type:                        bridge
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1490056018
connection.read-only:                   no
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.lldp:                        -1 (default)
ipv4.method:                            manual
ipv4.dns:                               xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options:                       (default)
ipv4.dns-priority:                      0
ipv4.addresses:                         12.34.567.8aa/29
ipv4.gateway:                           12.34.567.8bb
ipv4.routes:
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
........skipping ipv6 stuff
bridge.stp:                             no
bridge.priority:                        32758
bridge.forward-delay:                   15
bridge.hello-time:                      2
bridge.max-age:                         20
bridge.ageing-time:                     300
bridge.multicast-snooping:              yes
GENERAL.NAME:                           br0
GENERAL.UUID:                           very-long-string
GENERAL.DEVICES:                        br0
GENERAL.STATE:                          activated
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/40
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/38
GENERAL.SPEC-OBJECT:                    /
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         12.34.567.8aa/29
IP4.GATEWAY:                            12.34.567.8bb
IP4.DNS[1]:                             xx.xx.xx.xx
IP4.DNS[2]:                             xx.xx.yy.yy
.....skipping ipv6 stuff


[root@remote-host ~]# nmcli con show virbr0
connection.id:                          virbr0
connection.uuid:                        very-long-string
connection.stable-id:                   --
connection.interface-name:              virbr0
connection.type:                        bridge
connection.autoconnect:                 no
connection.autoconnect-priority:        0
connection.timestamp:                   1490056018
connection.read-only:                   no
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
ipv4.method:                            manual
ipv4.dns-options:                       (default)
ipv4.dns-priority:                      100
ipv4.addresses:                         192.168.122.1/24 (purposely NOT obscured because this IP is private and auto-generated)
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
.............skipping ipv6 stuff
bridge.stp:                             yes
bridge.priority:                        32xx8
bridge.forward-delay:                   2
bridge.hello-time:                      2
bridge.max-age:                         20
bridge.ageing-time:                     300
bridge.multicast-snooping:              yes
GENERAL.NAME:                           virbr0
GENERAL.UUID:                           very-long-string
GENERAL.DEVICES:                        virbr0
GENERAL.STATE:                          activated
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/1
GENERAL.SPEC-OBJECT:                    /
IP4.ADDRESS[1]:                         192.168.122.1/24 (purposely NOT obscured because this IP is private and auto-generated)


[root@remote-host ~]# nmcli con show eno1
connection.id:                          eno1
connection.uuid:                        very-long-string
connection.interface-name:              eno1
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1490056018
connection.read-only:                   no
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
802-3-ethernet.speed:                   0
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mtu:                     auto
802-3-ethernet.wake-on-lan:             1 (default)
ipv4.method:                            manual
ipv4.dns:                               xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options:                       (default)
ipv4.dns-priority:                      0
ipv4.addresses:                         12.34.567.8aa/29
ipv4.gateway:                           12.34.567.8bb
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
..........skipping ipv6 stuff
GENERAL.NAME:                           eno1
GENERAL.UUID:                           very-long-string
GENERAL.DEVICES:                        eno1
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DEFAULT6:                       yes
GENERAL.VPN:                            no
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/3
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT:                    /
IP4.ADDRESS[1]:                         12.34.567.8aa/29
IP4.GATEWAY:                            12.34.567.8bb
IP4.DNS[1]:                             xx.xx.xx.xx
IP4.DNS[2]:                             xx.xx.yy.yy
..........skipping ipv6 stuff


[root@remote-host ~]# nmcli con show br0-slave-1
connection.id:                          br0-slave-1
connection.uuid:                        very-long-string
connection.interface-name:              eno1
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.read-only:                   no
connection.master:                      br0
connection.slave-type:                  bridge
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.lldp:                        -1 (default)
802-3-ethernet.speed:                   0
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mtu:                     auto
802-3-ethernet.wake-on-lan:             1 (default)
bridge-port.priority:                   32
bridge-port.path-cost:                  100
bridge-port.hairpin-mode:               no


[root@remote-host ~]# nmcli con show br0-slave-2
connection.id:                          br0-slave-2
connection.uuid:                        very-long-string
connection.interface-name:              eth0
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.read-only:                   no
connection.master:                      br0
connection.slave-type:                  bridge
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
802-3-ethernet.speed:                   0
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mtu:                     auto
802-3-ethernet.wake-on-lan:             1 (default)
bridge-port.priority:                   32
bridge-port.path-cost:                  100
bridge-port.hairpin-mode:               no

O CONVIDADO conhece seu IP público estático, mas não pode sair:

A seguir, os resultados dos comandos ping e curl executados dentro do GUEST. Como você pode ver, ambos os programas são executados, mas nenhum dos dois consegue sair da VM para o mundo externo:

[root@localhost ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 12.34.567.8cc icmp_seq=1 Destination Host Unreachable
From 12.34.567.8cc icmp_seq=2 Destination Host Unreachable
From 12.34.567.8cc icmp_seq=3 Destination Host Unreachable
..........

--- 8.8.8.8 ping statistics ---
14 packets transmitted, 0 received, +13 errors, 100% packet loss, time 13004ms
pipe 4

[root@localhost ~]# curl ipinfo.io/ip
curl: (6) Could not resolve host: ipinfo.io; Unknown error

Config dentro do CONVIDADO:

Acessado de dentro do CONVIDADO, o arquivo ifcfg-eth0 gerado automaticamente é:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
NAME="eth0"
HWADDR="11:22:33:44:55:66"
ONBOOT=yes
NETBOOT=yes
UUID="some-very-long-complex-string"
IPV6INIT=yes
BOOTPROTO=none
IPADDR="12.34.567.8cc"
NETMASK="255.255.255.248"
GATEWAY="12.34.567.8bb"
TYPE=Ethernet
DNS1="xx.xx.xx.xx,xx.xx.yy.yy"
~
"/etc/sysconfig/network-scripts/ifcfg-eth0" 13L, 281C

A seguir, os resultados dos comandos nmcli executados dentro do CONVIDADO:

[root@localhost ~]# nmcli con show
NAME  UUID              TYPE            DEVICE
eth0  very-long-string  802-3-ethernet  eth0


[root@localhost ~]# nmcli con show eth0
connection.id:                          eth0
connection.uuid:                        very-long-string
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1490079856
connection.read-only:                   no
connection.autoconnect-slaves:          -1 (default)
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)
802-3-ethernet.speed:                   0
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             qq:ww:ee:rr:tt:yy (not really qwerty)
802-3-ethernet.mtu:                     auto
802-3-ethernet.wake-on-lan:             1 (default)
ipv4.method:                            manual
ipv4.dns:                               xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options:                       (default)
ipv4.dns-priority:                      0
ipv4.addresses:                         12.34.567.8cc/29
ipv4.gateway:                           12.34.567.8bb
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
.........skipping ipv6 stuff
GENERAL.NAME:                           eth0
GENERAL.UUID:                           very-long-string
GENERAL.DEVICES:                        eth0
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT:                    /
IP4.ADDRESS[1]:                         12.34.567.8cc/29
IP4.GATEWAY:                            12.34.567.8bb
IP4.DNS[1]:                             xx.xx.xx.xx
IP4.DNS[2]:                             xx.xx.yy.yy
......skipping ipv6 stuff
[root@localhost ~]#  

@ Sugestões do garethTheRed:

Após inserir os comandos de 4 nmcli do @ garethTheRed e executar novamente o comando virt-install com --network bridge=br1 para criar uma nova máquina virtual, a configuração do firewall no HOST agora é:

[root@remote-host ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: br0 br1 eno1
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:

[root@remote-host ~]#  

Em seguida, no GUEST, as configurações do firewall são:

[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:

[root@localhost ~]#

Da mesma forma, os resultados a seguir parecem indicar que o roteamento está LIGADO no HOST:

[root@remote-host ~]# /sbin/sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@remote-host ~]#

Enquanto os seguintes resultados parecem indicar que o roteamento está DESLIGADO no CONVIDADO:

[root@localhost ~]# /sbin/sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
[root@localhost ~]#  

ip addr show no HOST fornece o seguinte:

[root@remote-host ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 12.34.567.8aa/29 brd 12.34.567.8(bb+1) scope global eno1
       valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
41: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 12.34.567.8aa/29 brd 12.34.567.8(bb+1) scope global br0
       valid_lft forever preferred_lft forever
50: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 12.34.567.8cc/29 brd 12.34.567.8(bb+1) scope global br1
       valid_lft forever preferred_lft forever
51: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet6 ipv6:doesnt:matter:to:me/64 scope link
       valid_lft forever preferred_lft forever
[root@remote-host ~]#

Noto que eno1 e br0 têm o mesmo endereço IP. Isso significa que é seguro remover o IP de eno1 e ter o mundo externo ainda capaz de se comunicar com o mesmo endereço IP da máquina via br0 ? Eu ainda estou aprendendo como isso funciona.

No convidado, ip addr show fornece o seguinte:

[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
    inet 12.34.567.8cc/29 brd 12.34.567.8(bb+1) scope global eth0
       valid_lft forever preferred_lft forever
[root@localhost ~]#

Embora eu prefira usar nmcli e NetworkManager para tudo, estou incluindo virsh informações de diagnóstico abaixo, como segue. Observe que o HOST só vê a rede padrão.

Todos os itens a seguir foram executados no HOST:

[root@remote-host ~]# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes

[root@remote-host ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000000000000       no
br1             8000.oneLongID...       yes             vnet0
virbr0          8000.secondLongID       yes             virbr0-nic

[root@remote-host ~]# virsh edit public-centos7
    ....skipping irrelevant stuff for brevity
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='qq:ww:ee:rr:tt:yy'/>
      <source bridge='br1'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    .....skipping irrelevant stuff
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    ....skipping irrelevant stuff
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>

[root@remote-host ~]# virsh net-dumpxml default
<network>
  <name>default</name>
  <uuid>some-very-long-complex-string</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='aa:nn:oo:tt:hh:er'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

Eu então criei uma segunda rede no HOST com os seguintes comandos:

vi /root/test-bridge.xml

    <network>
      <name>test-bridge</name>
      <forward mode="bridge"/>
      <bridge name="br1"/>
    </network>

virsh net-create /root/test-bridge.xml

Depois de criar o novo test-bridge , o mundo externo agora pode obter com sucesso ping 12.34.567.8cc . Mas o CONVIDADO ainda não é capaz de obter uma resposta do mundo exterior com ping 8.8.8.8 .

No CONVIDADO, verifiquei se a rota estava definida e deu o seguinte:

[root@localhost ~]# ip route
default via 12.34.567.8bb dev eth0  proto static  metric 100
12.34.567.8mm/29 dev eth0  proto kernel  scope link  src 12.34.567.8cc  metric 100

Onde 12.34.567.8bb é o gateway correto do roteador físico, 12.34.567.8cc é o IP público estático correto / esperado para o CONVIDADO e 12.34.567.8mm NÃO É UM DOS ENDEREÇOS IP PÚBLICOS ESTÁTICOS QUE É ALOCADO PARA NÓS. No entanto, 12.34.567.8mm é igual a 12.34.567.(8aa-1) , o que significa que pode ter sido derivado programaticamente de um dos nossos cinco endereços IP públicos.

Quando eu pergunto a virsh no HOST para mostrar a interface do GUEST e o ip, virsh é capaz de mostrar a interface, mas não o ip, como segue:

[root@remote-host ~]# virsh domiflist public-centos7
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br1        virtio      11:22:33:44:55:66

[root@remote-host ~]# virsh domifaddr public-centos7
 Name       MAC address          Protocol     Address
------------------------------------------------------

[root@remote-host ~]#  

Adicionar firewall --disabled e selinux --disabled ao arquivo de kickstart e reinstalá-lo com o mesmo comando virt-install não resultou na capacidade de ping 8.8.8.8 para o mundo externo com êxito de dentro de uma VM recém-criada.

O que mais devo experimentar?

    
por CodeMed 21.03.2017 / 02:48

1 resposta

1

É normal adicionar as configurações de rede à ponte; não a interface física.

Remova os detalhes do IP de eno1 (primeiro verifique se você sabe como restabelecê-los, se necessário).

Então, tente:

nmcli connection add type bridge autoconnect yes con-name br1 ifname br1 
nmcli connection modify br1 ipv4.addresses aa.bb.cc.dd/29 ipv4.method manual 
nmcli connection modify br1 ipv4.gateway aa.bb.cc.ee
nmcli connection modify br1 ipv4.dns xx.xx.xx.xx

Onde aa.bb.cc.dd etc são as configurações de IP que você tinha em eno1 .

No host, você precisará carregar o módulo br_netfilter :

modprobe br_netfilter

Em seguida, crie /etc/sysctl.d/bridge.conf com:

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

e carregue as configurações:

sysctl -p /etc/sysctl.d/bridge.conf

Por fim, execute virt-install com --net bridge=br1

Dê ao convidado e ao endereço IP e tente fazer o ping no próximo host.

Lembre-se de que você precisa considerar firewalls e também ativar o roteamento no host.

    
por 21.03.2017 / 16:24