كيفية ضبط إعدادات الشبكات على خادوم أوبنتو
إعداد الشبكة في أوبنتو، تكوين الشبكات، Netplan، Static IP، Network Interfaces، Ubuntu Server، DHCP، DNS
يُعد ضبط إعدادات الشبكات من الأمور الأساسية لأي مدير نظام أو مطور يعمل على خواديم أوبنتو، نظرًا لأن الشبكة تشكل العمود الفقري لأي بيئة تشغيلية تعتمد على التفاعل بين الأنظمة والخدمات المختلفة. في خواديم أوبنتو (Ubuntu Server)، يُعد تكوين الشبكات من أهم الخطوات التي تسبق عمليات النشر، سواء كانت تخص الخواديم المحلية أو تلك المستضافة في بيئات الحوسبة السحابية. يتناول هذا المقال بشيء من التفصيل كيفية إدارة وضبط إعدادات الشبكات على خادوم أوبنتو بطريقة احترافية تغطي الجوانب المختلفة للنظام، بدءًا من الإعدادات التقليدية باستخدام ملفات الشبكة وحتى النظام الأحدث Netplan.
1. مقدمة حول بنية إعدادات الشبكة في أوبنتو
في النسخ الحديثة من أوبنتو (ابتداءً من 17.10)، تم استبدال الطرق التقليدية لتكوين الشبكة عبر interfaces بأداة جديدة تُسمى Netplan، وهي أداة تعتمد على ملفات YAML لتحديد وتطبيق إعدادات الشبكة من خلال backends مثل systemd-networkd أو NetworkManager. أما في النسخ الأقدم (مثل Ubuntu 16.04 وما دون)، فكان يتم التحكم بالشبكات عبر تعديل ملف /etc/network/interfaces.
2. التحقق من إصدار أوبنتو ونظام الشبكة
قبل البدء، من الضروري معرفة إصدار أوبنتو قيد التشغيل لتحديد الطريقة الملائمة لضبط إعدادات الشبكة:
bashlsb_release -a
أو:
bashcat /etc/os-release
ثم للتحقق من نظام إدارة الشبكة المستخدم:
bashnetworkctl
أو:
bashnetplan --debug
3. إعداد الشبكة باستخدام Netplan (لإصدارات أوبنتو 18.04 فأحدث)
3.1. بنية ملفات Netplan
تقع ملفات Netplan غالبًا في المسار:
bash/etc/netplan/
وتنتهي بامتداد .yaml. على سبيل المثال:
bash/etc/netplan/01-netcfg.yaml
3.2. مثال لتكوين عنوان IP ثابت
yamlnetwork:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
بعد حفظ التعديلات:
bashsudo netplan apply
3.3. استخدام DHCP بدلاً من IP ثابت
yamlnetwork:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
4. إعداد الشبكة في الإصدارات القديمة (باستخدام interfaces)
4.1. موقع الملف
الملف الرئيسي:
bash/etc/network/interfaces
4.2. تكوين IP ثابت
bashauto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
لتفعيل الإعدادات:
bashsudo ifdown eth0 && sudo ifup eth0
أو:
bashsudo systemctl restart networking
5. إعدادات الشبكة اللاسلكية (Wi-Fi) في الخادوم
إذا كان الخادوم مزودًا ببطاقة شبكة لاسلكية، يتم تعريف الاتصال اللاسلكي باستخدام wpa_supplicant.
5.1. إعداد ملف wpa_supplicant
bashsudo nano /etc/wpa_supplicant/wpa_supplicant.conf
المحتوى:
makefilenetwork={
ssid="اسم-الشبكة"
psk="كلمة-المرور"
}
لتشغيل الاتصال اللاسلكي:
bashsudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf sudo dhclient wlan0
6. إدارة إعدادات DNS
في أوبنتو، يتم تحديد خوادم DNS إما من خلال Netplan أو من خلال ملف resolv.conf.
6.1. باستخدام Netplan
تمت الإشارة سابقًا إلى استخدام:
yamlnameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
6.2. باستخدام systemd-resolved
لإدارة DNS يدويًا:
bashsudo systemctl status systemd-resolved sudo resolvectl status
يمكن الربط مع resolv.conf:
bashsudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
7. التحقق من حالة الشبكة والاتصال
baship a # عرض الواجهات والعناوين
ip r # عرض جدول التوجيه
ping 8.8.8.8 # اختبار الاتصال الخارجي
systemctl status systemd-networkd
8. التعامل مع مشاكل الشبكة
8.1. إعادة تشغيل الخدمات
bashsudo systemctl restart systemd-networkd
أو:
bashsudo netplan apply
8.2. فحص ملفات السجل
bashjournalctl -u systemd-networkd dmesg | grep eth
9. تكوين الشبكة في بيئات سحابية
تُدار إعدادات الشبكة غالبًا بواسطة أدوات مثل cloud-init. عند استخدام منصات مثل AWS أو Azure أو DigitalOcean، يجب الانتباه إلى عدم تعارض Netplan مع إعدادات cloud-init.
bashsudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
المحتوى لتعطيل تكوين الشبكة من cloud-init:
cssnetwork: {config: disabled}
10. إعدادات متقدمة
10.1. إعداد واجهات متعددة (Multi-homing)
يمكنك تكوين أكثر من عنوان IP أو أكثر من بوابة لكل واجهة:
yamlethernets:
enp0s3:
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
gateway4: 192.168.1.1
10.2. إعداد جسر شبكة (Bridge)
يُستخدم في بيئات التمثيل الافتراضي (Virtualization):
yamlnetwork:
version: 2
renderer: networkd
bridges:
br0:
interfaces: [enp3s0]
addresses: [192.168.1.150/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
11. جدول يوضح الفروقات بين Netplan و interfaces
| الخاصية | Netplan | interfaces |
|---|---|---|
| الإصدارات المدعومة | Ubuntu 18.04 فما بعد | Ubuntu 16.04 وما قبل |
| لغة التكوين | YAML | Plain Text |
| طريقة التطبيق | netplan apply |
ifup / ifdown, systemctl |
| دعم الواجهات الحديثة | نعم (يدعم VLAN, Bridge, Bonding) | دعم محدود |
| الاعتماد على backends | systemd-networkd, NetworkManager | لا يعتمد على backends |
| توافق مع cloud-init | نعم | غالبًا لا |
12. الخلاصة التقنية
إدارة إعدادات الشبكة في أوبنتو لم تعد عملية عشوائية بل تعتمد على منهجيات واضحة ومنظمة، خصوصًا مع إدخال أدوات مثل Netplan. من المهم فهم طبيعة البيئة التشغيلية التي تعمل بها سواء على إصدار حديث أو قديم من أوبنتو، والتعامل مع إعدادات الشبكة باحترافية سواء عبر DHCP أو IP ثابت، أو حتى في بيئات افتراضية وسحابية. توفر أوبنتو أدوات متقدمة للتحقق من حالة الشبكة وتشخيص الأخطاء، ما يسهم في الحفاظ على كفاءة وأمان النظام بشكل دائم.
المصادر:

