VMWare로 인해 Linux 호스트의 네트워크 연결이 끊깁니까?

VMWare로 인해 Linux 호스트의 네트워크 연결이 끊깁니까?

최근에 12.10에서 Xubuntu 13.04로 업그레이드했는데, 이를 위해서는 Linux용 VMWare Player를 제거하고 다시 설치해야 했습니다. 얼마 지나지 않아(언제 확실하지 않음) Xubuntu 호스트에서 네트워크 연결이 끊어졌습니다.

이것은 내 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)

Virtualbox와 VMWare Player가 설치되어 있으므로 vmnet 항목이 두 개 있는 것 같습니다.

내 호스트에서는 때때로 DNS(8.8.8.8)를 ping할 수 있지만 다른 것(예: www.google.com)은 할 수 없습니다. 나는 많은 것을 시도했지만 아무 소용이 없었습니다.

vmnet1의 IP 주소는 192.168.254.1인데, eth1(192.168.254.27)과 동일한 네트워크에 있습니다. 문제가 있습니까? 이것이 eth1을 방해하고 네트워크 연결을 방해합니까? vmnet1은 다른 내부 네트워크(예: 10.xxx)에 있어야 합니까?

그렇다면 어떻게 변경할 수 있나요?


[고쳐 쓰다] @slm의 쿼리를 기반으로 한 추가 정보는 다음과 같습니다.

확실히 말할 수는 없지만 예전에는 eth0이었던 것 같습니다. 언제 바뀌었는지는 확실하지 않습니다.

제가 확인한 다른 사항은 다음과 같습니다.

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

나는 modprobe에 대해 잘 모르지만 누군가 다음과 같이 제안했습니다.

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

그게 무슨 뜻인지 잘 모르겠습니다.

마지막으로 /etc/udev/rules.d/70-pertant-net.rules에 대한 질문에 대해 말씀드리겠습니다. 실제로 4개의 항목이 있습니다. 네트워크 카드가 하나만 있는 것 같기 때문에 이유를 모르겠습니다(실행 sudo lshw -class network및 위의 정보를 기반으로 함).

$ 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"

답변1

귀하의 이더넷 장치는 eth0이 아닌 eth1입니다. 이상하게 보입니다. 이더넷 장치가 eth0이었던 것을 기억하십니까? 업그레이드할 때 udev 규칙에 문제가 발생한 것 같습니다.

시스템에 이더넷 네트워크 카드가 하나만 있다고 가정하고 이 파일을 확인하여 항목이 하나만 있는지 확인하십시오.

# /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"

SUBSYSTEM파일 끝에는 한 줄만 있어야 합니다. 행이 더 많은 경우 추가 행을 삭제하고 남은 행이 할당된 MAC 주소에 맞는지 확인해야 합니다.

편집 #1

OP의 파일에 대한 피드백을 바탕으로 /etc/udev/rules.d/70-persistent-net.rules다음과 같이 변경하겠습니다.

$ 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"

편집 #2

다시 설치해 보셨나요? Vmnet1은 가상 머신과 가상 머신이 실행 중인 호스트에 대해서만 로컬 네트워크로 간주됩니다. vmnet1에서 사용하는 IP 주소가 LAN의 다른 시스템에서도 사용되어 충돌이 발생하는 것 같습니다. 다음 제목의 튜토리얼을 확인하세요.VMWare 인터페이스 튜토리얼.

자세한 내용은 다음 섹션을 참조하세요.호스트 네트워크 연결만 가능. 튜토리얼의 이 이미지는 귀하가 보고한 것과 유사한 설정을 보여줍니다.

                      네트워크 SS

따라서 문제는 원래 eth1 장치의 IP 주소(192.168.254.27)와 vmnet에서 사용하는 IP 주소/서브넷(192.168.254.1) 사이의 충돌인 것으로 보입니다. 호스트의 로컬 라우팅이 충돌하는 경로를 설정할 수 있기 때문입니다.

특정 IP 주소로의 트래픽을 여러 위치로 라우팅하는 항목이 있을 수 있지만 이는 허용되지 않습니다.

답변2

내 질문에 대한 대답은 "예"입니다. VMWare는 동일한 192.168.xx 네트워크에 있기 때문에 내 호스트 네트워크 연결을 호스팅하고 있습니다. 이로 인해 잘못된 라우팅이 발생했습니다. VMWare를 제거하고 기존 구성을 모두 삭제하도록 지시한 후(게스트 이미지를 백업한 후) 다시 설치했습니다. 다시 설치한 후에도 호스트 네트워크는 계속 작동하고 VMWare는 제대로 작동합니다(예: 게스트를 시작하고 인터넷에 액세스할 수 있습니다 등). 이제 모든 것이 괜찮습니다.

이것은 내 현재 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)

vmnet1은 다른 네트워크(172.16)에 있고 vmnet8은 192.168 네트워크에 있습니다. 이는 호스트에 대한 네트워크 연결이 끊어졌을 때 발생한 것과 반대입니다.

[고쳐 쓰다]: 자세한 설명은 @slm의 편집 #2를 참조하세요.

관련 정보