Linux ベースのゲスト OS 内のネットワークの確認
search cancel

Linux ベースのゲスト OS 内のネットワークの確認

book

Article ID: 342973

calendar_today

Updated On:

Products

VMware VMware Cloud Director VMware Desktop Hypervisor VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

この記事には、Linux ベースのゲスト OS 内のネットワーク接続を確認する方法が記載されています。

Symptoms:

免責事項: これは英文の記事 「Verifying the networking within a Linux based guest operating system (2022022)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • 仮想マシンをネットワークに接続できない
  • 仮想マシンがネットワークに接続できない


Resolution

ネットワーク接続の問題がある場合、ゲスト OS が適切に構成されていることを確認します。
Linux 仮想マシンでゲスト OS が適切に構成されていることを確認するには:

  1. VMware Tools がゲスト OS にロードされていることを確認します。Linux 仮想マシンで、ゲスト OS を起動し、コマンド プロンプトを開くか、start X を実行してグラフィカル環境を起動します。次のコマンドを使用して VMware Tools バックグラウンド アプリケーションを起動することができます:

    vmware-toolboox &

    コマンドが実行されない場合、VMware Tools はインストールされていません。NIC が機能するには、VMware Tools がロードされている必要があります。詳細については、「Installing VMware Tools in a Linux virtual machine using a Compiler (1018414)」を参照してください。

  2. ifconfig を使用して、仮想ネットワーク アダプタが存在し、有効化されていることを確認します。何も表示されない場合、NIC がシャットダウンされているか、存在しない可能性があります。

    : ネットワーク インターフェイスは、アクティブ化されている場合は表示されますが、リンクは含まれません。 利用可能なようであれば、手順 3 に進みます。

    # ifconfig

    出力は次のようになります:

    eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
    inet addr:192.168.48.128 Bcast:192.168.48.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:14 errors:0 dropped:0 overruns:0 frame:0
    TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:2080 (2.0 KiB) TX bytes:7037 (6.8 KiB)

    lo Link encap:Local Loopback
    inet addr:xxx.x.x.x Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:1453 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1453 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:2294308 (2.1 MiB) TX bytes:2294308 (2.1 MiB)

  3. ethtool を使用して、リンク ステータスを確認します。これが失敗した場合、物理リンクに問題があるか、デュプレックス設定が適切ではありません。

    # ethtool eth#

    # は、 ifconfig に示されるように、ネットワーク アダプタの番号です。

    例:

    # ethtool eth0

    出力は次のようになります:

    Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 32
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: p
    Current message level: 0x00000007 (7)
    Link detected: yes

  4. リンクが検出されたら、 外部ソースに ping して、応答があるかどうかを確認します。これが失敗した場合、ルーティングに問題があるか、ホスト名が使用される場合は DNS に問題がある可能性があります。IP アドレスとホスト名に ping して両方を確認します。

    # ping ip address/hostname

    ip address/hostname は、既知の外部 IP アドレス、またはその他の仮想マシンまたは Workstation で動作することが知られている有効な解決可能なホスト名です。

    例:

    # ping 192.168.1.10

    PING 192.168.1.111 (192.168.1.111) from 192.168.1.100 : 56(84) bytes of data.
    From 192.168.1.111 icmp_seq=1 Destination Host Unreachable
    From 192.168.1.111 icmp_seq=2 Destination Host Unreachable
    From 192.168.1.111 icmp_seq=3 Destination Host Unreachable
    From 192.168.1.111 icmp_seq=4 Destination Host Unreachable
    From 192.168.1.111 icmp_seq=5 Destination Host Unreachable
    From 192.168.1.111 icmp_seq=6 Destination Host Unreachable
    --- 192.168.1.111 ping statistics ---
    8 packets transmitted, 0 received, +6 errors, 100% loss, time 7021ms, pipe 3

    • ホスト名ではなく IP を使用して ping 可能な場合、次を実行して、/etc/resolv.conf ファイルの DNS ネーム サーバ エントリが正しいことを確認します:

      less /etc/resolv.conf

    • ping 応答がない場合、ゲートウェイに ping し、次を実行してネットワーク設定を確認します:

      ping <gateway ip>
      less /etc/sysconfig/network

  5. ping が失敗した場合、 telnet コマンドを使用してさらに確認し、ネットワーク接続をテストします:

    # telnet <ip address> <port>

    例:

    # telnet 192.168.111 22

    Trying 192.168.1.111
    telnet: connect to address 192.168.1.111: Connection refused

  6. ping が成功し、特定のポートに接続できない場合、ポートがブロックされているか、環境のどこかでファイアウォールがアクティブになっています。 netstat コマンドを使用して、ソース システムのポートを確認します:

    # netstat -a

    出力は次のようになります:

    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 localhost:30037 *:* LISTEN
    udp 0 0 *:bootpc *:*

    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags Type State I-Node Path
    unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket

  7. すべてがリッスンし、開かれているような場合、 traceroute コマンドを使用して、接続が失敗している場所を確認します。通常、コマンドを使用して、利用可能な場合は vCenter Server などの環境における既知の良好な接続に戻るパスを追跡することをお勧めします。

    # traceroute ip address

    例:

    # traceroute 192.168.1.29

    Tracing route to VCENTERSRV [192.168.1.29]
    over a maximum of 30 hops:

    1 101 ms 100 ms 116 ms example.yourdomain.com [192.168.1.254]
    2 138 ms 152 ms 115 ms core.yourdomain.com [192.169.1.2]
    3 124 ms 134 ms 138 ms VCENTERSRV [192.168.1.29]

    Trace complete.

    ターゲット ホストにアクセスできません というエラー メッセージを受信した場合、ネットワーク接続の確立を妨げるファイアウォールかデバイスが存在します。障害が発生している場所をメモし、そこからトラブルシューティングを行います。


Additional Information

Verifying the networking within a Linux based guest operating system