انتقل إلى المحتوى الرئيسي

الفصل 7.1 - واجهات الشبكة

أهداف التعلم​

في نهاية هذا الفصل، ستكون قادرًا على:

  • فهم واجهات الشبكة في لينكس
  • تكوين الواجهات باستخدام ip و ifconfig
  • إدارة عناوين IP
  • فهم ملفات تكوين الشبكة
  • تفعيل/تعطيل الواجهات

واجهات الشبكة​

أنواع الواجهات​

الأنواع:

  • eth0, eth1: واجهات إيثرنت مادية
  • wlan0: واجهة واي فاي
  • lo: حلقة العودة (127.0.0.1)
  • virbr0, veth: واجهات افتراضية (VM، حاويات)

الأوامر الأساسية​

ip - الأمر الحديث​

# عرض جميع الواجهات
ip addr show
ip a
ip address

# عرض واجهة محددة
ip addr show eth0

# عرض الواجهات النشطة فقط
ip link show up

# إحصائيات
ip -s link show

ifconfig - الأمر الكلاسيكي​

# عرض جميع الواجهات
ifconfig -a

# عرض واجهة محددة
ifconfig eth0

# تثبيت إذا لزم الأمر (net-tools)
sudo apt install net-tools # Ubuntu/Debian

تكوين IP​

إضافة عنوان IP​

# باستخدام ip
sudo ip addr add 192.168.1.100/24 dev eth0

# باستخدام ifconfig
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

# التحقق
ip addr show eth0

إزالة عنوان IP​

# باستخدام ip
sudo ip addr del 192.168.1.100/24 dev eth0

# باستخدام ifconfig
sudo ifconfig eth0 0.0.0.0

عناوين IP متعددة​

# إضافة عدة عناوين IP على واجهة
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip addr add 192.168.1.101/24 dev eth0

# عرض جميع عناوين IP
ip addr show eth0

تفعيل/تعطيل الواجهات​

باستخدام ip​

# تفعيل
sudo ip link set eth0 up

# تعطيل
sudo ip link set eth0 down

# عرض الحالة
ip link show eth0

باستخدام ifconfig​

# تفعيل
sudo ifconfig eth0 up

# تعطيل
sudo ifconfig eth0 down

التكوين الدائم​

أوبونتو/ديبيان (Netplan)​

# /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
# أو ثابت:
# addresses:
# - 192.168.1.100/24
# gateway4: 192.168.1.1
# nameservers:
# addresses:
# - 8.8.8.8
# - 8.8.4.4

تطبيق:

sudo netplan apply
sudo netplan try # اختبار مع التراجع

ريد هات/سينت أو إس (NetworkManager)​

# ملف: /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

إعادة التشغيل:

sudo systemctl restart NetworkManager

التكوين اليدوي (systemd-networkd)​

# /etc/systemd/network/20-wired.network
[Match]
Name=eth0

[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4

معلومات الواجهة​

تفاصيل كاملة​

# باستخدام ip
ip -d link show eth0 # تفاصيل
ip -s -s link show eth0 # إحصائيات مفصلة

# باستخدام ethtool (تثبيت إذا لزم الأمر)
sudo apt install ethtool
ethtool eth0 # معلومات الأجهزة
ethtool -S eth0 # إحصائيات

MTU​

# عرض MTU
ip link show eth0 | grep mtu

# تغيير MTU
sudo ip link set eth0 mtu 1500

أمثلة عملية​

تكوين ثابت​

#!/bin/bash
# سكربت تكوين الشبكة

INTERFACE="eth0"
IP="192.168.1.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"

# تكوين IP
sudo ip addr add $IP/24 dev $INTERFACE

# تفعيل الواجهة
sudo ip link set $INTERFACE up

# إضافة مسار افتراضي
sudo ip route add default via $GATEWAY

التحقق​

#!/bin/bash
# التحقق من تكوين الشبكة

echo "=== الواجهات ==="
ip addr show

echo "=== المسارات ==="
ip route show

echo "=== الاتصالات ==="
ss -tuln

ملخص​

في هذا الفصل، تعلمت:

الواجهات: eth0، wlan0، lo، واجهات افتراضية
الأوامر: ip (حديث)، ifconfig (كلاسيكي)
التكوين: IP، netmask، التفعيل/التعطيل
الدائم: Netplan (أوبونتو)، NetworkManager (ريد هات)، systemd-networkd
المعلومات: ip -d، ethtool للتفاصيل
العملي: سكربتات التكوين والتحقق


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

الفصل 7.2: التوجيه وجداول التوجيه
الفصل 7.3: DNS وحل الأسماء


تم إنشاء الفصل في: ديسمبر 2024