web-dev-qa-db-fra.com

Peut ping mais ne peut pas wget sur l'hôte avec une interface de pont

Cela me rend fou, car j'ai passé les deux derniers jours à essayer de résoudre ce problème.

J'ai un serveur Ubuntu 14.04.2 LTS avec KVM et libvirt. J'ai deux machines virtuelles invitées:

  1. pfSense-2.2: interfaces réseau virtio, WAN1 - câble, WAN2: aDSL et IP de réseau local: 192.168.2.13
  2. Ubuntu Server 14.10: interface réseau ne2000, IP: 192.168.2.10 (Nom d’hôte: deathstar)

L'hôte possède des interfaces pontées comme suit:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.2.10
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        gateway 192.168.2.13
        bridge_ports eth0
        bridge_stp on
        bridge_fd 0
        bridge_maxwait 0
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.2.13
        dns-search localdomain

auto br1
iface br1 inet manual
        bridge_ports eth1
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

auto br2
iface br2 inet manual
        bridge_ports eth2
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

L'invité pfSense avec les interfaces virtio-pontées fonctionne parfaitement, mais le deuxième invité avec Ubuntu fonctionne correctement uniquement avec l'interface ne2000. Si j'utilise plutôt l'interface virtio-pontée, il peut envoyer une requête ping et résoudre le DNS de manière parfaite. .

Ce n'est pas grave, je peux vivre avec ne2000, mais la machine hôte ne peut désormais pas accéder à Internet, même symptôme qu'auparavant, je peux cingler et résoudre le DNS, mais je ne peux pas accéder avec wget ou apt-get.

Ce qui est amusant, c’est que cela fonctionnait parfaitement jusqu’à il y a environ 10 jours. Une mise à jour du système a probablement "cassé" quelque chose dans la machine hôte et il ne peut plus être mis à jour ni accéder à aucun site.

J'ai cherché plusieurs fois dans différents forums, essayé de désactiver IPv6 (de nombreuses personnes ont signalé que le problème était résolu), activé et désactivé bridge_stp, inclus et exclu "auto eth0" du fichier/etc/network/interfaces, etc., mais rien ne fonctionne Je suis coincé avec ça.

Comme vous pouvez voir DNS et ping fonctionne bien ...

pablot@deathstar:~$ ping google.com
PING google.com (173.194.42.14) 56(84) bytes of data.
64 bytes from eze03s05-in-f14.1e100.net (173.194.42.14): icmp_seq=1 ttl=51 time=26.0 ms
64 bytes from eze03s05-in-f14.1e100.net (173.194.42.14): icmp_seq=2 ttl=51 time=27.4 ms
64 bytes from eze03s05-in-f14.1e100.net (173.194.42.14): icmp_seq=3 ttl=51 time=24.9 ms
64 bytes from eze03s05-in-f14.1e100.net (173.194.42.14): icmp_seq=4 ttl=51 time=24.7 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 24.732/25.798/27.421/1.071 ms
pablot@deathstar:~$

Mais tout le reste échoue ...

pablot@deathstar:~$ Sudo apt-get update
0% [Connecting to ar.archive.ubuntu.com (200.236.31.4)]

Cela se termine simplement comme ça ...

Err http://ar.archive.ubuntu.com trusty InRelease

Err http://ar.archive.ubuntu.com trusty-updates InRelease

Err http://ar.archive.ubuntu.com trusty Release.gpg
  Unable to connect to ar.archive.ubuntu.com:http:
Err http://ar.archive.ubuntu.com trusty-updates Release.gpg
  Unable to connect to ar.archive.ubuntu.com:http:
Reading package lists... Done
W: Failed to fetch http://ar.archive.ubuntu.com/ubuntu/dists/trusty/InRelease

W: Failed to fetch http://ar.archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease

W: Failed to fetch http://ar.archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg  Unable to connect to ar.archive.ubuntu.com:http:

W: Failed to fetch http://ar.archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg  Unable to connect to ar.archive.ubuntu.com:http:

W: Some index files failed to download. They have been ignored, or old ones used instead.

Et c'est ce que je reçois avec wget ...

pablot@deathstar:~$ wget google.com
--2015-03-17 10:13:20--  http://google.com/
Resolving google.com (google.com)... 173.194.42.0, 173.194.42.1, 173.194.42.9, ...
Connecting to google.com (google.com)|173.194.42.0|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.1|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.9|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.3|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.7|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.14|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.4|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.2|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.42.8|:80...

J'ai remplacé mon pare-feu par une nouvelle installation pfSense (juste au cas où je me serais bloquée sans le savoir) et les mêmes résultats. J'ai également installé la même version d'Ubuntu sur une Virtualbox sur mon bloc-notes et l'ai essayée avec des interfaces pontées et non pontées et fonctionne parfaitement sur les deux cas avec le même pare-feu.

Donc, tout me fait penser que ma machine hôte a une configuration erronée qui affecte également uniquement l'installation d'ubuntu avec une interface pontée, mais ne la trouve pas.

Toute aide sera fortement appréciée.

Merci d'avance, Pablo

6
pablot

J'ai eu le même problème si j'ai utilisé des ponts Linux standard ou des ponts virtuels ouverts sur le serveur KVM. Enfin, j'ai trouvé la réponse sur la page Web pfSense sous Assistance du pilote VirtIO:

Désactiver le déchargement de la somme de contrôle du matériel avec l'actuel (2014-06-11 ) état des pilotes de réseau VirtIO sous FreeBSD, il est nécessaire de cocher la case Désactiver le déchargement de la somme de contrôle du matériel sous Système> Avancé sous l’onglet Réseau et de redémarrer manuellement pfSense après avoir enregistré le paramètre, même s’il n’est pas demandé de le faire. capable d'atteindre des systèmes (au moins d'autres VM invités, éventuellement d'autres) protégés par pfSense directement à partir de l'hôte VM. Le problème semble être lié à https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=165059

Cela a fonctionné pour moi.

3
Matthias Lang

J'ai eu un problème avec les mêmes symptômes, ma configuration était la suivante: Ordinateur portable Lenovo exécutant Ubuntu en natif. J'ai créé manuellement un pont avec des interfaces USB-Enet utilisant le pilote ax88179_178a. J'utilise le pont afin de simuler de mauvaises conditions de réseau pour tout ce qui est attaché à "l'autre côté" du pont.

J'ai pu faire un ping et ssh dans un périphérique via le pont, mais wget ne fonctionnerait pas.

J'ai essayé de désactiver IPv6 comme décrit ici sans succès. J'ai également essayé de déconner avec les paramètres de MTU, mais n'a pas eu de chance.

Ce qui a finalement fonctionné pour moi a été d’utiliser le port Ethernet natif de l’ordinateur portable comme une des interfaces de pont et d’utiliser le dongle comme deuxième port du pont. Une fois que j'ai fait cela, tout a bien fonctionné. Donc, pour moi, le problème est un bogue dans le pilote des interfaces que j'utilisais.

0
BenB