O VMWare faz com que meu host Linux perca conectividade de rede?

1

Eu recentemente atualizei para o Xubuntu 13.04 de 12.10, que exigia a desinstalação e a reinstalação do VMWare Player for Linux. Logo depois (não sei exatamente o momento) perdi a conectividade de rede no meu host Xubuntu.

Aqui está o meu ifconfig:

$ ifconfig
eth1      Link encap:Ethernet  HWaddr 00:90:f5:d8:8e:6a  
          inet addr:192.168.254.27  Bcast:192.168.254.255  Mask:255.255.255.0
          inet6 addr: fe80::290:f5ff:fed8:8e6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:914 errors:0 dropped:0 overruns:0 frame:0
          TX packets:343 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:61498 (61.4 KB)  TX bytes:32037 (32.0 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:336 errors:0 dropped:0 overruns:0 frame:0
          TX packets:336 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:54571 (54.5 KB)  TX bytes:54571 (54.5 KB)

vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01  
          inet addr:192.168.254.1  Bcast:192.168.254.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08  
          inet addr:172.16.145.1  Bcast:172.16.145.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Eu tenho o VirtualBox e o VMWare player instalados, então estou achando que é por isso que tenho duas entradas de vmnet.

No meu host eu posso às vezes (parece ir e vir) ping DNS (8.8.8.8), mas nunca mais nada (como www.google.com). Eu tentei várias coisas sem sucesso.

É um problema que a vmnet1 tenha o endereço IP 192.168.254.1, que está na mesma rede que a eth1 (192.168.254.27)? Isso está interferindo na eth1 e bloqueando a conectividade de rede? A vmnet1 deve estar em uma rede interna diferente, como 10.x.x.x?

Se sim, como posso alterá-lo?

[Atualizar] Aqui está mais informações com base no que @slm perguntou:

Eu não posso dizer com certeza, mas parece-me que costumava eth0. Não tenho certeza quando mudou.

Aqui estão mais algumas coisas que eu verifiquei:

$ ls -d /sys/class/net/eth* 
/sys/class/net/eth1

Eu não gosto muito de modprobe, mas alguém sugeriu fazer isso:

$ modprobe -c | grep 'eth[0-9]'
blacklist eth1394

Não tenho certeza do que isso significa.

Finalmente, na sua pergunta sobre /etc/udev/rules.d/70-persistent-net.rules. Na verdade, eu tenho quatro entradas, não tenho certeza por que, parece que eu tenho apenas um NIC (com base na execução de sudo lshw -class network e acima de informações)

$ cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x14e4:/sys/devices/pci0000:00/0000:00:1c.0/0000:08:00.0 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:38:37:96:26", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:1c.1/0000:10:00.0 (iwl3945)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:77:92:2d:9c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

# PCI device 0x10ec:/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.2 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:90:f5:d8:8e:6a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:1c.2/0000:02:00.0 (iwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="58:91:cf:52:e2:11", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"
    
por quux00 13.06.2013 / 03:53

2 respostas

0

A resposta para minha pergunta foi "sim" - a VMWare estava conectando minha rede de host porque estava na mesma rede 192.168.x.x. Isso estava levando a um roteamento incorreto. Eu desinstalei o VMWare, dizendo-lhe para remover todas as configurações existentes (depois de fazer backup de minhas imagens de convidado) e reinstalado. Após a reinstalação, minha rede host continuou a funcionar e o VMWare funcionou corretamente (ou seja, eu poderia inicializar os convidados e acessar a Internet, etc.). Então tudo está bem agora.

Aqui está minha saída atual do ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:90:f5:d8:8e:6a 
          inet addr:192.168.254.27  Bcast:192.168.254.255  Mask:255.255.255.0
          inet6 addr: fe80::290:f5ff:fed8:8e6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:141969 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76218 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:204301662 (204.3 MB)  TX bytes:6255750 (6.2 MB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1065 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1065 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:154990 (154.9 KB)  TX bytes:154990 (154.9 KB)

vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01 
          inet addr:172.16.145.1  Bcast:172.16.145.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08 
          inet addr:192.168.17.1  Bcast:192.168.17.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Observe que vmnet1 está em uma rede diferente (172.16), enquanto vmnet8 está na rede 192.168 - o oposto do que eu tinha quando perdi a conectividade de rede do host.

[Atualização] : consulte a edição # 2 do @slm para obter detalhes adicionais que expliquem mais sobre isso.

    
por 15.06.2013 / 04:30
2

Parece estranho que seu dispositivo ethernet seja eth1 e não eth0. Você se lembra se seu dispositivo ethernet era eth0 anteriormente? Eu suspeito que quando você atualizou algo aconteceu com suas regras do udev.

Supondo que você tenha apenas uma única NIC Ethernet em seu sistema, verifique este arquivo e certifique-se de que haja apenas uma única entrada:

# /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Você deve ter apenas uma única linha SUBSYSTEM no final deste arquivo. Se você tiver mais, precisará excluir quaisquer linhas extras e certificar-se de que a que permanece está correta em termos do endereço MAC que está especificando.

EDIT # 1

Com base no feedback do OP em seu arquivo: /etc/udev/rules.d/70-persistent-net.rules , eu faria as seguintes alterações:

$ cat /etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x10ec:/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.2 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:90:f5:d8:8e:6a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

EDIT # 2

Você tentou reinstalá-lo ainda? O Vmnet1 deve ser uma rede local apenas para as VMs e o host em que elas estão sendo executadas. Eu suspeito que o que está acontecendo é que o endereço IP que está sendo usado pelo seu vmnet1 também é usado por outro sistema em sua LAN causando um conflito. Dê uma olhada neste tutorial, intitulado: Tutorial de Interfaces VMWare .

Especificamente, confira a seção sobre Conexão de rede somente host . Este diagrama desse tutorial mostra uma configuração semelhante ao que você está relatando.

Portanto, o problema parece ser que o endereço IP do seu dispositivo eth1 original (192.168.254.27) e o endereço IP / sub-rede sendo usado por vmnet (192.168.254.1) estavam em conflito porque o local de roteamento do seu host provavelmente estava sendo configurado com roteamento conflitante.

Provavelmente, havia entradas que direcionavam o tráfego destinado a um determinado endereço IP para vários locais, o que não é permitido.

    
por 13.06.2013 / 09:40