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エントリが2つあるようです。

私のホストでは時々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つの項目があります。ネットワークカードが1つしかないようなので、理由はわかりません(実行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ルールに問題が発生したようです。

システムにイーサネットネットワークカードが1つしかないとし、このファイルを確認してエントリが1つしかないことを確認してください。

# /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ファイルの末尾には1行だけが必要です。より多くの行がある場合は、追加の行を削除し、残りの行が割り当てられた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アドレスへのトラフィックを複数の場所にルーティングするエントリがあるかもしれませんが、これは許可されていません。

おすすめ記事