BEARBEITEN

BEARBEITEN

Ich suche seit einigen Tagen nach der Antwort und jede Konfiguration ist für mich richtig, um das Netzwerk zum Laufen zu bringen.

Ich habe CentOS 7 (10.120.0.57) mit installiertem KVM darauf. Ich habe einen einfachen Gast (10.120.0.58) VM auch mit CentOS7, aber ich habe ein Problem mit dem Netzwerk auf dem Gast. Der Host kann auf das Internet zugreifen und den Gastcomputer anpingen. Der Gast kann den Host ebenfalls anpingen, aber wenn er eine andere IP anpingt, erhält er:Ziel unerreichbar. Ich habe Firewall und Selinux auf beiden Maschinen im Voraus deaktiviert, um Probleme zu vermeiden.

Die Brücke meines Hosts sollte den Datenverkehr durchlassen, da ich /etc/sysctl.conf (!!!) festgelegt habe.

net.ipv4.ip_forward = 1
net.ipv4.conf.all.proxy_arp = 1

Auf Host intcpdumpIch kann die ICMP-Pakete vom Gast sehen, aber es sind nur Einweganfragen (keine Antworten), wenn ich versuche, das echte Gateway des Netzwerks anzupingen (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

Wenn ich vom Gast aus pinge, z. B. google.com (TCPdump vom 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

Aber natürlich funktioniert Ping, wenn ich Guest anpinge (10.120.0.58)<=> Gastgeber(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

Kann mir jemand erklären, was mit meiner Host/Gast-Konfiguration nicht stimmt?

GASTGEBER: 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

br0-Konfiguration:

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

eno16780032-Konfiguration:

TYPE="Ethernet"
#NAME="eno16780032"
#UUID="4fc9740c-536a-4330-aab4-bdef7489582f"
DEVICE="eno16780032"
ONBOOT="yes"
NM_CONTROLLED=no
BRIDGE=br0

Brücke:

bridge name     bridge id               STP enabled     interfaces
br0             8000.000c29d514fa       yes             eno16780032
                                                        vnet0
                                                        vnet1
virbr0          8000.5254009fde66       yes             virbr0-nic

Hostet /etc/sysconfig/network:

# Created by anaconda
NETWORKING=yes
GATEWAY=10.120.0.1

Gast-eth0-Konfiguration:

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"

Vielen Dank im Voraus für Ihren Besuch.

BEARBEITEN

Ich füge das iptables-Ergebnis vom Host hinzu:

[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 vom Gast:

[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 vom Gast(10.120.0.58) bis 8.8.8.8:

 1?: [LOCALHOST]                                         pmtu 1500
 1:  10.120.0.58                                         3012.516ms !H
                   Resume: pmtu 1500

BEARBEITEN2

ich füge hinzuiptables -L -v -nErgebnisse. Vom Host:

[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

Vom Gast:

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

Antwort1

Da Sie das physische Gerät Ihres Hosts mit der virtuellen Maschine verbunden haben (ich vermute vnet0und/oder vnet1sind die Geräte, die für die VM verwendet werden), haben Sie physischen Zugriff auf das 10.120.0.0/24Netzwerk innerhalb Ihrer VM.
Sie sollten also ersetzen

GATEWAY="10.120.0.57" (!?)
DNS1="10.120.0.57"

von

GATEWAY="110.120.0.1"
DNS1="10.120.0.1"

Antwort2

Ich habe genau das gleiche Problem. Es sieht nach einem Fehler im Virtio-Netzwerktreiber aus. Um das Problem zu lösen, habe ich die folgenden Änderungen vorgenommen:

Auf Centos 7 - KVM -->

  1. Deaktivieren Sie den NetworkManager-Dienst auf Centos 7, auf dem KVM ausgeführt wird, und aktivieren Sie den alten „Netzwerk“-Dienst.
  2. Definieren Sie Ihr GATEWAY in /etc/sysconfig/network und nehmen Sie alle notwendigen Änderungen in /etc/sysconfig/network-scripts/ifcfg-eth0 (oder ähnlich) vor. Legen Sie IPADDR, NETMASK usw. fest.
  3. Ändern Sie den virtuellen Netzwerktreiber (über virt-manager) für Ihre Gastmaschinen.Stellen Sie es auf „e1000“ ein.

Auf Ihrem Gast -->

  1. Machen Sie genau dasselbe. Deaktivieren Sie NetworkManager und aktivieren Sie den Netzwerkdienst.
  2. Diese Änderung kann sich auf den Namen der Netzwerkschnittstelle auswirken. Überprüfen Sie daher den neuen Namen mit dem Befehl #cat /proc/net/dev (Centos-Gäste).

Das oben genannte funktioniert bei mir. Ich habe mehr als eine Woche damit verbracht, eine Lösung zu finden.

verwandte Informationen