Azure CLI を使用して仮想マシンに複数の IP アドレスを割り当てる

Azure 仮想マシン (VM) には、1 つ以上のネットワーク インターフェイス (NIC) がアタッチされています。 NIC には、1 つ以上の静的または動的パブリックおよびプライベート IP アドレスを割り当てることができます。

VM に複数の IP アドレスを割り当てると、次のことが可能になります。

  • 異なる IP アドレスと TLS/SSL 証明書を持つ複数のウェブサイトやサービスを、1 つのサーバーでホストする。

  • ファイアウォールやロード バランサーのような、ネットワーク仮想アプライアンスとして機能する。

  • 複数の NIC いずれかの複数のプライベート IP アドレスいずれかを Azure Load Balancer のバックエンド プールに追加する。 以前は、プライマリ NIC のプライマリ IP アドレスのみをバックエンド プールに追加できました。 複数の IP 構成の負荷分散方法の詳細については、複数の IP 構成の負荷分散に関する記事を参照してください。

VM に接続された各 NIC には、1 つ以上の IP 構成が関連付けられています。 各構成には、1 つの静的または動的プライベート IP アドレスが割り当てられています。 また、1 つのパブリック IP アドレス リソースが関連付けられている場合もあります。 Azure での IP アドレスの詳細については、Azure 内の IP アドレスに関するページを参照してください。

Note

1 つの NIC 上のすべての IP 構成は、同じサブネットに関連付けられている必要があります。 異なるサブネット上の複数の IP が必要な場合は、VM 上の複数の NIC を使用できます。 Azure での VM 上の複数の NIC の詳細については、NIC が複数ある VM の作成に関するページを参照してください。

NIC に割り当てることができるプライベート IP アドレスの数には上限があります。 また、Azure サブスクリプションで使用できるパブリック IP アドレスの数にも上限があります。 詳細については、Azure の制限に関する記事をご覧ください。

この記事では、Azure CLI を使用して、仮想マシンに複数の IP アドレスを追加する方法を説明します。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • このチュートリアルには、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

Note

この記事の手順では、すべての IP 構成を 1 つの NIC に割り当てていますが、複数の IP 構成を複数の NIC を持つ VM の任意の NIC に割り当てることもできます。 複数の NIC を持つ VM の作成方法については、「複数 NIC を持つ VM の作成」を参照してください。

Diagram of network configuration resources created in How-to article.

"図: このハウツー記事で作成されたネットワーク構成リソースの図。"

リソース グループを作成する

Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

az group create を使用して、myResourceGroup という名前のリソース グループを場所 eastus2 に作成します。

  az group create \
    --name myResourceGroup \
    --location eastus2

仮想ネットワークの作成

このセクションでは、仮想マシン用の仮想ネットワークを作成します。

仮想ネットワークを作成するには、az network vnet create を使用します。

  az network vnet create \
    --resource-group myResourceGroup \
    --location eastus2 \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

パブリック IP アドレスを作成する

パブリック IP アドレスを 2 つ作成するには、az network public-ip create を使用します。

  az network public-ip create \
    --resource-group myResourceGroup \
    --name myPublicIP-1 \
    --sku Standard \
    --version IPv4 \
    --zone 1 2 3

  az network public-ip create \
    --resource-group myResourceGroup \
    --name myPublicIP-2 \
    --sku Standard \
    --version IPv4 \
    --zone 1 2 3

ネットワーク セキュリティ グループの作成

このセクションでは、仮想マシンと仮想ネットワークのネットワーク セキュリティ グループを作成します。

ネットワーク セキュリティ グループを作成するには、az network nsg create を使用します。

  az network nsg create \
    --resource-group myResourceGroup \
    --name myNSG

ネットワーク セキュリティ グループ規則を作成する

SSH に対してポート 22 上で仮想マシンへの接続を許可する規則を作成します。

ネットワーク セキュリティ グループの規則を作成するには、az network nsg rule create を使用します。

  az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNSG \
    --name myNSGRuleSSH \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 22 \
    --access allow \
    --priority 200

ネットワーク インターフェイスの作成

az network nic create を使用して、仮想マシンのネットワーク インターフェイスを作成します。 以前に作成したパブリック IP アドレスと NSG は、NIC に関連付けられています。 ネットワーク インターフェイスは、前に作成した仮想ネットワークに接続されています。

  az network nic create \
    --resource-group myResourceGroup \
    --name myNIC1 \
    --private-ip-address-version IPv4 \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG \
    --public-ip-address myPublicIP-1

セカンダリ プライベートおよびパブリック IP 構成を作成する

NIC に対してセカンダリ プライベートおよびパブリック IP 構成を作成するには、az network nic ip-config create を使用します。 10.1.0.5 を自分のセカンダリ プライベート IP アドレスに置き換えます。

  az network nic ip-config create \
    --resource-group myResourceGroup \
    --name ipconfig2 \
    --nic-name myNIC1 \
    --private-ip-address 10.1.0.5 \
    --private-ip-address-version IPv4 \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --public-ip-address myPublicIP-2

第 3 のプライベート IP 構成を作成する

NIC に対して第 3 のプライベート IP 構成を作成するには、az network nic ip-config create を使用します。 10.1.0.6 を自分のセカンダリ プライベート IP アドレスに置き換えます。

  az network nic ip-config create \
    --resource-group myResourceGroup \
    --name ipconfig3 \
    --nic-name myNIC1 \
    --private-ip-address 10.1.0.6 \
    --private-ip-address-version IPv4 \
    --vnet-name myVNet \
    --subnet myBackendSubnet

Note

静的 IP アドレスを追加するときは、NIC が接続されているサブネット上に未使用の有効なアドレスを指定する必要があります。

仮想マシンの作成

仮想マシンを作成するには、az vm create を使用します。

  az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --nics myNIC1 \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --authentication-type ssh \
    --generate-ssh-keys

VM オペレーティング システムに IP アドレスを追加する

注意

この記事では、サポート終了 (EOL) 状態が近づいている Linux ディストリビューションである CentOS について説明します。 それに応じて、使用と計画を検討してください。

複数のプライベート IP アドレスを構成して作成した VM に接続し、サインインします。 VM に追加したプライベート IP アドレスは、プライマリも含め、すべて手動で追加する必要があります。 お使いの VM オペレーティング システムに応じて、次の手順を実行します。

Windows Server

展開
  1. コマンド プロンプトまたは PowerShell を開きます。

  2. コマンド ラインで「ipconfig /all」を入力します。 DHCP を介して割り当てられたプライマリ プライベート IP アドレスが表示されます。

  3. コマンド ラインで「ncpa.cpl」を入力して、[ネットワーク接続] 構成を開きます。

  4. 新しい IP アドレスが割り当てられているネットワーク アダプターの [プロパティ] を開きます。

  5. [インターネット プロトコル バージョン 4 (TCP/IPv4)] をダブルクリックします。

  6. [次の IP アドレスを使う] をクリックします。 次の値を入力します。

    設定
    [IP アドレス]: プライマリ プライベート IP アドレスを入力します。
    サブネット マスク: IP アドレスに基づいてサブネット マスクを入力します。
    たとえば、サブネットが /24 サブネットの場合、サブネット マスクは 255.255.255.0 です。
    既定のゲートウェイ: サブネット内の最初の IP アドレスです。
    サブネットが 10.0.0.0/24 の場合、ゲートウェイの IP アドレスは 10.0.0.1 になります。
  7. [次の DNS サーバーのアドレスを使う] を選択します。 次の値を入力します。

    設定
    優先 DNS サーバー: プライマリ DNS サーバーを入力します。
    既定の Azure 提供 DNS を使用するには、IP アドレス 168.63.129.16 を入力します。
  8. [Advanced] \(詳細設定) ボタンを選択します。

  9. [追加] を選択します。

  10. Azure ネットワーク インターフェイスに追加したプライベート IP アドレスを入力します。 対応するサブネット マスクを入力します。 [追加] を選択します。

  11. 前の手順を繰り返して、Azure ネットワーク インターフェイスに追加したプライベート IP アドレスを追加します。

重要

仮想マシンのオペレーティング システム内で Azure の仮想マシンに割り当てられているパブリック IP アドレスを手動で割り当てないでください。 オペレーティング システム内で IP アドレスを手動で設定する場合は、Azure ネットワーク インターフェイスに割り当てられているプライベート IP アドレスと同じアドレスであることを確認してください。 アドレスを正しく割り当てないと、仮想マシンへの接続が失われるおそれがあります。 詳細については、「IP アドレス設定を変更する」を参照してください。

プライベート IP アドレスの詳細については、プライベート IP アドレスに関する記事を参照してください。

  1. [OK] を選択して、セカンダリ IP アドレスの設定を閉じます。

  2. [OK] を選択して、アダプターの設定を閉じます。 これで RDP 接続が再確立されます。

  3. コマンド プロンプトまたは PowerShell を開きます。

  4. コマンド ラインで「ipconfig /all」を入力します。

  5. プライマリとセカンダリのプライベート IP アドレスが構成に追加されていることを確認します。

    PS C:\Users\azureuser> ipconfig /all
    
    Windows IP Configuration
    
       Host Name . . . . . . . . . . . . : myVM
       Primary Dns Suffix  . . . . . . . :
       Node Type . . . . . . . . . . . . : Hybrid
       IP Routing Enabled. . . . . . . . : No
       WINS Proxy Enabled. . . . . . . . : No
    
    Ethernet adapter Ethernet:
    
       Connection-specific DNS Suffix  . :
       Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
       Physical Address. . . . . . . . . : 00-0D-3A-E6-CE-A3
       DHCP Enabled. . . . . . . . . . . : No
       Autoconfiguration Enabled . . . . : Yes
       Link-local IPv6 Address . . . . . : fe80::a8d1:11d5:3ab2:6a51%5(Preferred)
       IPv4 Address. . . . . . . . . . . : 10.1.0.4(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.5(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.6(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 10.1.0.1
       DHCPv6 IAID . . . . . . . . . . . : 100666682
       DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-A8-26-B1-00-0D-3A-E6-CE-A3
       DNS Servers . . . . . . . . . . . : 168.63.129.16
       NetBIOS over Tcpip. . . . . . . . : Enabled
    
  6. Windows で使用されるプライマリ プライベート IP アドレスが、Azure VM ネットワーク インターフェイスのプライマリ IP アドレスと同じであることを確認します。 詳細については、「複数の IP アドレスを持つ Azure Windows VM からインターネット アクセスできない」を参照してください。

検証 (Windows Server)

パブリック IP 経由でセカンダリ IP 構成からのインターネット接続を確認するには、次のコマンドを使用します。 10.1.0.5 を、Azure VM ネットワーク インターフェイスに追加したセカンダリ プライベート IP アドレスに置き換えます。

ping -S 10.1.0.5 outlook.com

注意

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合です。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

SUSE Linux Enterprise および openSUSE

展開 SUSE ベースのディストリビューションでは、cloud-netconfig-azure パッケージの cloud-netconfig プラグインを使用して追加の IP アドレスを管理します。 管理者側で手動で構成する必要はありません。 プラットフォームで設定されたインターフェイスの最初の IP アドレスは、DHCP 経由で割り当てられます。 その後、cloud-netconfig プラグインは Azure Instance Metadata Service API を継続的 (1 分間に 1 回) にプローブして、インターフェイスに割り当てられた追加の IP アドレスを探し、それらをセカンダリ IP アドレスとして自動的に追加または削除します。

このプラグインは、既定で新しいイメージにインストールされ、有効になっているはずです。 古いワークロードの構成手順については、次を参照してください: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/

Ubuntu 14/16

展開

Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。

  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. ネットワーク インターフェイスの構成ファイルを更新します (‘eth0’ と仮定)。

    • DHCP の既存の行アイテムを保持します。 プライマリ IP アドレスが以前と同じ構成のまま維持されます。

    • 次のコマンドを使用して、追加の静的 IP アドレスの構成を追加します。

      cd /etc/network/interfaces.d/
      ls
      

      .cfg ファイルが表示されます。

  4. ファイル を開きます。 ファイルの末尾に次の行が表示されます。

    auto eth0
    iface eth0 inet dhcp
    
  5. ファイルの行の最後に、次の行を追加します。 10.1.0.5 を自分のプライベート IP アドレスとサブネット マスクに置き換えます。

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    プライベート IP アドレスを追加するには、ファイルを編集し、後続の行に新しいプライベート IP アドレスを追加します。

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  7. 次のコマンドを使用して、ネットワーク インターフェイスをリセットします。

    ifdown eth0 && ifup eth0
    

    重要

    リモート接続を使用する場合は、同じ行で ifdown と ifup の両方を実行します。

  8. 次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。

    ip addr list eth0
    

    追加した IP アドレスが、リストの一部として表示されます。 例:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

検証 (Ubuntu 14/16)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.1.0.5 outlook.com

Note

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • 必ず次のように置き換えてください。

    • 10.1.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに

    • 10.1.0.1 をデフォルト ゲートウェイに

    • eth2 をセカンダリ NIC の名前に

Ubuntu 18.04 以降

展開

OS ネットワーク管理のために、Ubuntu 18.04 以降が netplan に変更されました。 Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。

  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 ルート ユーザーでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. 2 番目のインターフェイス用のファイルを作成し、テキスト エディターでファイルを開きます。

    vi /etc/netplan/60-static.yaml
    
  4. 次の行をファイルに追加し、10.1.0.5/24 を実際の IP およびサブネット マスクに置き換えます。

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
    

    プライベート IP アドレスを追加するには、ファイルを編集し、後続の行に新しいプライベート IP アドレスを追加します。

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
                    - 10.1.0.6/24
    
  5. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  6. netplan try を使用して変更をテストし、構文を確認します。

    netplan try
    

    Note

    netplan try は変更を一時的に適用し、120 秒後に変更をロールバックします。 接続が切断された場合は、120 秒待ってから再接続してください。 その時点で、変更はロールバックされています。

  7. netplan try に問題がないと仮定し、構成変更を適用します。

    netplan apply
    
  8. 次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。

    ip addr list eth0
    

    追加した IP アドレスが、リストの一部として表示されます。 例:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

検証 (Ubuntu 18.04+)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.1.0.5 outlook.com

Note

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 これを行うには多くの方法があります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • 必ず次のように置き換えてください。

    • 10.1.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに

    • 10.1.0.1 をデフォルト ゲートウェイに

    • eth2 をセカンダリ NIC の名前に

Red Hat Enterprise Linux、CentOS、およびその他

展開
  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. パスワードを入力し、画面の指示に従います。 ルート ユーザーになったら、次のコマンドを使用して、ネットワーク スクリプト フォルダーに移動します。

    cd /etc/sysconfig/network-scripts
    
  4. 次のコマンドを使用して、関連する ifcfg ファイルをリストアップします。

    ls ifcfg-*
    

    ファイルのうちの 1 つに ifcfg-eth0 があります。

  5. IP アドレスを追加するには、次のように構成ファイルを作成します。 IP 構成ごとに 1 つのファイルを作成する必要があることに注意してください。

    touch ifcfg-eth0:0
    
  6. 次のコマンドを使って、ifcfg-eth0:0 ファイルを開きます。

    vi ifcfg-eth0:0
    
  7. 次のコマンドを使って、ファイルに内容 (ここでは eth0:0) を追加します。 10.1.0.5 を自分の追加のプライベート IP アドレスとサブネット マスクに置き換えます。

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.5
    NETMASK=255.255.255.0
    
  8. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  9. ネットワーク構成にプライベート IP アドレスを追加するには、追加の構成ファイルを作成し、そのファイルに IP 情報を追加します。

    touch ifcfg-eth0:1
    
    vi ifcfg-eth0:1
    
    DEVICE=eth0:1
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.6
    NETMASK=255.255.255.0
    
    :wq
    
  10. ネットワーク サービスを再起動し、次のコマンドを実行して、変更が成功したかどうかを確認します。

    systemctl restart NetworkManager.service
    ifconfig
    

    返されるリストに、追加した IP アドレスが表示されることを確認します。

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.4  netmask 255.255.255.0  broadcast 10.1.0.255
        inet6 fe80::6245:bdff:fe7d:704a  prefixlen 64  scopeid 0x20<link>
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
        RX packets 858  bytes 244215 (238.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1021  bytes 262077 (255.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.5  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    
    eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.6  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    

検証 (Red Hat、CentOS、その他)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.0.0.5 outlook.com

Note

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • 必ず次のように置き換えてください。

    • 10.0.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに

    • 10.0.0.1 をデフォルト ゲートウェイに

    • eth2 をセカンダリ NIC の名前に

Debian GNU/Linux

展開

Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。

  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. ネットワーク インターフェイスの構成ファイルを更新します (‘eth0’ と仮定)。

    • DHCP の既存の行アイテムを保持します。 プライマリ IP アドレスが以前と同じ構成のまま維持されます。

    • 次のコマンドを使用して、追加の静的 IP アドレスの構成を追加します。

      cd /etc/network/interfaces.d/
      ls
      

      .cfg ファイルが表示されます。

  4. ファイル を開きます。 ファイルの末尾に次の行が表示されます。

    auto eth0
    iface eth0 inet dhcp
    
  5. ファイルの行の最後に、次の行を追加します。 10.1.0.5 を自分のプライベート IP アドレスとサブネット マスクに置き換えます。

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    プライベート IP アドレスを追加するには、ファイルを編集し、後続の行に新しいプライベート IP アドレスを追加します。

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  7. ネットワーク サービスを再起動して、変更を反映させます。 Debian 8 以上では、次のコマンドを使用して行います。

    systemctl restart networking
    

    Debian の以前のバージョンでは、以下のコマンドを使用できます。

    service networking restart
    
  8. 次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。

    ip addr list eth0
    

    追加した IP アドレスが、リストの一部として表示されます。 例:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

検証 (Debian GNU/Linux)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.1.0.5 outlook.com

Note

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • 必ず次のように置き換えてください。

    • 10.1.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに

    • 10.1.0.1 をデフォルト ゲートウェイに

    • eth2 をセカンダリ NIC の名前に

次のステップ