تعيين عناوين IP متعددة إلى جهاز ظاهري من خلال Azure CLI
يحتوي جهاز Azure الظاهري (VM) على واجهة شبكة (NIC) واحدة أو أكثر متصلة به. يمكن أن يحتوي أي NIC على واحد أو أكثر من عناوين IP العامة والخاصة الثابتة أو الديناميكية المعينة لها. يتيح تعيين عناوين IP متعددة إلى جهاز ظاهري الإمكانات التالية:
- استضافة مواقع ويب أو خدمات متعددة بعناوين IP مختلفة وشهادات SSL على خادم واحد.
- العمل كجهاز ظاهري للشبكة، مثل جدار حماية أو موازن تحميل.
- القدرة على إضافة أي من عناوين IP الخاصة لأي من واجهات الشبكات إلى تجمع الواجهة الخلفية لموازن تحميل Azure. في الماضي، كان من الممكن إضافة عنوان IP الأساسي فقط لواجهة الشبكة الأساسية إلى تجمع خلفي. لمعرفة المزيد عن كيفية موازنة تحميل تكوينات عنوان IP متعددة، اقرأ مقالة موازنة التحميل لتكوينات IP متعددة.
تحتوي كل بطاقة NIC متصلة بجهاز ظاهري على واحد أو أكثر من تكوينات عنوان IP المرتبطة به. يتم تعيين عنوان IP خاص ثابت أو ديناميكي واحد لكل تكوين. قد يكون لكل تكوين أيضاً مورد عنوان IP عام مرتبط به. يحتوي مورد عنوان IP العام إما على عنوان IP عام ديناميكي أو ثابت تم تعيينه له. لمعرفة المزيد عن عناوين IP في Azure، اقرأ مقالة عناوين IP في Azure.
ملاحظة
يجب أن تقترن جميع تكوينات IP الموجودة على بطاقة واجهة شبكة واحدة بالشبكة الفرعية نفسها. إذا كانت هناك حاجة إلى عناوين IP متعددة على شبكات فرعية مختلفة، يمكن استخدام عدة بطاقات واجهة شبكة على جهاز ظاهري. لمعرفة المزيد عن بطاقات واجهة الشبكة المتعددة على جهاز ظاهري في Azure، اقرأ المقالة إنشاء جهاز ظاهري باستخدام بطاقات واجهة شبكة متعددة.
ثمة حد لعدد عناوين IP الخاصة التي يمكن تخصيصها لبطاقة واجهة الشبكة (NIC). ثمة حد أيضاً لعدد عناوين IP العامة التي يمكن استخدامها في اشتراك Azure. راجع مقالة حدود Azure للحصول على التفاصيل.
توضح هذه المقالة كيفية إنشاء جهاز ظاهري (VM) من خلال نموذج نشر Azure Resource Manager باستخدام مدخل Azure. لا يمكن تعيين عناوين IP متعددة للموارد التي تم إنشاؤها من خلال نموذج النشر الكلاسيكي. لمعرفة المزيد عن نماذج نشر Azure، اقرأ مقالة التعرف على نماذج النشر.
السيناريو
يتم إنشاء جهاز ظاهري باستخدام بطاقة واجهة شبكة واحدة وتوصيله بشبكة ظاهرية. يتطلب الجهاز الظاهري ثلاثة عناوين IP خاصة مختلفة وعنوانين IP عامين. يتم تعيين عناوين IP لتكوينات عنوان IP التالية:
IPConfig-1: تعيين عنوان IP خاص ثابت وعنوان IP عام ثابت.
IPConfig-2: تعيين عنوان IP خاص ثابت وعنوان IP عام ثابت.
IPConfig-3: تعيين عنوان IP خاص ثابت وليس عنوان IP عام.

ترتبط تكوينات عنوان IP ببطاقة واجهة الشبكة عند إنشاء البطاقة وإرفاقها بالجهاز الظاهري عند إنشائه. أنواع عناوين IP المستخدمة للسيناريو هي للتوضيح. يمكنك تعيين أي عنوان IP وأنواع المهام التي تطلبها.
ملاحظة
على الرغم من أن الخطوات الواردة في هذه المقالة تقوم بتعيين جميع تكوينات عنوان IP إلى بطاقة واجهة شبكة، إلا إنه يمكنك أيضاً تعيين تكوينات عنوان IP متعددة لأي بطاقة واجهة شبكة في جهاز ظاهري متعدد بطاقات واجهة الشبكة. لمعرفة كيفية إنشاء جهاز ظاهري باستخدام بطاقات واجهة شبكة متعددة، اقرأ مقالة إنشاء جهاز ظاهري باستخدام ببطاقات واجهة شبكة متعددة.
إنشاء جهاز ظاهري باستخدام عناوين IP متعددة
توضح الخطوات التالية كيفية إنشاء مثال على جهاز ظاهري بعناوين IP متعددة، كما هو موضح في السيناريو. غيّر قيم المتغيرات في "" وأنواع عناوين IP، كما هو مطلوب للتنفيذ.
- ثبّت Azure CLI إذا لم يكن مثبتاً لديك بالفعل.
- أنشئ زوج مفاتيح SSH عام وخاص لأجهزة Linux الظاهرية من خلال إكمال الخطوات في إنشاء زوج مفاتيح SSH عام وخاص لأجهزة Linux الظاهرية.
- من خلال الأمر shell، قم بتسجيل الدخول من خلال الأمر
az loginوحدد الاشتراك الذي تستخدمه. - قم بإنشاء الجهاز الظاهري عن طريق تنفيذ البرنامج النصي التالي على جهاز كمبيوتر يعمل بنظام التشغيل Linux أو Mac. يقوم البرنامج النصي بإنشاء مجموعة موارد وشبكة ظاهرية واحدة (VNet) وبطاقة واجهة مستخدم (NIC) واحدة مع ثلاثة تكوينات IP وجهاز ظاهري مع اثنين من بطاقات NIC المرفقة به. يجب أن يتواجد كل من موارد NIC وعنوان IP العام والشبكة الظاهرية وموارد الجهاز الظاهري في نفس الموقع والاشتراك. على الرغم من عدم ضرورة وجود جميع الموارد في نفس مجموعة الموارد، إلا إنها موجودة في البرنامج النصي التالي.
#!/bin/sh
RgName="myResourceGroup"
Location="westcentralus"
az group create --name $RgName --location $Location
# Create a public IP address resource with a static IP address using the `--allocation-method Static` option. If you
# do not specify this option, the address is allocated dynamically. The address is assigned to the resource from a pool
# of IP addresses unique to each Azure region. Download and view the file from
# https://www.microsoft.com/en-us/download/details.aspx?id=41653 that lists the ranges for each region.
PipName="myPublicIP"
# This name must be unique within an Azure location.
DnsName="myDNSName"
az network public-ip create \
--name $PipName \
--resource-group $RgName \
--location $Location \
--dns-name $DnsName\
--allocation-method Static
# Create a virtual network with one subnet
VnetName="myVnet"
VnetPrefix="10.0.0.0/16"
VnetSubnetName="mySubnet"
VnetSubnetPrefix="10.0.0.0/24"
az network vnet create \
--name $VnetName \
--resource-group $RgName \
--location $Location \
--address-prefix $VnetPrefix \
--subnet-name $VnetSubnetName \
--subnet-prefix $VnetSubnetPrefix
# Create a network interface connected to the subnet and associate the public IP address to it. Azure will create the
# first IP configuration with a static private IP address and will associate the public IP address resource to it.
NicName="MyNic1"
az network nic create \
--name $NicName \
--resource-group $RgName \
--location $Location \
--subnet $VnetSubnet1Name \
--private-ip-address 10.0.0.4
--vnet-name $VnetName \
--public-ip-address $PipName
# Create a second public IP address, a second IP configuration, and associate it to the NIC. This configuration has a
# static public IP address and a static private IP address.
az network public-ip create \
--resource-group $RgName \
--location $Location \
--name myPublicIP2 \
--dns-name mypublicdns2 \
--allocation-method Static
az network nic ip-config create \
--resource-group $RgName \
--nic-name $NicName \
--name IPConfig-2 \
--private-ip-address 10.0.0.5 \
--public-ip-name myPublicIP2
# Create a third IP configuration, and associate it to the NIC. This configuration has static private IP address and # no public IP address.
az network nic ip-config create \
--resource-group $RgName \
--nic-name $NicName \
--private-ip-address 10.0.0.6 \
--name IPConfig-3
# Note: Though this article assigns all IP configurations to a single NIC, you can also assign multiple IP configurations
# to any NIC in a VM. To learn how to create a VM with multiple NICs, read the Create a VM with multiple NICs
# article: https://docs.microsoft.com/azure/virtual-network/virtual-network-deploy-multinic-arm-cli.
# Create a VM and attach the NIC.
VmName="myVm"
# Replace the value for the following **VmSize** variable with a value from the
# https://docs.microsoft.com/azure/virtual-machines/sizes article. The script fails if the VM size
# is not supported in the location you select. Run the `azure vm sizes --location eastcentralus` command to get a full list
# of VMs in US West Central, for example.
VmSize="Standard_DS1"
# Replace the value for the OsImage variable value with a value for *urn* from the output returned by entering the
# `az vm image list` command.
OsImage="credativ:Debian:8:latest"
Username="adminuser"
# Replace the following value with the path to your public key file. If you're creating a Windows VM, remove the following
# line and you'll be prompted for the password you want to configure for the VM.
SshKeyValue="~/.ssh/id_rsa.pub"
az vm create \
--name $VmName \
--resource-group $RgName \
--image $OsImage \
--location $Location \
--size $VmSize \
--nics $NicName \
--admin-username $Username \
--ssh-key-value $SshKeyValue
بالإضافة إلى إنشاء جهاز ظاهري باستخدام NIC مع تكوينات IP 3، يقوم البرنامج النصي بإنشاء ما يلي:
- قرص واحد متميز مُدار بشكلٍ افتراضي، ولكن لديك خيارات أخرى لنوع القرص الذي يمكنك إنشاؤه. اقرأ مقالة إنشاء جهاز Linux الظاهري باستخدام مقالة Azure CLI للحصول على التفاصيل.
- شبكة ظاهرية تحتوي على شبكة فرعية واحدة وعنواني IP عامين. بدلاً من ذلك، يمكنك استخدام موارد الشبكة الظاهرية أو الشبكة الفرعية أو NIC أو عناوين IP العامة الموجودة. لمعرفة كيفية استخدام موارد الشبكة الحالية بدلاً من إنشاء موارد إضافية، أدخل
az vm create -h.
تنطوي عناوين IP العامة على رسوم رمزية. لمعرفة المزيد عن تسعير عنوان IP، اقرأ صفحة تسعير عنوان IP. ثمة حد لعدد عناوين IP العامة التي يمكن استخدامها في الاشتراك. لمعرفة المزيد عن الحدود، اقرأ مقالة حدود Azure.
بعد إنشاء الجهاز الظاهري، أدخل الأمر az network nic show --name MyNic1 --resource-group myResourceGroup لعرض تكوين NIC. أدخل az network nic ip-config list --nic-name MyNic1 --resource-group myResourceGroup --output table لعرض قائمة تكوينات عنوان IP المقترنة بـNIC.
أضف عناوين IP الخاصة إلى نظام تشغيل الجهاز الظاهري عن طريق إكمال الخطوات الخاصة بنظام التشغيل الخاص بك في قسم إضافة عناوين IP إلى نظام تشغيل الجهاز الظاهري من هذه المقالة.
إضافة عناوين IP إلى جهاز ظاهري
يمكنك إضافة عناوين IP خاصة وعامة إضافية إلى واجهة شبكة Azure حالية من خلال إكمال الخطوات التالية. تستند الأمثلة إلى السيناريو الموضح في هذه المقالة.
افتح أمر shell وأكمل الخطوات المتبقية في هذا القسم خلال جلسة عمل واحدة. إذا لم يكن لديك Azure CLI مثبتاً ومكوناً بالفعل، فأكمل الخطوات الواردة في مقالة تثبيت Azure CLI وقم بتسجيل الدخول إلى حساب Azure الخاص بك باستخدام الأمر
az-login.أكمل الخطوات الواردة في أحد الأقسام التالية، استناداً إلى متطلباتك:
إضافة عنوان IP خاص
لإضافة عنوان IP خاص إلى NIC، يجب عليك إنشاء تكوين عنوان IP باستخدام الأمر التالي. يجب أن يكون عنوان IP الثابت عنواناً غير مستخدم للشبكة الفرعية.
az network nic ip-config create \ --resource-group myResourceGroup \ --nic-name myNic1 \ --private-ip-address 10.0.0.7 \ --name IPConfig-4قم بإنشاء العديد من التكوينات التي تريدها، باستخدام أسماء تكوين فريدة وعناوين IP خاصة (للتكوينات باستخدام عناوين IP الثابتة).
إضافة عنوان IP عام
تتم إضافة عنوان IP عام عن طريق إقرانه إما بتكوين IP جديد أو تكوين IP موجود. أكمل الخطوات الواردة في أحد الأقسام التالية، حسب الحاجة.
تنطوي عناوين IP العامة على رسوم رمزية. لمعرفة المزيد عن تسعير عنوان IP، اقرأ صفحة تسعير عنوان IP. ثمة حد لعدد عناوين IP العامة التي يمكن استخدامها في الاشتراك. لمعرفة المزيد عن الحدود، اقرأ مقالة حدود Azure.
إقران المورد بتكوين عنوان IP جديد
كلما أضفت عنوان IP عام في تكوين IP جديد، يجب عليك أيضاً إضافة عنوان IP خاص، لأن جميع تكوينات IP يجب أن يكون لها عنوان IP خاص. يمكنك إما إضافة مورد عنوان IP عام حالي أو إنشاء مورد جديد. لإنشاء مورد جديد، أدخل الأمر التالي:
az network public-ip create \ --resource-group myResourceGroup \ --location westcentralus \ --name myPublicIP3 \ --dns-name mypublicdns3لإنشاء تكوين IP جديد باستخدام عنوان IP خاص ثابت ومورد عنوان IP العام myPublicIP3 المقترن، أدخل الأمر التالي:
az network nic ip-config create \ --resource-group myResourceGroup \ --nic-name myNic1 \ --name IPConfig-5 \ --private-ip-address 10.0.0.8 --public-ip-address myPublicIP3إقران المورد بتكوين IP موجود لا يمكن إقران مورد عنوان IP عام إلا بتكوين IP لا يحتوي بالفعل على تكوين مقترن. يمكنك تحديد ما إذا كان تكوين IP يحتوي على عنوان IP عام مقترن عن طريق إدخال الأمر التالي:
az network nic ip-config list \ --resource-group myResourceGroup \ --nic-name myNic1 \ --query "[?provisioningState=='Succeeded'].{ Name: name, PublicIpAddressId: publicIpAddress.id }" --output tableالإخراج المرتجع:
Name PublicIpAddressId ipconfig1 /subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP1 IPConfig-2 /subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP2 IPConfig-3نظراً لأن العمود PublicIpAddressId لـIpConfig-3 فارغ في الإخراج، فلا يوجد مورد عنوان IP عام مقترن به حالياً. يمكنك إضافة مورد عنوان IP عام موجود إلى IpConfig-3، أو إدخال الأمر التالي لإنشاء مورداً:
az network public-ip create \ --resource-group myResourceGroup --location westcentralus \ --name myPublicIP3 \ --dns-name mypublicdns3 \ --allocation-method Staticأدخل الأمر التالي لإقران مورد عنوان IP العام بتكوين IP الموجود المسمى IPConfig-3:
az network nic ip-config update \ --resource-group myResourceGroup \ --nic-name myNic1 \ --name IPConfig-3 \ --public-ip myPublicIP3
اعرض عناوين IP الخاصة ومعرفات موارد عنوان IP العام المعينة إلى NIC عن طريق إدخال الأمر التالي:
az network nic ip-config list \ --resource-group myResourceGroup \ --nic-name myNic1 \ --query "[?provisioningState=='Succeeded'].{ Name: name, PrivateIpAddress: privateIpAddress, PrivateIpAllocationMethod: privateIpAllocationMethod, PublicIpAddressId: publicIpAddress.id }" --output tableالإخراج المرتجع:
Name PrivateIpAddress PrivateIpAllocationMethod PublicIpAddressId ipconfig1 10.0.0.4 Static /subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP1 IPConfig-2 10.0.0.5 Static /subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP2 IPConfig-3 10.0.0.6 Static /subscriptions/[Id]/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP3أضف عناوين IP الخاصة التي أضفتها إلى NIC إلى نظام التشغيل الجهاز الظاهري باتباع الإرشادات الواردة في قسم إضافة عناوين IP إلى نظام تشغيل الجهاز الظاهري من هذه المقالة. لا تقم بإضافة عناوين IP العامة إلى نظام التشغيل.
إضافة عناوين IP إلى نظام تشغيل الجهاز الظاهري
قم بالاتصال وتسجيل الدخول إلى جهاز ظاهري قمت بإنشائه باستخدام عدة عناوين IP خاصة. يجب عليك إضافة جميع عناوين IP الخاصة يدوياً (بما في ذلك العنوان الأساسي) التي أضفتها إلى الجهاز الظاهري. أكمل الخطوات التالية لنظام تشغيل الجهاز الظاهري.
Windows Server
توسيع
من موجه الأوامر، اكتب ipconfig /all. سترى فقط عنوان IP الخاص الأساسي (من خلال DHCP).
اكتب ncpa.cpl في موجه الأوامر لفتح الإطار اتصالات الشبكة.
افتح خصائص المعن المناسب: Ethernet.
انقر نقراً مزدوجاً فوق الإصدار 4 من بروتوكول الإنترنت (IPv4).
حدد استخدام عنوان IP التالي وأدخل القيم التالية:
عنوان IP: أدخل عنوان IP الخاص الأساسي
قناع الشبكة الفرعية: يتم ضبطه بناءً على شبكتك الفرعية. على سبيل المثال، إذا كانت الشبكة الفرعية عبارة عن شبكة فرعية/24، يكون قناع الشبكة الفرعية هو 255.255.255.0.
البوابة الافتراضية: عنوان IP الأول في الشبكة الفرعية. إذا كانت شبكتك الفرعية هي 10.0.0.0/24، فإن عنوان IP للبوابة هو 10.0.0.1.
حدد استخدام عناوين خادم DNS التالية وأدخل القيم التالية:
- خادم DNS المفضل: إذا كنت لا تستخدم خادم DNS الخاص بك، فأدخل 168.63.129.16. إذا كنت تستخدم خادم DNS الخاص بك، فأدخل عنوان IP لخادمك. (بالنسبة لخادم DNS البديل، يمكنك اختيار أي عنوان خادم DNS عام مجاني.)
حدد الزر متقدم وأضف عناوين IP إضافية. أضف كل عنوان من عناوين IP الثانوية الخاصة، التي أضفتها إلى واجهة شبكة Azure في خطوة سابقة، إلى واجهة شبكة Windows التي تم تعيين عنوان IP الأساسي لها لواجهة شبكة Azure.
يجب ألا تقوم أبداً بتعيين عنوان IP العام المعين لجهاز Azure الظاهري داخل نظام تشغيل الجهاز الظاهري يدوياً. عند تعيين عنوان IP يدوياً داخل نظام التشغيل، فتأكد من أنه نفس عنوان IP الخاص المعين لواجهة شبكة Azure، وإلا فقد تفقد الاتصال بالجهاز الظاهري. تعرف على المزيد عن إعدادات عنوان IP الخاص. يجب ألا تقوم أبدا بتعيين عنوان IP عام لـAzure داخل نظام التشغيل.
انقر فوق موافق لإغلاق إعدادات TCP/IP ثم انقر فوق موافق مرة أخرى لإغلاق إعدادات المحول. تمت إعادة إنشاء اتصال RDP.
من موجه الأوامر، اكتب ipconfig /all. تحقق من ظهور جميع عناوين IP التي أضفتها وإيقاف تشغيل DHCP.
قم بتكوين Windows لاستخدام عنوان IP الخاص لتكوين IP الأساسي في Azure كعنوان IP الأساسي لنظام التشغيل Windows. راجع عدم الاتصال بالإنترنت من جهاز Azure الظاهري الذي يحتوي على عناوين IP متعددة للحصول على التفاصيل.
التحقق من صحة (خادم Windows)
للتأكد من قدرتك على الاتصال بالإنترنت من تكوين IP الثانوي الخاص بك عبر IP العام المرتبط به، بمجرد إضافته بشكلٍ صحيح باستخدام الخطوات المذكورة أعلاه، استخدم الأمر التالي (استبدال 10.0.0.7 بعنوان IP الثانوي الخاص):
ping -S 10.0.0.7 outlook.com
ملاحظة
بالنسبة لتكوينات IP الثانوية، لا يمكنك تنفيذ الأمر ping على الإنترنت إلا إذا كان للتكوين عنوان IP عام مرتبط به. بالنسبة لتكوينات IP الأساسية، لا يلزم عنوان IP العام لإجراء اختبار الاتصال بالإنترنت.
نظام Linux (Ubuntu 14/16)
توسيع
نوصي بالاطلاع على أحدث الوثائق لتوزيع Linux الخاص بك.
افتح نافذة terminal.
تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:
sudo -iقم بتحديث ملف التكوين لواجهة الشبكة (بافتراض "eth0").
احتفظ بعنصر السطر الموجود لـdhcp. يظل عنوان IP الأساسي مكوناً كما كان سابقاً.
أضف تكويناً لعنوان IP الثابت الإضافي باستخدام الأوامر التالية:
cd /etc/network/interfaces.d/ lsيجب أن تشاهد ملف .cfg.
افتح ملف. يجب أن تشاهد الأسطر التالية في نهاية الملف:
auto eth0 iface eth0 inet dhcpأضف الأسطر التالية بعد الأسطر الموجودة في هذا الملف:
iface eth0 inet static address <your private IP address here> netmask <your subnet mask>احفظ الملف باستخدام الأمر التالي:
:wqأعد تعيين واجهة الشبكة باستخدام الأمر التالي:
sudo ifdown eth0 && sudo ifup eth0هام
قم بتشغيل كل من ifdown وifup في نفس السطر إذا كنت تستخدم اتصالاً بعيداً.
تحقق من إضافة عنوان IP إلى واجهة الشبكة باستخدام الأمر التالي:
ip addr list eth0يجب أن ترى عنوان IP الذي أضفته كجزء من القائمة.
التحقق من الصحة (Ubuntu 14/16)
للتأكد من قدرتك على الاتصال بالإنترنت من تكوين 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.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
- تأكد من استبدال:
- 10.0.0.5 بعنوان IP الخاص الذي يرتبط به عنوان IP عام
- 10.0.0.1 بالبوابة الافتراضية
- eth2 باسم NIC الثانوي الخاص بك
نظام Linux (Ubuntu 18.04+)
توسيع
تم تغيير Ubuntu 18.04 والإصدارات الأحدث إلى netplan لإدارة شبكة نظام التشغيل. نوصي بالاطلاع على أحدث الوثائق لتوزيع Linux الخاص بك.
افتح نافذة terminal.
تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:
sudo -iقم بإنشاء ملف للواجهة الثانية وافتحه في محرر نصوص:
vi /etc/netplan/60-static.yamlأضف الأسطر التالية إلى الملف، مع استبدال
10.0.0.6/24بعنوان IP/قناع الشبكة:network: version: 2 ethernets: eth0: addresses: - 10.0.0.6/24احفظ الملف باستخدام الأمر التالي:
:wqاختبر التغييرات باستخدام netplan try لتأكيد البنية:
netplan tryملاحظة
netplan tryسيطبق التغييرات مؤقتاً ويعيد التغييرات بعد 120 ثانية. في حالة فقد الاتصال، يُرجى الانتظار 120 ثانية ثم إعادة الاتصال. في ذلك الوقت، سيتم التراجع عن التغييرات.بافتراض عدم وجود مشكلات مع
netplan try، قم بتطبيق تغييرات التكوين:netplan applyتحقق من إضافة عنوان IP إلى واجهة الشبكة باستخدام الأمر التالي:
ip addr list eth0يجب أن ترى عنوان IP الذي أضفته كجزء من القائمة. مثال:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:8c:14:a5 brd ff:ff:ff:ff:ff:ff inet 10.0.0.6/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 10.0.0.4/24 brd 10.0.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe8c:14a5/64 scope link valid_lft forever preferred_lft forever
التحقق من الصحة (Ubuntu 18.04+)
للتأكد من قدرتك على الاتصال بالإنترنت من تكوين 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.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
- تأكد من استبدال:
- 10.0.0.5 بعنوان IP الخاص الذي يرتبط به عنوان IP عام
- 10.0.0.1 بالبوابة الافتراضية
- eth2 باسم NIC الثانوي الخاص بك
نظام التشغيل Linux (Red Hat، وCentOS، وغيرها)
توسيع
افتح نافذة terminal.
تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:
sudo -iأدخل كلمة المرور الخاصة بك واتبع التعليمات كما هو مطلوب. بمجرد أن تصبح المستخدم الأساسي، انتقل إلى مجلد البرامج النصية للشبكة باستخدام الأمر التالي:
cd /etc/sysconfig/network-scriptsقم بسرد ملفات ifcfg ذات الصلة باستخدام الأمر التالي:
ls ifcfg-*يجب أن ترى ifcfg-eth0 كأحد الملفات.
لإضافة عنوان IP، قم بإنشاء ملف تكوين له كما هو موضح أدناه. لاحظ أنه يجب إنشاء ملف واحد لكل تكوين IP.
touch ifcfg-eth0:0افتح الملف ifcfg-eth0: 0 باستخدام الأمر التالي:
vi ifcfg-eth0:0أضف محتوى إلى الملف، eth0: 0 في هذه الحالة، باستخدام الأمر التالي. تأكد من تحديث المعلومات بناءً على عنوان IP الخاص بك.
DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.101.101 NETMASK=255.255.255.0احفظ الملف باستخدام الأمر التالي:
:wqأعد تشغيل خدمات الشبكة وتأكد من نجاح التغييرات عن طريق تشغيل الأوامر التالية:
/etc/init.d/network restart ifconfigيجب أن ترى عنوان IP الذي أضفته، eth0: 0، في القائمة.
التحقق من الصحة (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.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom
- تأكد من استبدال:
- 10.0.0.5 بعنوان IP الخاص الذي يرتبط به عنوان IP عام
- 10.0.0.1 بالبوابة الافتراضية
- eth2 باسم NIC الثانوي الخاص بك
Debian GNU/Linux
توسيع
افتح نافذة terminal.
تأكد من أنك المستخدم الجذر. إذا لم تكن كذلك، فأدخل الأمر التالي:
sudo -iقم بتحديث ملف التكوين لواجهة الشبكة (بافتراض "eth0").
افتح ملف واجهة الشبكة باستخدام الأمر أدناه:
vi /etc/network/interfacesيجب أن تشاهد الأسطر التالية في نهاية الملف:
auth eth0 iface eth0 inet dhcpاحتفظ بعنصر السطر الحالي لـdhcp كما هو. يظل عنوان IP الأساسي مكوناً كما كان سابقاً.
أضف الأسطر التالية بعد الأسطر الموجودة في هذا الملف:
iface eth0 inet static address <your private IP address here> netmask <your subnet mask>
احفظ الملف باستخدام الأمر التالي:
:wq!أعد تشغيل خدمات الشبكة لتصبح التغييرات سارية المفعول. بالنسبة لـDebian 8 والأحدث، يمكن القيام بذلك باستخدام الأمر التالي:
systemctl restart networkingبالنسبة للإصدارات السابقة من Debian، يمكنك استخدام الأوامر التالية:
service networking restartتحقق من إضافة عنوان IP إلى واجهة الشبكة باستخدام الأمر التالي:
ip addr list eth0
يجب أن ترى عنوان IP الذي أضفته كجزء من القائمة. مثال:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:1d:1d:64 brd ff:ff:ff:ff:ff:ff
inet 10.2.0.5/24 brd 10.2.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.2.0.6/24 brd 10.2.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe1d:1d64/64 scope link
valid_lft forever preferred_lft forever