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 アドレスの数にも上限があります。 See the Azure limits article for details.
この記事では、PowerShell を使用して、仮想マシンに複数の IP アドレスを追加する方法を説明します。
Prerequisites
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure Cloud Shell またはローカルにインストールされている Azure PowerShell の PowerShell 環境。 Azure Cloud Shell での PowerShell の使用の詳細については、「Azure Cloud Shell クイックスタート」を参照してください。
- PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、
Get-InstalledModule -Name Az
を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 Az.Network モジュールが 4.3.0 以降であることを確認します。 インストールされているモジュールを確認するには、コマンドGet-InstalledModule -Name "Az.Network"
を使用します。 モジュールの更新が必要な場合は、必要に応じてUpdate-Module -Name "Az.Network"
コマンドを使用します。
- PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、
Azure PowerShell にサインインし、この機能を使用するサブスクリプションが選択されていることを確認します。 詳細については、「Azure PowerShell を使用してサインインする」を参照してください。
Note
この記事の手順では、すべての IP 構成を 1 つの NIC に割り当てていますが、複数の IP 構成を複数の NIC を持つ VM の任意の NIC に割り当てることもできます。 複数の NIC を持つ VM の作成方法については、「複数 NIC を持つ VM の作成」を参照してください。
"図: このハウツー記事で作成されたネットワーク構成リソースの図。"
リソース グループを作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
Create a resource group with New-AzResourceGroup named myResourceGroup in the eastus2 location.
$rg =@{
Name = 'myResourceGroup'
Location = 'eastus2'
}
New-AzResourceGroup @rg
仮想ネットワークの作成
このセクションでは、仮想マシン用の仮想ネットワークを作成します。
Use New-AzVirtualNetwork and New-AzVirtualNetworkSubnetConfig to create a virtual network with one subnet.
## Create backend subnet config ##
$subnet = @{
Name = 'myBackendSubnet'
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$vnet = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
AddressPrefix = '10.1.0.0/16'
Subnet = $subnetConfig
}
New-AzVirtualNetwork @vnet
プライマリ パブリック IP アドレスを作成する
Use New-AzPublicIpAddress to create a primary public IP address.
$ip1 = @{
Name = 'myPublicIP-1'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip1
ネットワーク セキュリティ グループの作成
このセクションでは、仮想マシンと仮想ネットワークのネットワーク セキュリティ グループを作成します。 SSH に対してポート 22 上で仮想マシンへの接続を許可する規則を作成します。
Use New-AzNetworkSecurityGroup and New-AzNetworkSecurityRuleConfig to create the network security group and rules.
## Create rule for network security group and place in variable. ##
$nsgrule1 = @{
Name = 'myNSGRuleSSH'
Description = 'Allow SSH'
Protocol = '*'
SourcePortRange = '*'
DestinationPortRange = '22'
SourceAddressPrefix = 'Internet'
DestinationAddressPrefix = '*'
Access = 'Allow'
Priority = '200'
Direction = 'Inbound'
}
$rule1 = New-AzNetworkSecurityRuleConfig @nsgrule1
## Create network security group ##
$nsg = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
SecurityRules = $rule1
}
New-AzNetworkSecurityGroup @nsg
ネットワーク インターフェイスの作成
Use New-AzNetworkInterface and New-AzNetworkInterfaceIpConfig to create a network interface (NIC) for the virtual machine. 以前に作成したパブリック IP アドレスとネットワーク セキュリティ グループは、ネットワーク インターフェイスに関連付けられています。 ネットワーク インターフェイスは、前に作成した仮想ネットワークに接続されています。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the network security group into a variable. ##
$ns = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
}
$nsg = Get-AzNetworkSecurityGroup @ns
## Place the primary public IP address into a variable. ##
$pub1 = @{
Name = 'myPublicIP-1'
ResourceGroupName = 'myResourceGroup'
}
$pubIP1 = Get-AzPublicIPAddress @pub1
## Create a primary IP configuration for the network interface. ##
$IP1 = @{
Name = 'ipconfig1'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PublicIPAddress = $pubIP1
}
$IP1Config = New-AzNetworkInterfaceIpConfig @IP1 -Primary
## Create a secondary IP configuration for the network interface. ##
$IP3 = @{
Name = 'ipconfig3'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PrivateIpAddress = '10.1.0.6'
}
$IP3Config = New-AzNetworkInterfaceIpConfig @IP3
## Command to create a network interface. ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
NetworkSecurityGroup = $nsg
IpConfiguration = $IP1Config,$IP3Config
}
New-AzNetworkInterface @nic
Note
静的 IP アドレスを追加するときは、NIC が接続されているサブネット上に未使用の有効なアドレスを指定する必要があります。
仮想マシンの作成
次のコマンドを使用して、仮想マシンを作成します。
$cred = Get-Credential
## Place network interface into a variable. ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
}
$nicVM = Get-AzNetworkInterface @nic
## Create a virtual machine configuration for VMs ##
$vmsz = @{
VMName = 'myVM'
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = 'myVM'
Credential = $cred
}
$vmimage = @{
PublisherName = 'Debian'
Offer = 'debian-11'
Skus = '11'
Version = 'latest'
}
$vmConfig = New-AzVMConfig @vmsz `
| Set-AzVMOperatingSystem @vmos -Linux `
| Set-AzVMSourceImage @vmimage `
| Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine for VMs ##
$vm = @{
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
VM = $vmConfig
SshKeyName = 'mySSHKey'
}
New-AzVM @vm -GenerateSshKey
セカンダリ プライベート IP アドレスとパブリック IP アドレスを追加する
Use New-AzPublicIpAddress to create a secondary public IP address.
$ip2 = @{
Name = 'myPublicIP-2'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip2
Use New-AzNetworkInterfaceIpConfig to create the secondary IP configuration for the virtual machine.
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place your virtual network subnet into a variable. ##
$sub = @{
Name = 'myBackendSubnet'
VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub
## Place the secondary public IP address you created previously into a variable. ##
$pip = @{
Name = 'myPublicIP-2'
ResourceGroupName = 'myResourceGroup'
}
$pubIP2 = Get-AzPublicIPAddress @pip
## Place the network interface into a variable. ##
$net = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net
## Create a secondary IP configuration for the network interface. ##
$IPc2 = @{
Name = 'ipconfig2'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PrivateIpAddress = '10.1.0.5'
PublicIPAddress = $pubIP2
}
$IP2Config = New-AzNetworkInterfaceIpConfig @IPc2
## Add the IP configuration to the network interface. ##
$nic.IpConfigurations.Add($IP2Config)
## Save the configuration to the network interface. ##
$nic | Set-AzNetworkInterface
VM オペレーティング システムに IP アドレスを追加する
複数のプライベート IP アドレスを構成して作成した VM に接続し、サインインします。 VM に追加したプライベート IP アドレスは、プライマリも含め、すべて手動で追加する必要があります。 お使いの VM オペレーティング システムに応じて、次の手順を実行します。
Windows Server
Expand
コマンド プロンプトまたは PowerShell を開きます。
コマンド ラインで「
ipconfig /all
」を入力します。 You see the Primary private IP address that was assigned through DHCP.Enter
ncpa.cpl
at the command line to open the Network Connections configuration.Open the Properties for the network adapter assigned the new IP addresses.
[インターネット プロトコル バージョン 4 (TCP/IPv4)] をダブルクリックします。
[次の IP アドレスを使う] をクリックします。 次の値を入力します。
Setting Value IP address: Enter the Primary private IP address. Subnet mask: IP アドレスに基づいてサブネット マスクを入力します。
For example, if the subnet is a /24 subnet then the subnet mask is 255.255.255.0.Default gateway: サブネット内の最初の IP アドレスです。
If your subnet is 10.0.0.0/24, then the gateway IP address is 10.0.0.1.[次の DNS サーバーのアドレスを使う] を選択します。 次の値を入力します。
Setting Value 優先 DNS サーバー: プライマリ DNS サーバーを入力します。
Enter the IP address of 168.63.129.16 to use the default Azure provided DNS.Select the Advanced button.
Select Add.
Enter the private IP address you added to the Azure network interface. Enter the corresponding Subnet mask. Select Add.
前の手順を繰り返して、Azure ネットワーク インターフェイスに追加したプライベート IP アドレスを追加します。
Important
仮想マシンのオペレーティング システム内で Azure の仮想マシンに割り当てられているパブリック IP アドレスを手動で割り当てないでください。 オペレーティング システム内で IP アドレスを手動で設定する場合は、Azure ネットワーク インターフェイスに割り当てられているプライベート IP アドレスと同じアドレスであることを確認してください。 アドレスを正しく割り当てないと、仮想マシンへの接続が失われるおそれがあります。 詳細については、「IP アドレス設定を変更する」を参照してください。
プライベート IP アドレスの詳細については、プライベート IP アドレスに関する記事を参照してください。
Select OK to close the secondary IP address settings.
Select OK to close the adapter settings. RDP 接続が再確立されます。
コマンド プロンプトまたは PowerShell を開きます。
コマンド ラインで「
ipconfig /all
」を入力します。プライマリとセカンダリのプライベート 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
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
Note
セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合です。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。
SUSE Linux Enterprise および openSUSE
Expand
SUSE ベースのディストリビューションでは、cloud-netconfig-azure
パッケージのcloud-netconfig
プラグインを使用して IP 構成を管理します。 管理者側では手動の手順は必要ありません。 プラットフォームで設定されたインターフェイスの最初の IP アドレスは、DHCP 経由で割り当てられます。 cloud-netconfig プラグインは、インターフェイスに割り当てられたより多くの IP アドレスを Azure Instance Metadata Service API に継続的に (1 分に 1 回) プローブし、セカンダリ IP アドレスとして自動的に追加または削除します。
このプラグインは、既定で新しいイメージにインストールされ、有効になっているはずです。 古いワークロードの構成手順については、次を参照してください: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/。
Ubuntu 14/16
Expand
Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。
ターミナル ウィンドウを開きます。
自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。
sudo -i
Update the configuration file of the network interface (assuming ‘eth0’).
DHCP の既存の行アイテムを保持します。 プライマリ IP アドレスが以前と同じ構成のまま維持されます。
次のコマンドを使用して、他の静的 IP アドレスの構成を追加します。
cd /etc/network/interfaces.d/ ls
.cfg ファイルが表示されます。
ファイル を開きます。 ファイルの末尾に次の行が表示されます。
auto eth0 iface eth0 inet dhcp
ファイルの行の最後に、次の行を追加します。
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
次のコマンドを使用して、ファイルの内容を保存します。
:wq
次のコマンドを使用して、ネットワーク インターフェイスをリセットします。
ifdown eth0 && ifup eth0
Important
リモート接続を使用する場合は、同じ行で ifdown と ifup の両方を実行します。
次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。
ip addr list eth0
追加した IP アドレスが、リストの一部として表示されます。 Example:
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 ディストリビューションに応じて適切なドキュメントを参照してください。 この目標を達成するには、次の方法を使用します。
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 with the private IP address that has a public IP address associated to it
10.1.0.1 to your default gateway
eth2 to the name of your secondary NIC
Ubuntu 18.04+
Expand
18.04 以降、 netplan
はネットワーク管理のために Ubuntu で使用されます。 Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。
ターミナル ウィンドウを開きます。
自身がルート ユーザーになっていることを確認します。 ルート ユーザーでない場合は、次のコマンドを入力します。
sudo -i
2 番目のインターフェイス用のファイルを作成し、テキスト エディターでファイルを開きます。
vi /etc/netplan/60-static.yaml
次の行をファイルに追加し、
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
次のコマンドを使用して、ファイルの内容を保存します。
:wq
Test the changes with netplan try to confirm syntax:
netplan try
Note
netplan try
は変更を一時的に適用し、120 秒後に変更をロールバックします。 接続が失われた場合は、2 分待ってから再接続します。 その時点で、変更はロールバックされています。netplan try
に問題がないと仮定し、構成変更を適用します。netplan apply
次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。
ip addr list eth0
追加した IP アドレスが、リストの一部として表示されます。 Example:
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 with the private IP address that has a public IP address associated to it
10.1.0.1 to your default gateway
eth2 to the name of your secondary NIC
Red Hat Enterprise Linux とその他
Expand
Note
RHEL10.x で追加の IP アドレスを構成するには、NetworkManger を再起動して、システムを systemctl restart NetworkManger.service
または再起動するだけで十分です。 他の手順は不要です。
ターミナル ウィンドウを開きます。
自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。
sudo -i
パスワードを入力し、画面の指示に従います。 ルート ユーザーになったら、次のコマンドを使用して、ネットワーク スクリプト フォルダーに移動します。
cd /etc/sysconfig/network-scripts
次のコマンドを使用して、関連する ifcfg ファイルをリストアップします。
ls ifcfg-*
You should see ifcfg-eth0 as one of the files.
システムに追加された IP ごとに新しい構成ファイルを作成します。
touch ifcfg-eth0:0
Open the ifcfg-eth0:0 file with the following command:
vi ifcfg-eth0:0
Add content to the file, eth0:0 in this case, with the following command.
10.1.0.5
を新しいプライベート IP アドレスとサブネット マスクに置き換えます。DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.5 NETMASK=255.255.255.0
次のコマンドを使用して、ファイルの内容を保存します。
:wq
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
ネットワーク サービスを再起動し、次のコマンドを実行して、変更が成功したかどうかを確認します。
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 とその他)
関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。
ping -I 10.0.0.5 outlook.com
Note
セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。
Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 Linux ディストリビューションの適切なドキュメントを参照してください。 この目標を達成するには、次の方法を使用します。
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 with the private IP address that has a public IP address associated to it
10.0.0.1 to your default gateway
eth2 to the name of your secondary NIC
Debian GNU/Linux
Expand
Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。
ターミナル ウィンドウを開きます。
自身がルート ユーザーになっていることを確認します。 そうでない場合は、次のコマンドを入力します。
sudo -i
Update the configuration file of the network interface (assuming ‘eth0’).
DHCP の既存の行アイテムを保持します。 プライマリ IP アドレスが以前と同じ構成のまま維持されます。
次のコマンドを使用して、各静的 IP アドレスの構成を追加します。
cd /etc/network/interfaces.d/ ls
.cfg ファイルが表示されます。
ファイル を開きます。 ファイルの末尾に次の行が表示されます。
auto eth0 iface eth0 inet dhcp
ファイルの行の最後に、次の行を追加します。
10.1.0.5
を自分のプライベート IP アドレスとサブネット マスクに置き換えます。iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0
構成ファイルに新しい 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
次のコマンドを使用して、ファイルの内容を保存します。
:wq
ネットワーク サービスを再起動して、変更を反映させます。 Debian 8 以降の場合は、次を使用します。
systemctl restart networking
Debian の以前のバージョンでは、以下のコマンドを使用できます。
service networking restart
次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。
ip addr list eth0
追加した IP アドレスが、リストの一部として表示されます。 Example:
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 ディストリビューションに応じて適切なドキュメントを参照してください。 この目標を達成するには、次の方法を使用します。
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 with the private IP address that has a public IP address associated to it
10.1.0.1 to your default gateway
eth2 to the name of your secondary NIC
Next steps
- Azure のパブリック IP アドレスについて詳しく学習する。
- Azure のプライベート IP アドレスについて詳しく学習する。
- Azure ネットワーク インターフェイスの IP アドレスを構成する方法について学習する。