Przypisywanie wielu adresów IP do maszyn wirtualnych przy użyciu programu Azure PowerShell

Do maszyny wirtualnej platformy Azure jest dołączony co najmniej jeden interfejs sieciowy (karta sieciowa). Każda karta sieciowa może mieć przypisany jeden lub wiele statycznych lub dynamicznych publicznych i prywatnych adresów IP.

Przypisywanie wielu adresów IP do maszyny wirtualnej włącza następujące możliwości:

  • Hostowanie wielu witryn internetowych lub usług z różnymi adresami IP i certyfikatami TLS/SSL na jednym serwerze.

  • Może służyć jako sieciowe urządzenie wirtualne, takie jak zapora lub moduł równoważenia obciążenia.

  • Możliwość dodania dowolnego z prywatnych adresów IP dla dowolnej z kart sieciowych do puli zaplecza usługi Azure Load Balancer. W przeszłości tylko podstawowy adres IP podstawowej karty sieciowej można było dodać do puli zaplecza. Aby uzyskać więcej informacji na temat równoważenia obciążenia wielu konfiguracji adresów IP, zobacz Równoważenie obciążenia wielu konfiguracji adresów IP.

Z każdą kartą sieciową dołączoną do maszyny wirtualnej jest skojarzona co najmniej jedna konfiguracja adresu IP. Każdej konfiguracji jest przypisany jeden statyczny lub dynamiczny prywatny adres IP. Każda konfiguracja może mieć również powiązany jeden zasób publicznego adresu IP. Aby dowiedzieć się więcej na temat adresów IP na platformie Azure, zobacz Adresy IP na platformie Azure.

Uwaga

Wszystkie konfiguracje adresów IP w jednej karcie sieciowej muszą być skojarzone z tą samą podsiecią. Jeśli wymagane jest wiele adresów IP w różnych podsieciach, można użyć wielu kart sieciowych na maszynie wirtualnej. Aby dowiedzieć się więcej na temat wielu kart sieciowych na maszynie wirtualnej na platformie Azure, zobacz Tworzenie maszyny wirtualnej z wieloma kartami sieciowymi.

Istnieje limit liczby prywatnych adresów IP, które można przypisać do karty sieciowej. Istnieje również ograniczenie liczby publicznych adresów IP, które mogą być używane w subskrypcji platformy Azure. Aby uzyskać szczegółowe informacje, zobacz artykuł dotyczący limitów platformy Azure.

W tym artykule wyjaśniono, jak dodać wiele adresów IP do maszyny wirtualnej przy użyciu programu PowerShell.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Środowisko programu PowerShell w usłudze Azure Cloud Shell lub programie Azure PowerShell zainstalowane lokalnie. Aby dowiedzieć się więcej na temat korzystania z programu PowerShell w usłudze Azure Cloud Shell, zobacz Przewodnik Szybki start usługi Azure Cloud Shell.

    • Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-InstalledModule -Name Az, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Upewnij się, że moduł Az.Network ma wartość 4.3.0 lub nowszą. Aby sprawdzić zainstalowany moduł, użyj polecenia Get-InstalledModule -Name "Az.Network". Jeśli moduł wymaga aktualizacji, w razie potrzeby użyj polecenia Update-Module -Name "Az.Network" .
  • Zaloguj się do programu Azure PowerShell i upewnij się, że wybrano subskrypcję, z którą chcesz korzystać z tej funkcji. Aby uzyskać więcej informacji, zobacz Logowanie się przy użyciu programu Azure PowerShell.

Uwaga

Mimo że kroki opisane w tym artykule przypisują wszystkie konfiguracje adresów IP do jednej karty sieciowej, można również przypisać wiele konfiguracji adresów IP do dowolnej karty sieciowej na maszynie wirtualnej z wieloma kartami sieciowymi. Aby dowiedzieć się, jak utworzyć maszynę wirtualną z wieloma kartami sieciowymi, zobacz Tworzenie maszyny wirtualnej z wieloma kartami sieciowymi.

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

Rysunek: Diagram zasobów konfiguracji sieci utworzonych w tym artykule z instrukcjami.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup o nazwie myResourceGroup w lokalizacji eastus2.

$rg =@{
    Name = 'myResourceGroup'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Tworzenie sieci wirtualnej

W tej sekcji utworzysz sieć wirtualną dla maszyny wirtualnej.

Użyj polecenia New-AzVirtualNetwork i New-AzVirtualNetworkSubnetConfig , aby utworzyć sieć wirtualną z jedną podsiecią.

## 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

Tworzenie podstawowego publicznego adresu IP

Użyj polecenia New-AzPublicIpAddress , aby utworzyć podstawowy publiczny adres IP.

$ip1 = @{
    Name = 'myPublicIP-1'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    IpAddressVersion = 'IPv4'
    Zone = 1,2,3
}
New-AzPublicIpAddress @ip1

Tworzenie sieciowej grupy zabezpieczeń

W tej sekcji utworzysz sieciową grupę zabezpieczeń dla maszyny wirtualnej i sieci wirtualnej. Utworzysz regułę zezwalaną na połączenia z maszyną wirtualną na porcie 22 dla protokołu SSH.

Użyj polecenia New-AzNetworkSecurityGroup i New-AzNetworkSecurityRuleConfig , aby utworzyć sieciową grupę zabezpieczeń i reguły.

## 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

Tworzenie interfejsu sieciowego

Użyj polecenia New-AzNetworkInterface i New-AzNetworkInterfaceIpConfig , aby utworzyć interfejs sieciowy dla maszyny wirtualnej. Publiczny adres IP i utworzona wcześniej sieciowa grupa zabezpieczeń są skojarzone z interfejsem sieciowym. Interfejs sieciowy jest dołączony do utworzonej wcześniej sieci wirtualnej.

## 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

Uwaga

Podczas dodawania statycznego adresu IP należy określić nieużywany, prawidłowy adres w podsieci, z którą jest połączona karta sieciowa.

Tworzenie maszyny wirtualnej

Aby utworzyć maszynę wirtualną, użyj następujących poleceń:

$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

Dodawanie pomocniczego prywatnego i publicznego adresu IP

Użyj polecenia New-AzPublicIpAddress , aby utworzyć pomocniczy publiczny adres IP.

$ip2 = @{
    Name = 'myPublicIP-2'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    IpAddressVersion = 'IPv4'
    Zone = 1,2,3
}
New-AzPublicIpAddress @ip2

Użyj polecenia New-AzNetworkInterfaceIpConfig , aby utworzyć pomocniczą konfigurację adresu IP dla maszyny wirtualnej.

## 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

Adresy IP do systemu operacyjnego maszyny wirtualnej

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie.

Połączenie i zaloguj się do maszyny wirtualnej utworzonej przy użyciu wielu prywatnych adresów IP. Należy ręcznie dodać wszystkie prywatne adresy IP, w tym podstawowe, które zostały dodane do maszyny wirtualnej. Wykonaj następujące kroki dla systemu operacyjnego maszyny wirtualnej.

Windows Server

Rozwiń
  1. Otwórz wiersz polecenia lub program PowerShell.

  2. Wprowadź ipconfig /all polecenie w wierszu polecenia. Zobaczysz podstawowy prywatny adres IP przypisany za pośrednictwem protokołu DHCP.

  3. Wprowadź ncpa.cpl w wierszu polecenia, aby otworzyć konfigurację Połączenie ions sieci.

  4. Otwórz właściwości karty sieciowej przypisanej do nowych adresów IP.

  5. Kliknij dwukrotnie pozycję Protokół internetowy w wersji 4 (TCP/IPv4).

  6. Wybierz pozycję Użyj następującego adresu IP:. Wprowadź następujące wartości.

    Ustawienie Wartość
    Adres IP: Wprowadź podstawowy prywatny adres IP.
    Maska podsieci: Wprowadź maskę podsieci na podstawie adresu IP.
    Jeśli na przykład podsieć jest podsiecią /24 , maska podsieci to 255.255.255.0.
    Brama domyślna: Pierwszy adres IP w podsieci.
    Jeśli podsieć to 10.0.0.0/24, adres IP bramy to 10.0.0.1.
  7. Wybierz pozycję Użyj następujących adresów serwera DNS:. Wprowadź następujące wartości.

    Ustawienie Wartość
    Preferowany serwer DNS: Wprowadź podstawowy serwer DNS.
    Wprowadź adres IP 168.63.129.16 , aby użyć domyślnej usługi DNS dostarczonej przez platformę Azure.
  8. Wybierz przycisk Zaawansowane.

  9. Wybierz Dodaj.

  10. Wprowadź prywatny adres IP dodany do interfejsu sieciowego platformy Azure. Wprowadź odpowiednią maskę podsieci. Wybierz Dodaj.

  11. Powtórz poprzednie kroki, aby dodać dodatkowe prywatne adresy IP dodane do interfejsu sieciowego platformy Azure.

Ważne

Nigdy nie należy ręcznie przypisywać publicznego adresu IP przypisanego do maszyny wirtualnej platformy Azure w systemie operacyjnym maszyny wirtualnej. Po ręcznym ustawieniu adresu IP w systemie operacyjnym upewnij się, że jest to ten sam adres co prywatny adres IP przypisany do interfejsu sieciowego platformy Azure. Nie można poprawnie przypisać adresu może spowodować utratę łączności z maszyną wirtualną. Aby uzyskać więcej informacji, zobacz Zmienianie ustawień adresu IP.

Aby uzyskać więcej informacji na temat prywatnych adresów IP, zobacz Prywatny adres IP.

  1. Wybierz przycisk OK , aby zamknąć ustawienia pomocniczego adresu IP.

  2. Wybierz przycisk OK , aby zamknąć ustawienia karty. Połączenie RDP zostanie ponownie nawiązane.

  3. Otwórz wiersz polecenia lub program PowerShell.

  4. Wprowadź ipconfig /all polecenie w wierszu polecenia.

  5. Sprawdź, czy do konfiguracji dodano podstawowe i pomocnicze prywatne adresy 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. Upewnij się, że podstawowy prywatny adres IP używany w oknach jest taki sam jak podstawowy adres IP interfejsu sieciowego maszyny wirtualnej platformy Azure. Aby uzyskać więcej informacji, zobacz Brak dostępu do Internetu z maszyny wirtualnej z systemem Windows platformy Azure, która ma wiele adresów IP.

Walidacja (Windows Server)

Aby zweryfikować łączność z Internetem z pomocniczej konfiguracji adresu IP za pośrednictwem publicznego adresu IP, użyj następującego polecenia. Zastąp ciąg 10.1.0.5 pomocniczym prywatnym adresem IP dodanym do interfejsu sieciowego maszyny wirtualnej platformy Azure.

ping -S 10.1.0.5 outlook.com

Uwaga

W przypadku pomocniczych konfiguracji adresów IP można wysłać polecenie ping do Internetu, jeśli konfiguracja ma skojarzony publiczny adres IP. W przypadku podstawowych konfiguracji adresów IP publiczny adres IP nie jest wymagany do ping do Internetu.

SUSE Linux Enterprise i openSUSE

Rozwiń Dystrybucje oparte na systemie SUSE używają cloud-netconfig wtyczki z cloud-netconfig-azure pakietu do zarządzania dodatkowymi adresami IP. Ze strony administratora nie jest wymagana żadna konfiguracja ręczna. Pierwszy adres IP interfejsu ustawionego na platformie jest przypisywany za pośrednictwem protokołu DHCP. Wtyczka cloud-netconfig sonduje interfejs API usługi Azure Instance Metadata Service w sposób ciągły (raz na minutę) pod kątem dodatkowych adresów IP przypisanych do interfejsu i dodaje/usuwa je automatycznie jako pomocnicze adresy IP.

Ta wtyczka powinna być domyślnie zainstalowana i włączona na nowych obrazach. Kroki konfiguracji starych obciążeń można znaleźć tutaj: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/.

Ubuntu 14/16

Rozwiń

Zalecamy zapoznanie się z najnowszą dokumentacją dystrybucji systemu Linux.

  1. Otwórz okno terminalu.

  2. Upewnij się, że jesteś użytkownikiem głównym. Jeśli tak nie jest, wprowadź następujące polecenie:

    sudo -i
    
  3. Zaktualizuj plik konfiguracji interfejsu sieciowego (przy założeniu, że jest to "eth0").

    • Zachowaj istniejący element wiersza dla protokołu dhcp. Podstawowy adres IP pozostanie skonfigurowany tak jak poprzednio.

    • Dodaj konfigurację dla dodatkowego statycznego adresu IP za pomocą następujących poleceń:

      cd /etc/network/interfaces.d/
      ls
      

      Powinien zostać wyświetlony plik cfg.

  4. Otwórz plik . Na końcu tego pliku powinny znajdować się następujące wiersze:

    auto eth0
    iface eth0 inet dhcp
    
  5. Dodaj następujące wiersze po wierszach, które istnieją w pliku. Zastąp 10.1.0.5 ciąg prywatnym adresem IP i maską podsieci.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Aby dodać dodatkowe prywatne adresy IP, edytuj plik i dodaj nowe prywatne adresy IP w kolejnych wierszach:

    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. Zapisz plik za pomocą następującego polecenia:

    :wq
    
  7. Zresetuj interfejs sieciowy przy użyciu następującego polecenia:

    ifdown eth0 && ifup eth0
    

    Ważne

    Wykonaj zarówno ifdown, jak i ifup w tym samym wierszu, jeśli używasz połączenia zdalnego.

  8. Za pomocą następującego polecenia sprawdź, czy adres IP został dodany do interfejsu sieciowego:

    ip addr list eth0
    

    Dodany adres IP powinien być widoczny na liście. Przykład:

    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
    

Walidacja (Ubuntu 14/16)

Aby upewnić się, że możesz nawiązać połączenie z Internetem z pomocniczej konfiguracji adresu IP za pośrednictwem skojarzonego z nim publicznego adresu IP, użyj następującego polecenia:

ping -I 10.1.0.5 outlook.com

Uwaga

W przypadku konfiguracji pomocniczych adresów IP można wysyłać polecenia ping tylko do Internetu, jeśli konfiguracja ma skojarzony publiczny adres IP. W przypadku podstawowych konfiguracji adresów IP publiczny adres IP nie jest wymagany do ping do Internetu.

W przypadku maszyn wirtualnych z systemem Linux podczas próby zweryfikowania łączności wychodzącej z pomocniczej karty sieciowej może być konieczne dodanie odpowiednich tras. Zapoznaj się z odpowiednią dokumentacją dystrybucji systemu Linux. Oto jedna z metod wykonania tej czynności:

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
  • Upewnij się, że należy zastąpić:

    • 10.1.0.5 z prywatnym adresem IP, który ma skojarzony publiczny adres IP

    • 10.1.0.1 do bramy domyślnej

    • wartość eth2 na nazwę pomocniczej karty sieciowej.

Ubuntu 18.04+

Rozwiń

System Ubuntu 18.04 lub nowszy zmienił się na w netplan przypadku zarządzania siecią systemu operacyjnego. Zalecamy zapoznanie się z najnowszą dokumentacją dystrybucji systemu Linux.

  1. Otwórz okno terminalu.

  2. Upewnij się, że jesteś użytkownikiem głównym. Jeśli nie, wprowadź następujące polecenie:

    sudo -i
    
  3. Utwórz plik dla drugiego interfejsu i otwórz go w edytorze tekstów:

    vi /etc/netplan/60-static.yaml
    
  4. Dodaj następujące wiersze do pliku, zastępując 10.1.0.5/24 ciąg swoim adresem IP i maską podsieci:

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

    Aby dodać dodatkowe prywatne adresy IP, edytuj plik i dodaj nowe prywatne adresy IP w kolejnych wierszach:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
                    - 10.1.0.6/24
    
  5. Zapisz plik za pomocą następującego polecenia:

    :wq
    
  6. Przetestuj zmiany za pomocą narzędzia netplan, aby potwierdzić składnię:

    netplan try
    

    Uwaga

    netplan try spowoduje tymczasowe zastosowanie zmian i wycofanie zmian po 120 sekundach. Jeśli występuje utrata łączności, zaczekaj 120 sekund, a następnie ponownie nawiązuj połączenie. W tym czasie zmiany zostaną wycofane.

  7. Zakładając, że nie ma problemów z netplan tryprogramem , zastosuj zmiany konfiguracji:

    netplan apply
    
  8. Za pomocą następującego polecenia sprawdź, czy adres IP został dodany do interfejsu sieciowego:

    ip addr list eth0
    

    Dodany adres IP powinien być widoczny na liście. Przykład:

    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
    

Walidacja (Ubuntu 18.04+)

Aby upewnić się, że możesz nawiązać połączenie z Internetem z pomocniczej konfiguracji adresu IP za pośrednictwem skojarzonego z nim publicznego adresu IP, użyj następującego polecenia:

ping -I 10.1.0.5 outlook.com

Uwaga

W przypadku konfiguracji pomocniczych adresów IP można wysyłać polecenia ping tylko do Internetu, jeśli konfiguracja ma skojarzony publiczny adres IP. W przypadku podstawowych konfiguracji adresów IP publiczny adres IP nie jest wymagany do ping do Internetu.

W przypadku maszyn wirtualnych z systemem Linux podczas próby walidacji łączności wychodzącej z pomocniczej karty sieciowej może być konieczne dodanie odpowiednich tras. Istnieje wiele sposobów, aby to zrobić. Zapoznaj się z odpowiednią dokumentacją dla swojej dystrybucji systemu. Oto jedna z metod wykonania tej czynności:

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
  • Upewnij się, że zastąpisz:

    • 10.1.0.5 z prywatnym adresem IP, który ma skojarzony publiczny adres IP

    • 10.1.0.1 do bramy domyślnej

    • wartość eth2 na nazwę pomocniczej karty sieciowej.

Red Hat Enterprise Linux, CentOS i inne

Rozwiń
  1. Otwórz okno terminalu.

  2. Upewnij się, że jesteś użytkownikiem głównym. Jeśli tak nie jest, wprowadź następujące polecenie:

    sudo -i
    
  3. Wprowadź hasło i postępuj zgodnie z wyświetlanymi instrukcjami. Gdy jesteś użytkownikiem głównym, przejdź do folderu skryptów sieciowych za pomocą następującego polecenia:

    cd /etc/sysconfig/network-scripts
    
  4. Użyj następującego polecenia, aby wyświetlić listę powiązanych plików ifcfg:

    ls ifcfg-*
    

    Jeden z plików powinien mieć nazwę ifcfg-eth0.

  5. Aby dodać adres IP, utwórz dla niego plik konfiguracji zgodnie z poniższym wzorem. Pamiętaj, że dla każdej konfiguracji IP powinien zostać utworzony jeden plik.

    touch ifcfg-eth0:0
    
  6. Otwórz plik ifcfg-eth0:0 za pomocą następującego polecenia:

    vi ifcfg-eth0:0
    
  7. Dodaj zawartość do pliku (w tym przypadku eth0:0) przy użyciu następującego polecenia. Zastąp 10.1.0.5 element dodatkowym prywatnym adresem IP i maską podsieci.

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.5
    NETMASK=255.255.255.0
    
  8. Zapisz plik, korzystając z następującego polecenia:

    :wq
    
  9. Aby dodać dodatkowe prywatne adresy IP do konfiguracji sieci, utwórz dodatkowe pliki konfiguracji i dodaj informacje o adresie IP do pliku.

    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. Uruchom ponownie usługi sieciowe i upewnij się, że zmiany zostały pomyślnie wprowadzone, uruchamiając następujące polecenia:

    systemctl restart NetworkManager.service
    ifconfig
    

    Powinien zostać wyświetlony adres IP lub adresy dodane na zwróconej liście.

    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)
    

Walidacja (Red Hat, CentOS i inne)

Aby upewnić się, że możesz nawiązać połączenie z Internetem z pomocniczej konfiguracji adresu IP za pośrednictwem skojarzonego z nim publicznego adresu IP, użyj następującego polecenia:

ping -I 10.0.0.5 outlook.com

Uwaga

W przypadku konfiguracji pomocniczych adresów IP można wysyłać polecenia ping tylko do Internetu, jeśli konfiguracja ma skojarzony publiczny adres IP. W przypadku podstawowych konfiguracji adresów IP publiczny adres IP nie jest wymagany do ping do Internetu.

W przypadku maszyn wirtualnych z systemem Linux podczas próby zweryfikowania łączności wychodzącej z pomocniczej karty sieciowej może być konieczne dodanie odpowiednich tras. Zapoznaj się z odpowiednią dokumentacją dla swojej dystrybucji systemu. Oto jedna z metod wykonania tej czynności:

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
  • Upewnij się, że należy zastąpić:

    • wartość 10.0.0.5 na prywatny adres IP, który ma skojarzony ze sobą publiczny adres IP;

    • wartość 10.0.0.1 na bramę domyślną;

    • wartość eth2 na nazwę pomocniczej karty sieciowej.

Debian GNU/Linux

Rozwiń

Zalecamy zapoznanie się z najnowszą dokumentacją dystrybucji systemu Linux.

  1. Otwórz okno terminalu.

  2. Upewnij się, że jesteś użytkownikiem głównym. Jeśli tak nie jest, wprowadź następujące polecenie:

    sudo -i
    
  3. Zaktualizuj plik konfiguracji interfejsu sieciowego (przy założeniu, że jest to "eth0").

    • Zachowaj istniejący element wiersza dla protokołu dhcp. Podstawowy adres IP pozostanie skonfigurowany tak jak poprzednio.

    • Dodaj konfigurację dla dodatkowego statycznego adresu IP za pomocą następujących poleceń:

      cd /etc/network/interfaces.d/
      ls
      

      Powinien zostać wyświetlony plik cfg.

  4. Otwórz plik . Na końcu tego pliku powinny znajdować się następujące wiersze:

    auto eth0
    iface eth0 inet dhcp
    
  5. Dodaj następujące wiersze po wierszach, które istnieją w pliku. Zastąp 10.1.0.5 ciąg prywatnym adresem IP i maską podsieci.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Aby dodać dodatkowe prywatne adresy IP, edytuj plik i dodaj nowe prywatne adresy IP w kolejnych wierszach:

    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. Zapisz plik za pomocą następującego polecenia:

    :wq
    
  7. Uruchom ponownie usługi sieciowe, aby zmiany zaczęły obowiązywać. W przypadku debiana 8 lub nowszego można to zrobić za pomocą poniższego polecenia :

    systemctl restart networking
    

    W przypadku wcześniejszych wersji systemu Debian można użyć poniższych poleceń:

    service networking restart
    
  8. Za pomocą następującego polecenia sprawdź, czy adres IP został dodany do interfejsu sieciowego:

    ip addr list eth0
    

    Dodany adres IP powinien być widoczny na liście. Przykład:

    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
    

Walidacja (Debian GNU/Linux)

Aby upewnić się, że możesz nawiązać połączenie z Internetem z pomocniczej konfiguracji adresu IP za pośrednictwem skojarzonego z nim publicznego adresu IP, użyj następującego polecenia:

ping -I 10.1.0.5 outlook.com

Uwaga

W przypadku konfiguracji pomocniczych adresów IP można wysyłać polecenia ping tylko do Internetu, jeśli konfiguracja ma skojarzony publiczny adres IP. W przypadku podstawowych konfiguracji adresów IP publiczny adres IP nie jest wymagany do ping do Internetu.

W przypadku maszyn wirtualnych z systemem Linux podczas próby zweryfikowania łączności wychodzącej z pomocniczej karty sieciowej może być konieczne dodanie odpowiednich tras. Zapoznaj się z odpowiednią dokumentacją dystrybucji systemu Linux. Oto jedna z metod wykonania tej czynności:

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
  • Upewnij się, że należy zastąpić:

    • 10.1.0.5 z prywatnym adresem IP, który ma skojarzony publiczny adres IP

    • 10.1.0.1 do bramy domyślnej

    • wartość eth2 na nazwę pomocniczej karty sieciowej.

Następne kroki