تعيين عناوين IP متعددة للأجهزة الظاهرية باستخدام Azure PowerShell

يحتوي جهاز Azure الظاهري (VM) على واجهة شبكة (NIC) واحدة أو أكثر متصلة به. يمكن أن يحتوي أي NIC على واحد أو أكثر من عناوين IP العامة والخاصة الثابتة أو الديناميكية المعينة لها.

يتيح تعيين عناوين IP متعددة إلى جهاز ظاهري الإمكانات التالية:

  • استضافة مواقع ويب أو خدمات متعددة بعناوين IP مختلفة وشهادات TLS/SSL على خادم واحد.

  • العمل كجهاز ظاهري للشبكة، مثل جدار حماية أو موازن تحميل.

  • القدرة على إضافة أي من عناوين IP الخاصة لأي من واجهات الشبكات إلى تجمع الواجهة الخلفية لموازن تحميل Azure. في الماضي، كان من الممكن إضافة عنوان IP الأساسي فقط لواجهة الشبكة الأساسية إلى تجمع خلفي. لمزيد من المعلومات حول موازنة التحميل تكوينات IP متعددة، راجع موازنة التحميل تكوينات IP متعددة.

تحتوي كل بطاقة NIC متصلة بجهاز ظاهري على واحد أو أكثر من تكوينات عنوان IP المرتبطة به. يتم تعيين عنوان IP خاص ثابت أو ديناميكي واحد لكل تكوين. قد يكون لكل تكوين أيضاً مورد عنوان IP عام مرتبط به. لمعرفة المزيد حول عناوين IP في Azure، راجع عناوين IP في Azure.

إشعار

يجب أن تقترن جميع تكوينات IP الموجودة على بطاقة واجهة شبكة واحدة بالشبكة الفرعية نفسها. إذا كانت هناك حاجة إلى عناوين IP متعددة على شبكات فرعية مختلفة، يمكن استخدام عدة بطاقات واجهة شبكة على جهاز ظاهري. لمعرفة المزيد حول بطاقات واجهة الشبكة المتعددة على جهاز ظاهري في Azure، راجع إنشاء جهاز ظاهري باستخدام NIC متعددة.

هناك حد لعدد عناوين IP الخاصة التي يمكن تخصيصها لـ NIC. يوجد أيضًا حد لعدد عناوين IP العامة التي يمكن استخدامها في اشتراك Azure. راجع مقالة حدود Azure للحصول على التفاصيل.

توضح هذه المقالة كيفية إضافة عناوين IP متعددة إلى جهاز ظاهري باستخدام PowerShell.

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.

  • بيئة PowerShell في Azure Cloud Shell أو Azure PowerShell مثبتة محليا. لمعرفة المزيد حول استخدام PowerShell في Azure Cloud Shell، راجع Azure Cloud Shell Quickstart.

    • إذا اخترت تثبيت 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" إذا لزم الأمر.
  • سجل الدخول إلى Azure PowerShell، وتأكد من تحديد الاشتراك الذي تريد استخدام هذه الميزة من خلاله. راجع تسجيل الدخول باستخدام Azure PowerShell للحصول على مزيدٍ من المعلومات.

إشعار

على الرغم من أن الخطوات الواردة في هذه المقالة تقوم بتعيين جميع تكوينات عنوان IP إلى بطاقة واجهة شبكة، إلا إنه يمكنك أيضاً تعيين تكوينات عنوان IP متعددة لأي بطاقة واجهة شبكة في جهاز ظاهري متعدد بطاقات واجهة الشبكة. لمعرفة كيفية إنشاء جهاز ظاهري ببطاقات NIC متعددة، راجع إنشاء جهاز افتراضي ببطاقات NIC متعددة.

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

الشكل: رسم تخطيطي لموارد تكوين الشبكة التي تم إنشاؤها في مقالة الكيفية هذه.

إنشاء مجموعة موارد

مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

أنشئ مجموعة موارد باستخدام مجموعة New-AzResourceGroup تُسمى myResourceGroup في موقع eastus2.

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

إنشاء شبكة ظاهرية

في هذا القسم، يمكنك إنشاء شبكة ظاهرية للجهاز الظاهري.

استخدم New-AzVirtualNetwork و New-AzVirtualNetworkSubnetConfig لإنشاء شبكة ظاهرية بشبكة فرعية واحدة.

## 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 عام أساسي

استخدم ⁧⁩New-AzPublicIpAddress⁧⁩ لإنشاء عنوان IP عام أساسي.

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

إنشاء مجموعة أمان الشبكة

في هذا القسم، يمكنك إنشاء مجموعة أمان شبكة للجهاز الظاهري والشبكة الظاهرية. يمكنك إنشاء قاعدة للسماح بالاتصالات إلى الجهاز الظاهري على المنفذ 22 ل SSH.

استخدم New-AzNetworkSecurityGroup وNe new-AzNetworkSecurityRuleConfig لإنشاء مجموعة وقواعد أمان الشبكة.

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

إنشاء واجهة شبكة

استخدم New-AzNetworkInterface و New-AzNetworkInterfaceIpConfig لإنشاء واجهة شبكة (NIC) للجهاز الظاهري. يرتبط عنوان 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

إشعار

عند إضافة عنوان IP ثابت، يجب تحديد عنوان صالح وغير مستخدم على الشبكة الفرعية التي تتصل بها بطاقة واجهة الشبكة.

إنشاء جهاز ظاهري

استخدم الأوامر التالية لإنشاء الجهاز الظاهري:

$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 ثانوي خاص وعام

استخدم ⁧⁩New-AzPublicIpAddress⁧⁩ لإنشاء عنوان IP عام ثانوي.

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

استخدم New-AzNetworkInterfaceIpConfig لإنشاء تكوين IP الثانوي للجهاز الظاهري.

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

إضافة عناوين IP إلى نظام تشغيل الجهاز الظاهري

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك.

قم بالاتصال وتسجيل الدخول إلى جهاز ظاهري قمت بإنشائه باستخدام عدة عناوين IP خاصة. يجب عليك إضافة جميع عناوين IP الخاصة يدويًا، بما في ذلك العنوان الأساسي، الذي أضفته إلى الجهاز الظاهري. أكمل الخطوات التالية لنظام تشغيل الجهاز الظاهري الخاص بك.

Windows Server

قم بتوسيع
  1. افتح موجه أوامر أو PowerShell.

  2. أدخل ipconfig /all في سطر الأوامر. سترى عنوان IP الخاص الأساسي الذي تم تعيينه من خلال DHCP.

  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 الأساسي الخاص بك.
    أدخل عنوان IP 168.63.129.16 لاستخدام DNS الافتراضي المتوفر من Azure.
  8. حدد الزر خيارات متقدمة.

  9. حدد إضافة.

  10. أدخل عنوان IP الخاص الذي أضفته إلى واجهة شبكة Azure. أدخل قناع الشبكة الفرعية المطابق. حدد إضافة.

  11. كرر الخطوات السابقة لإضافة أي عناوين IP خاصة إضافية أضفتها إلى واجهة شبكة Azure.

هام

يجب ألا تقوم أبداً بتعيين عنوان IP العام المعين لجهاز Azure الظاهري داخل نظام تشغيل الجهاز الظاهري يدوياً. عند تعيين عنوان IP يدويًا داخل نظام التشغيل، تأكد من أنه نفس عنوان عنوان IP الخاص المعين لواجهة شبكة Azure. قد يؤدي الفشل في تعيين العنوان بشكل صحيح إلى فقدان الاتصال بالجهاز الظاهري. لمزيد من المعلومات، راجع تغيير إعدادات عنوان IP.

لمزيد من المعلومات حول عناوين IP الخاصة، راجع عنوان IP الخاص.

  1. حدد موافق لإغلاق إعدادات عنوان IP الثانوي.

  2. حدد موافق لإغلاق إعدادات المحول. ستتم إعادة إنشاء اتصال 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. تأكد من أن عنوان IP الخاص الأساسي المستخدم في النوافذ هو نفس عنوان IP الأساسي لواجهة شبكة Azure VM. لمزيد من المعلومات، راجع لا يوجد اتصال بالإنترنت من جهاز ظاهري يعمل بنظام Windows الذي يحتوي على عناوين IP متعددة.

التحقق من صحة (خادم Windows)

للتحقق من الاتصال بالإنترنت من تكوين IP الثانوي عبر IP العام، استخدم الأمر التالي. استبدل الإصدار 10.1.0.5 بعنوان IP الثانوي الخاص الذي أضفته إلى واجهة شبكة Azure VM.

ping -S 10.1.0.5 outlook.com

إشعار

بالنسبة لتكوينات IP الثانوية، يمكنك اختبار الاتصال بالإنترنت إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.

SUSE Linux Enterprise وopenSUSE

قم بتوسيع تستخدم cloud-netconfig التوزيعات المستندة إلى SUSE المكون الإضافي من الحزمة cloud-netconfig-azure لإدارة عناوين IP إضافية. لا يلزم تكوين يدوي من جانب المسؤول. يتم تعيين عنوان IP الأول لواجهة معينة على النظام الأساسي عبر DHCP. ثم يفحص المكون الإضافي cloud-netconfig واجهة برمجة تطبيقات Azure Instance Metadata Service بشكل مستمر (مرة واحدة في الدقيقة) لعناوين IP الإضافية المعينة للواجهة ويضيفها / يزيلها كعناوين IP ثانوية تلقائيا.

يجب تثبيت هذا المكون الإضافي وتمكينه على الصور الجديدة بشكل افتراضي. يمكن العثور على خطوات التكوين لأحمال العمل القديمة هنا: https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/.

Ubuntu 14/16

قم بتوسيع

نوصي بالاطلاع على أحدث الوثائق لتوزيع Linux الخاص بك.

  1. افتح نافذة terminal.

  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

إشعار

بالنسبة لتكوينات IP الثانوية، لا يمكنك تنفيذ الأمر ping على الإنترنت إلا إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.

بالنسبة لأجهزة Linux الظاهرية، عند محاولة التحقق من الاتصال الخارجي من 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 بعنوان IP الخاص الذي يرتبط به عنوان IP عام

    • 10.1.0.1 بالبوابة الافتراضية

    • eth2 باسم NIC الثانوي الخاص بك

Ubuntu 18.04+

قم بتوسيع

تم تغيير Ubuntu 18.04 والإصدارات الأحدث إلى netplan لإدارة شبكة نظام التشغيل. نوصي بالاطلاع على أحدث الوثائق لتوزيع Linux الخاص بك.

  1. افتح نافذة terminal.

  2. تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:

    sudo -i
    
  3. قم بإنشاء ملف للواجهة الثانية وافتحه في محرر نصوص:

    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
    

    إشعار

    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

إشعار

بالنسبة لتكوينات IP الثانوية، لا يمكنك تنفيذ الأمر ping على الإنترنت إلا إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.

بالنسبة لأجهزة Linux الظاهرية، عند محاولة التحقق من الاتصال الخارجي من 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 بعنوان IP الخاص الذي يرتبط به عنوان IP عام

    • 10.1.0.1 بالبوابة الافتراضية

    • eth2 باسم NIC الثانوي الخاص بك

Red Hat Enterprise Linux وCentOS وغيرها

قم بتوسيع
  1. افتح نافذة terminal.

  2. تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:

    sudo -i
    
  3. أدخل كلمة المرور الخاصة بك واتبع التعليمات كما هو مطلوب. بمجرد أن تصبح المستخدم الأساسي، انتقل إلى مجلد البرامج النصية للشبكة باستخدام الأمر التالي:

    cd /etc/sysconfig/network-scripts
    
  4. قم بسرد ملفات ifcfg ذات الصلة باستخدام الأمر التالي:

    ls ifcfg-*
    

    يجب أن ترى ifcfg-eth0 كأحد الملفات.

  5. لإضافة عنوان IP، قم بإنشاء ملف تكوين له كما هو موضح أدناه. لاحظ أنه يجب إنشاء ملف واحد لكل تكوين IP.

    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

إشعار

بالنسبة لتكوينات IP الثانوية، لا يمكنك تنفيذ الأمر ping على الإنترنت إلا إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.

بالنسبة لأجهزة Linux الظاهرية، عند محاولة التحقق من الاتصال الخارجي من 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 بعنوان IP الخاص الذي يرتبط به عنوان IP عام

    • 10.0.0.1 بالبوابة الافتراضية

    • eth2 باسم NIC الثانوي الخاص بك

Debian GNU/Linux

قم بتوسيع

نوصي بالاطلاع على أحدث الوثائق لتوزيع Linux الخاص بك.

  1. افتح نافذة terminal.

  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

إشعار

بالنسبة لتكوينات IP الثانوية، لا يمكنك تنفيذ الأمر ping على الإنترنت إلا إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.

بالنسبة لأجهزة Linux الظاهرية، عند محاولة التحقق من الاتصال الخارجي من 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 بعنوان IP الخاص الذي يرتبط به عنوان IP عام

    • 10.1.0.1 بالبوابة الافتراضية

    • eth2 باسم NIC الثانوي الخاص بك

الخطوات التالية