概要
デフォルトでは、Elastic Compute Service (ECS) インスタンスは動的ホスト構成プロトコル (DHCP) を使用して、Elastic Network Interface (ENI) に IP アドレスを自動的に割り当て、IP アドレスのリース有効期間を取得します。通常、Linux インスタンス上の dhclient プロセスは、DHCP サーバーと定期的にリース有効期間を更新して、インスタンスの IP アドレスが利用可能であることを確保します。次の問題により、Linux インスタンス上の DHCP サービスが正常に動作せず、ネットワーク接続が失敗する場合があります:
ネットワークインターフェイス設定ファイルに誤りがある。
ネットワークインターフェイスの
dhclientプロセスが実行されていない。
このトピックでは、ローカルネットワークインターフェイスの DHCP 設定を確認し、関連する問題を解決する方法について説明します。
詳細情報
インスタンスやデータの変更などのリスクの高い操作を実行する場合は、インスタンスのディザスタリカバリおよびフォールトトレランス機能を理解したうえで、データのセキュリティを確保してください。
ECS や RDS などのインスタンスの設定またはデータを変更する前に、スナップショットを作成するか、RDS ログバックアップなどの機能を有効にしてください。
Alibaba Cloud プラットフォームで権限を付与した、またはログイン認証情報などのセキュリティ情報を送信した場合は、速やかに変更してください。
Linux インスタンスにリモートログインします。詳細については、「ECS インスタンスの接続方法の概要」をご参照ください。
説明セキュアシェルプロトコル (SSH) を使用して Linux インスタンスにリモートログインできない場合は、「SSH 経由で Linux インスタンスにリモートログインできない問題のトラブルシューティング」をご参照ください。
誤操作によるデータセキュリティリスクを回避するため、スナップショットを作成して ECS インスタンスをバックアップします。スナップショットの作成方法の詳細については、「スナップショットの作成」をご参照ください。
Linux インスタンスで、次のコマンドを実行して、既存のローカルネットワークインターフェイスを確認して記録します。
ls -al /sys/class/net/コマンドの出力は次の図のようになります。出力内の eth0 はローカルネットワークインターフェイスです。この例ではローカルネットワークインターフェイスが 1 つの場合を示しています。ECS インスタンスにセカンダリ ENI を追加している場合、実際の出力は異なる場合があります。

Linux インスタンスにローカルネットワークインターフェイスが 1 つだけある場合は、以降の手順に進んでください。ローカルネットワークインターフェイスが複数ある場合は、各インターフェイスに対して手順 5 ~ 8 を実行してください。
Linux インスタンスで、次のコマンドを実行して、ローカルネットワークインターフェイスの設定ファイルを確認します。
cat /etc/sysconfig/network-scripts/ifcfg-{ethX}説明「{ethX}」は、ローカルネットワークインターフェイス名のプレースホルダーです。eth0 など、実際のインターフェイス名に置き換えてください。
出力は次の例のようになります。出力内の
BOOTPROTO=dhcpは、ローカルネットワークインターフェイスが DHCP を使用して IP アドレスを取得することを示します。# cloud-init によりインスタンス起動時に自動作成されます。編集しないでください。 # cloud-init による自動生成を不要にする場合は、/etc/cloud/cloud.cfg で無効にできます # 詳細については、次を参照してください: https://www.alibabacloud.com/help/document_detail/57803.html # BOOTPROTO=dhcp DEVICE={ethX} ONBOOT=yes STARTMODE=auto TYPE=Ethernet USERCTL=no次の条件に応じて対応してください:
ローカルネットワークインターフェイスが DHCP を使用して IP アドレスを取得していない場合:この設定の理由をサーバー管理者に確認してください。DHCP が不要な場合、このトピックの以降の手順は適用されません。
ローカルネットワークインターフェイスが DHCP を使用して IP アドレスを取得している場合:Linux インスタンス上の設定ファイルを前述の例と比較し、スペルミスがないか確認してください。その後、次の手順に進んでください。
Linux インスタンスで、次のコマンドを実行して、該当するネットワークインターフェイスの
dhclientプロセスの状態を確認します。ps aux | grep dhclient | grep {ethX}次の条件に応じて対応してください:
コマンドがローカルネットワークインターフェイスの
dhclientプロセスを返す場合:このインターフェイスの DHCP サービスは正常です。
説明この例では eth0 インターフェイスを使用しています。実際の出力は異なる場合があります。
コマンドが何も返さない場合、
dhclientプロセスが実行されていません。次の手順に進んでください。
Linux インスタンスで、次のコマンドを実行して、該当するネットワークインターフェイスの
dhclientプロセスを再起動します。ifup {ethX}次のコマンドを再度実行し、該当するネットワークインターフェイスの
dhclientプロセスが実行されていることを確認してください。ps aux | grep dhclient | grep {ethX}
関連ドキュメント
適用対象
Elastic Compute Service