
Estou procurando a resposta há alguns dias e qualquer configuração é adequada para que a rede funcione.
Eu tenho o CentOS 7 (10.120.0.57) com KVM instalado nele. Eu criei um convidado simples (10.120.0.58) vm com CentOS7 também, mas estou com alguns problemas de rede no convidado. O host pode acessar a Internet e fazer ping na máquina convidada. O convidado também pode executar ping no host, mas quando executa ping em outro IP, obtém:Destino inalcançável. Desativei antecipadamente o firewalld e o selinux em ambas as máquinas para eliminar problemas.
Minha ponte de hosts deve passar tráfego porque eu configurei /etc/sysctl.conf (!!!)
net.ipv4.ip_forward = 1
net.ipv4.conf.all.proxy_arp = 1
No host emtcpdumpPosso ver os pacotes ICMP do convidado, mas são apenas solicitações unidirecionais (sem respostas), quando tento fazer ping no gateway real da rede (10.120.0.1)
IP 10.120.0.58 > gateway: ICMP echo request, id 3716, seq 1, length 64
IP 10.120.0.58 > gateway: ICMP echo request, id 3716, seq 2, length 64
Se eu fizer ping de um convidado, por exemplo, google.com (tcpdump do host):
IP localhost.localdomain > 10.120.0.58: ICMP localhost.localdomain udp port domain unreachable, length 64
IP localhost.localdomain > 10.120.0.58: ICMP localhost.localdomain udp port domain unreachable, length 64
Mas é claro que o ping está funcionando quando eu faço ping no Guest (10.120.0.58)<=> Anfitrião(10.120.0.57):
10.120.0.58 > localhost.localdomain: ICMP echo request, id 3719, seq 8, length 64
localhost.localdomain > 10.120.0.58: ICMP echo reply, id 3719, seq 8, length 64
Alguém poderia me esclarecer o que há de errado com minha configuração de Host/Convidado?
HOSPEDAR: ifconfig -a:
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.120.0.57 netmask 255.255.255.0 broadcast 10.120.0.255
inet6 fe80::20c:29ff:fed5:14fa prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d5:14:fa txqueuelen 1000 (Ethernet)
RX packets 74849 bytes 6444652 (6.1 MiB)
RX errors 0 dropped 100 overruns 0 frame 0
TX packets 1033 bytes 88046 (85.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16780032: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fed5:14fa prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d5:14:fa txqueuelen 1000 (Ethernet)
RX packets 2975 bytes 239252 (233.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 164 bytes 23286 (22.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 6 bytes 644 (644.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 644 (644.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:9f:de:66 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:9f:de:66 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether fe:54:00:7f:c5:c5 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 5885 overruns 0 carrier 0 collisions 0
vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether fe:54:00:b0:3d:40 txqueuelen 1000 (Ethernet)
RX packets 420 bytes 34697 (33.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 111762 bytes 9374955 (8.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
configuração br0:
DEVICE=br0
BOOTPROTO=static
TYPE=Bridge
ONBOOT=yes
IPADDR="10.120.0.57"
NETMASK="255.255.255.0"
#GATEWAY="10.120.0.1"
#DNS1="10.120.0.1"
#DNS2="8.8.8.8"
STP=yes
DELAY=0
NM_CONTROLLED=no
Configuração eno16780032:
TYPE="Ethernet"
#NAME="eno16780032"
#UUID="4fc9740c-536a-4330-aab4-bdef7489582f"
DEVICE="eno16780032"
ONBOOT="yes"
NM_CONTROLLED=no
BRIDGE=br0
ponte:
bridge name bridge id STP enabled interfaces
br0 8000.000c29d514fa yes eno16780032
vnet0
vnet1
virbr0 8000.5254009fde66 yes virbr0-nic
Hosts /etc/sysconfig/network:
# Created by anaconda
NETWORKING=yes
GATEWAY=10.120.0.1
Configuração do convidado eth0:
DEVICE=eth0
NAME=eth0
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR="10.120.0.58"
NETMASK="255.255.255.0"
GATEWAY="10.120.0.57" (!?)
DNS1="10.120.0.57"
DNS2="8.8.8.8"
Agradecemos antecipadamente por dar uma olhada.
EDITAR
Eu adiciono o resultado do iptables do host:
[root@localhost ~]# iptables -L -v -n -t nat
Chain PREROUTING (policy ACCEPT 59 packets, 4981 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 34 packets, 3619 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2 packets, 103 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 2 packets, 103 bytes)
pkts bytes target prot opt in out source destination
Iptables do convidado:
[root@localhost ~]# iptables -L -v -n -t nat
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Tracepath do convidado(10.120.0.58) a 8.8.8.8:
1?: [LOCALHOST] pmtu 1500
1: 10.120.0.58 3012.516ms !H
Resume: pmtu 1500
EDITAR2
Eu adicionotabelas de ip -L -v -nresultados. Do anfitrião:
[root@localhost ~]# iptables -L -v -n
Chain INPUT (policy ACCEPT 162K packets, 17M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 8 packets, 476 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 3894 packets, 309K bytes)
pkts bytes target prot opt in out source destination
Do convidado:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Responder1
Como você conectou o dispositivo físico do seu host com a máquina virtual (eu acho vnet0
e/ou vnet1
são os dispositivos usados para a VM), você tem acesso físico à 10.120.0.0/24
rede dentro da sua VM.
Então você deve substituir
GATEWAY="10.120.0.57" (!?)
DNS1="10.120.0.57"
por
GATEWAY="110.120.0.1"
DNS1="10.120.0.1"
Responder2
Eu tenho exatamente o mesmo problema. parece um bug no driver de rede virtio. Para resolver o problema fiz as seguintes alterações:
No Centos 7 - KVM ->
- Desative o serviço NetworkManager no Centos 7 executando o KVM e habilite o antigo serviço de ‘rede’.
- Defina seu GATEWAY em /etc/sysconfig/network e faça todas as alterações necessárias em /etc/sysconfig/network-scripts/ifcfg-eth0 (ou similar). Defina IPADDR, NETMASK etc.
- Altere o driver de rede virtual (por meio do virt-manager) para suas máquinas convidadas.Defina-o como 'e1000'
No seu convidado ->
- Fazem exatamente o mesmo. Desative o NetworkManager e ative o serviço de rede.
- Esta mudança pode afetar o nome da interface de rede, então verifique o novo nome usando o comando #cat /proc/net/dev (centos convidados)
O acima funciona para mim. Passei mais de uma semana para encontrar uma solução.