</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

تنظیم شبکه در Debian

آموزش تنظیم شبکه در Debian با ifupdown، NetworkManager و systemd-networkd: IP ثابت، DHCP، DNS، Wi-Fi و رفع خطاهای رایج.

متوسط۷ دقیقه مطالعهآخرین بروزرسانی: ۹ تیر ۱۴۰۵ویرایش در گیت‌هاب

تنظیم شبکه در Debian می‌تواند با یکی از سه ابزار اصلی انجام شود: ifupdown (کلاسیک، برای سرور)، NetworkManager (برای دسکتاپ) یا systemd-networkd (مدرن). در این آموزش با هر سه روش آشنا می‌شوید.

ابزارهای مدیریت شبکه در Debian#

ابزارکاربردمناسب برای
ifupdownشبکهٔ کلاسیک با /etc/network/interfacesسرور
NetworkManagerشبکهٔ گرافیکی و پویادسکتاپ، لپ‌تاپ
systemd-networkdشبکهٔ مدرن systemdسرور، container
netplanلایهٔ بالاتر (پیش‌فرض Ubuntu، اختیاری در Debian)Ubuntu، سرورهای خاص

انتخاب ابزار درست

در نصب سرور Debian، ifupdown به‌طور پیش‌فرض فعال است. در نصب دسکتاپ، NetworkManager نصب می‌شود. اگر هر دو فعال باشند، ممکن است تداخل ایجاد کنند. همیشه فقط یک ابزار را برای هر رابط شبکه فعال کنید.

بررسی وضعیت شبکه#

پیش از هر چیز، وضعیت فعلی شبکه را بررسی کنید:

# لیست رابط‌های شبکه
ip link show
 
# آدرس‌های IP اختصاص‌یافته
ip addr show
 
# جدول مسیریابی
ip route
 
# DNS فعلی
cat /etc/resolv.conf
 
# تست اتصال
ping -c 3 8.8.8.8
ping -c 3 deb.debian.org
# خروجی نمونه ip link show:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 ...
    link/ether 00:11:22:33:44:55

نام رابط‌ها

در Debian مدرن، رابط‌های شبکه به‌جای نام‌های قدیمی eth0 و wlan0، از نام‌های پیش‌بینی‌شدهٔ systemd استفاده می‌کنند: ens18، enp3s0، wlp3s0 و... این نام‌ها بر اساس موقعیت فیزیکی کارت شبکه در PCI/USB ساخته می‌شوند و پایدارترند.

روش ۱: ifupdown (سرور)#

ifupdown ابزار کلاسیک شبکه در Debian است که با فایل /etc/network/interfaces پیکربندی می‌شود.

DHCP (پیش‌فرض)#

# /etc/network/interfaces
source /etc/network/interfaces.d/*
 
auto lo
iface lo inet loopback
 
auto ens18
iface ens18 inet dhcp
# اعمال تغییرات
sudo systemctl restart networking
# یا
sudo ifdown ens18 && sudo ifup ens18

IP ثابت#

# /etc/network/interfaces
auto ens18
iface ens18 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 1.1.1.1
    dns-search example.com

توجه به DNS

در ifupdown، گزینهٔ dns-nameservers نیاز به بستهٔ resolvconf دارد. اگر این بسته نصب نباشد، DNS به‌صورت خودکار به /etc/resolv.conf نوشته نمی‌شود. در این صورت، DNS را دستی در /etc/resolv.conf تنظیم کنید.

چندین IP روی یک رابط#

auto ens18
iface ens18 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
 
iface ens18 inet static
    address 192.168.1.11/24

VLAN#

# نصب بستهٔ vlan
# sudo apt install vlan
 
auto ens18.10
iface ens18.10 inet static
    address 10.0.10.1/24
    vlan-raw-device ens18

Bridging#

# نصب بستهٔ bridge-utils
# sudo apt install bridge-utils
 
auto br0
iface br0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge_ports ens18
    bridge_stp off
    bridge_fd 0

رابط‌های جدا در /etc/network/interfaces.d/#

برای مدیریت بهتر، هر رابط را در یک فایل جداگانه بسازید:

sudo nano /etc/network/interfaces.d/ens18
# /etc/network/interfaces.d/ens18
auto ens18
iface ens18 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1

روش ۲: NetworkManager (دسکتاپ)#

NetworkManager برای دسکتاپ‌ها و لپ‌تاپ‌ها طراحی شده و مدیریت Wi-Fi، VPN و اتصال پویا را آسان می‌کند.

نصب و فعال‌سازی#

# نصب
sudo apt install network-manager
 
# فعال‌سازی
sudo systemctl enable --now NetworkManager
 
# اگر از ifupdown استفاده می‌کردید، آن را برای رابط‌های مدیریت‌شده غیرفعال کنید
sudo nano /etc/network/interfaces
# تمام خطوط auto/iface (به‌جز lo) را کامنت کنید

استفاده با nmcli#

# لیست اتصال‌ها
nmcli connection show
 
# لیست رابط‌ها و وضعیت
nmcli device status
 
# اتصال به Wi-Fi
nmcli device wifi connect "MyNetwork" password "mypassword"
 
# ساخت اتصال IP ثابت
nmcli connection add type ethernet con-name "static" ifname ens18 ipv4.method manual ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 1.1.1.1"
 
# فعال‌سازی اتصال
nmcli connection up "static"
 
# قطع اتصال
nmcli connection down "static"

استفاده با nmtui (رابط متنی)#

# اجرای رابط متنی
sudo nmtui

nmtui یک منوی تعاملی برای ویرایش اتصال‌ها، فعال‌سازی و تنظیم hostname فراهم می‌کند.

nmtui بهترین دوست شما در سرور

اگر روی سرور بدون GUI از NetworkManager استفاده می‌کنید، nmtui ساده‌ترین راه برای پیکربندی است. نیازی به حفظ دستورات پیچیده nmcli نیست.

روش ۳: systemd-networkd (مدرن)#

systemd-networkd ابزار شبکهٔ داخلی systemd است که برای سرورها و containerها سبک و مناسب است.

فعال‌سازی#

# فعال‌سازی سرویس‌ها
sudo systemctl enable --now systemd-networkd
sudo systemctl enable --now systemd-resolved
 
# همگام‌سازی resolv.conf
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

پیکربندی رابط#

# ساخت فایل پیکربندی برای رابط ens18
sudo nano /etc/systemd/network/10-ens18.network
# /etc/systemd/network/10-ens18.network
[Match]
Name=ens18
 
[Network]
DHCP=yes
# یا برای IP ثابت:
# Address=192.168.1.10/24
# Gateway=192.168.1.1
# DNS=8.8.8.8
# DNS=1.1.1.1
# بارگذاری مجدد
sudo systemctl restart systemd-networkd

تنظیم DNS#

DNS در Debian از طریق /etc/resolv.conf پیکربندی می‌شود. اما این فایل معمولاً توسط ابزار مدیریت شبکه بازنویسی می‌شود:

# بررسی DNS فعلی
cat /etc/resolv.conf
# nameserver 8.8.8.8
# nameserver 1.1.1.1
# search example.com

تنظیم DNS با resolvconf#

# نصب
sudo apt install resolvconf
 
# پیکربندی
sudo nano /etc/resolvconf/resolv.conf.d/head
# nameserver 8.8.8.8
# nameserver 1.1.1.1
 
# اعمال
sudo resolvconf -u

تنظیم DNS با systemd-resolved#

# فعال‌سازی
sudo systemctl enable --now systemd-resolved
 
# همگام‌سازی
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
 
# تنظیم DNS
sudo nano /etc/systemd/resolved.conf
# /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 1.1.1.1
FallbackDNS=8.8.4.4
Domains=example.com
DNSSEC=allow-downgrade
DNSOverTLS=opportunistic
sudo systemctl restart systemd-resolved

hostname و /etc/hosts#

# تنظیم hostname
sudo hostnamectl set-hostname debian-server
 
# بررسی
hostnamectl
 
# فایل /etc/hosts
cat /etc/hosts
# 127.0.0.1   localhost
# 127.0.1.1   debian-server

hostname در /etc/hosts مهم است

اگر hostname شما در /etc/hosts نباشد، بسیاری از برنامه‌ها (از جمله sudo) هشدار می‌دهند. همیشه مطمئن شوید hostname در /etc/hosts به 127.0.1.1 (نه 127.0.0.1) نگاشت شده است.

ابزارهای عیب‌یابی#

# تست اتصال
ping -c 3 8.8.8.8
 
# تست DNS
nslookup deb.debian.org
dig deb.debian.org
 
# مسیر شبکه
traceroute deb.debian.org
 
# پورت‌های باز
sudo ss -tlnp
 
# جدول مسیریابی
ip route
 
# لاگ‌های شبکه
journalctl -u networking
journalctl -u NetworkManager
journalctl -u systemd-networkd

خطاهای رایج#

۱. "Temporary failure in name resolution"#

علت: DNS تنظیم نشده یا غیرفعال است.

راه‌حل:

# بررسی resolv.conf
cat /etc/resolv.conf
 
# تنظیم موقت
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
 
# تنظیم دائمی با resolvconf یا systemd-resolved

۲. رابط DOWN است#

# بررسی وضعیت
ip link show ens18
 
# بالا آوردن دستی
sudo ip link set ens18 up
 
# یا با ifup
sudo ifup ens18

۳. تعارض NetworkManager و ifupdown#

علت: هر دو ابزار سعی می‌کنند رابط را مدیریت کنند.

راه‌حل:

# غیرفعال‌کردن ifupdown برای رابط‌های مدیریت‌شده توسط NM
sudo nano /etc/network/interfaces
# فقط lo را نگه دارید:
# auto lo
# iface lo inet loopback
 
# یا غیرفعال‌کردن کامل ifupdown
sudo systemctl disable networking

۴. Wi-Fi کار نمی‌کند#

# بررسی رابط Wi-Fi
ip link show wlp3s0
 
# بررسی فریم‌ور
sudo dmesg | grep -i firmware
 
# نصب فریم‌ورهای غیرآزاد
sudo apt install firmware-iwlwifi firmware-realtek firmware-linux-nonfree
 
# اسکن شبکه‌ها
nmcli device wifi list
 
# اتصال
nmcli device wifi connect "SSID" password "password"

۵. IP ثابت اعمال نمی‌شود#

# بررسی فایل پیکربندی
cat /etc/network/interfaces
 
# بررسی خطا
sudo ifup -v ens18
 
# بررسی لاگ
journalctl -u networking -n 30

خلاصه و مرحلهٔ بعد#

تنظیم شبکه در Debian به ابزار مورد استفاده بستگی دارد: ifupdown برای سرور، NetworkManager برای دسکتاپ و systemd-networkd برای سرورهای مدرن. برای اکثر کاربران دسکتاپ، NetworkManager با nmtui ساده‌ترین راه است. برای سرورها، ifupdown یا systemd-networkd پایدارترند.

به‌عنوان گام بعدی:

اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.