</>

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

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

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

Command Palette

Search for a command to run...

NetworkManager در Arch Linux

نصب و پیکربندی NetworkManager در Arch Linux: شبکهٔ کابلی، وای‌فای، VPN، hotspot و ابزارهای مدیریت گرافیکی.

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

NetworkManager مدیر شبکهٔ پیش‌فرض اکثر توزیع‌های دسکتاپ لینوکس است. در این آموزش، نصب و پیکربندی NetworkManager در Arch Linux را برای شبکهٔ کابلی، وای‌فای، VPN و hotspot دنبال می‌کنیم.

NetworkManager چیست؟#

NetworkManager یک سرویس مدیریت شبکه است که وظایف زیر را انجام می‌دهد:

  • تشخیص خودکار دستگاه‌های شبکه
  • پیکربندی خودکار DHCP
  • مدیریت اتصالات وای‌فای
  • پشتیبانی از VPN (WireGuard, OpenVPN, etc.)
  • مدیریت hotspot موبایل
  • ادغام با محیط دسکتاپ

NetworkManager در برابر systemd-networkd

Arch دو راه اصلی مدیریت شبکه دارد:

  • NetworkManager — همه‌کاره، انعطاف‌پذیر، مناسب دسکتاپ
  • systemd-networkd — سبک، مناسب سرور، پیکربندی با فایل متنی

برای اکثر کاربران دسکتاپ، NetworkManager پیشنهاد می‌شود.

نصب NetworkManager#

اگر در زمان نصب Arch، NetworkManager را نصب نکرده‌اید:

sudo pacman -S networkmanager

فعال‌سازی در بوت#

# فعال‌سازی سرویس
sudo systemctl enable NetworkManager
 
# شروع سرویس (اگر از قبل اجرا نشده)
sudo systemctl start NetworkManager
 
# بررسی وضعیت
systemctl status NetworkManager

تعارض با سرویس‌های دیگر

اگر dhcpcd یا systemd-networkd فعال است، آن‌ها را غیرفعال کنید تا با NetworkManager تعارض نداشته باشند:

sudo systemctl disable dhcpcd
sudo systemctl disable systemd-networkd

ابزارهای رابط کاربری#

NetworkManager چندین ابزار فراهم می‌کند:

ابزارنوعمناسب برای
nmcliخط فرماناسکریپت، سرور
nmtuiرابط متنیکنسول، SSH
nm-appletTray iconدسکتاپ سبک
gnome-network-managerگرافیکیGNOME
plasma-nmگرافیکیKDE Plasma

استفاده از nmcli#

nmcli ابزار خط فرمان اصلی NetworkManager است.

نمایش وضعیت#

# وضعیت کلی
nmcli general status
 
# دستگاه‌های شبکه
nmcli device status
 
# اتصالات ذخیره‌شده
nmcli connection show
 
# اتصال فعال
nmcli connection show --active

اتصال به شبکهٔ کابلی#

# در صورت فعال بودن DHCP، اتصال خودکار است
nmcli device connect eth0
 
# تنظیم IP استاتیک
nmcli connection add type ethernet \
    con-name "static-eth" \
    ifname eth0 \
    ipv4.method manual \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8 1.1.1.1"
 
# فعال‌سازی اتصال
nmcli connection up static-eth

اتصال به وای‌فای#

# اسکن شبکه‌های وای‌فای
nmcli device wifi list
 
# اتصال به شبکه (با رمز)
nmcli device wifi connect "SSID" password "your-password"
 
# اتصال به شبکهٔ مخفی
nmcli device wifi connect "SSID" password "your-password" hidden yes
 
# اتصال به شبکهٔ بدون رمز
nmcli device wifi connect "OpenSSID"

مدیریت اتصالات#

# فهرست اتصالات ذخیره‌شده
nmcli connection show
 
# قطع اتصال
nmcli connection down "SSID"
 
# وصل مجدد
nmcli connection up "SSID"
 
# حذف اتصال ذخیره‌شده
nmcli connection delete "SSID"
 
# ویرایش اتصال (با editor تعاملی)
nmcli connection edit "SSID"

استفاده از nmtui#

nmtui یک رابط متنی ساده برای NetworkManager است:

nmtui

در منوی نمایش‌داده‌شده می‌توانید:

  • Edit a connection — ویرایش اتصالات
  • Activate a connection — فعال‌سازی اتصال
  • Set system hostname — تنظیم hostname

nmtui برای SSH

nmtui ابزار عالی برای پیکربندی شبکه از راه دور (SSH) است، چون رابط گرافیکی ندارد و در هر ترمینالی کار می‌کند.

پیکربندی hotspot#

می‌توانید سیستم خود را به‌عنوان hotspot وای‌فای استفاده کنید:

# ساخت hotspot
nmcli device wifi hotspot \
    ifname wlan0 \
    con-name "MyHotspot" \
    ssid "MyHotspot" \
    password "yourpassword" \
    band bg \
    channel 6
 
# فعال‌سازی
nmcli connection up MyHotspot

پیکربندی VPN#

WireGuard#

# نصب WireGuard
sudo pacman -S wireguard-tools
 
# افزودن اتصال WireGuard
nmcli connection import type wireguard file /path/to/config.conf
 
# فعال‌سازی
nmcli connection up "config-name"

OpenVPN#

# نصب OpenVPN
sudo pacman -S openvpn networkmanager-openvpn
 
# افزودن اتصال از فایل
nmcli connection import type openvpn file /path/to/config.ovpn
 
# فعال‌سازی
nmcli connection up "config-name"

پلاگین‌های VPN

NetworkManager برای هر نوع VPN نیاز به پلاگین جداگانه دارد:

  • networkmanager-wireguard برای WireGuard
  • networkmanager-openvpn برای OpenVPN
  • networkmanager-strongswan برای IPsec
  • networkmanager-openconnect برای Cisco AnyConnect

نصب applet دسکتاپ#

برای GNOME#

GNOME به‌صورت داخلی از NetworkManager پشتیبانی می‌کند. نیازی به نصب جداگانه نیست.

برای KDE Plasma#

sudo pacman -S plasma-nm

برای محیط‌های سبک (Xfce, i3, etc.)#

# applet سبک
sudo pacman -S network-manager-applet
 
# اجرا در autostart
nm-applet &

فایل‌های پیکربندی#

اتصالات NetworkManager در /etc/NetworkManager/system-connections/ ذخیره می‌شوند. هر اتصال یک فایل با فرمت INI است:

[connection]
id=MyWiFi
type=wifi
uuid=...
 
[wifi]
ssid=MyWiFi
mode=infrastructure
 
[wifi-security]
key-mgmt=wpa-psk
psk=your-password
 
[ipv4]
method=auto
 
[ipv6]
method=auto

پرمیشن فایل‌های اتصال

این فایل‌ها حاوی رمزهای عبور هستند. پرمیشن آن‌ها باید ۶۰۰ باشد و فقط root قابل خواندن باشد. NetworkManager به‌طور خودکار این پرمیشن را تنظیم می‌کند.

تنظیمات DNS#

NetworkManager به‌طور پیش‌فرض از DNS ارائه‌شده توسط DHCP استفاده می‌کند. برای تنظیم DNS سفارشی:

# تنظیم DNS سراسری
sudo nano /etc/NetworkManager/conf.d/dns-servers.conf
[global-dns-domain-*]
servers=8.8.8.8,1.1.1.1

یا برای اتصال خاص:

nmcli connection modify "SSID" ipv4.dns "8.8.8.8 1.1.1.1"
nmcli connection modify "SSID" ipv4.ignore-auto-dns yes
nmcli connection up "SSID"

رفع مشکلات رایج#

اتصال وای‌فای برقرار نمی‌شود#

# بررسی device
nmcli device status
 
# بررسی driver وای‌فای
lspci -k | grep -A 3 -i network
 
# در صورت نیاز، firmware را نصب کنید
sudo pacman -S linux-firmware

DNS کار نمی‌کند#

# بررسی DNS فعلی
nmcli dev show | grep DNS
 
# بررسی resolv.conf
cat /etc/resolv.conf
 
# فعال‌سازی مدیریت DNS توسط NetworkManager
sudo nano /etc/NetworkManager/NetworkManager.conf
[main]
dns=systemd-resolved

سپس:

sudo systemctl restart NetworkManager

IP نمی‌گیرد (DHCP مشکل دارد)#

# تلاش مجدد DHCP
sudo dhclient -r eth0
sudo dhclient eth0
 
# یا با nmcli
nmcli device disconnect eth0
nmcli device connect eth0

خطایابی پیشرفته#

# لاگ‌های NetworkManager
journalctl -u NetworkManager
 
# لاگ‌های با جزئیات بیشتر
sudo nmcli general logging level DEBUG
 
# بررسی device
nmcli device show eth0
 
# بررسی یک اتصال
nmcli connection show "SSID"

بهینه‌سازی#

فعال‌سازی سرویس‌های مرتبط#

# برای DNS سریع‌تر
sudo systemctl enable systemd-resolved
 
# برای همگام‌سازی زمان با شبکه
sudo systemctl enable systemd-timesyncd

چشم‌پوشی از دستگاه‌های غیرقابل مدیریت#

اگر deviceای در nmcli device با وضعیت unmanaged نمایش داده می‌شود:

# بررسی فایل‌های پیکربندی
ls /etc/NetworkManager/conf.d/
 
# یا
ls /etc/systemd/network/

اگر فایل .network در /etc/systemd/network/ دارید، آن را حذف کنید یا NetworkManager را به‌عنوان مدیر آن دستگاه تنظیم کنید.

خلاصه#

در این آموزش:

  • NetworkManager را نصب و فعال کردید
  • با nmcli و nmtui کار کردید
  • اتصالات کابلی و وای‌فای را پیکربندی کردید
  • hotspot ساختید
  • VPN (WireGuard, OpenVPN) را راه‌اندازی کردید
  • رفع مشکلات رایج را یاد گرفتید

NetworkManager ابزار قدرتمندی است که مدیریت شبکه را در Arch Linux ساده می‌کند. برای اکثر کاربران، انتخاب پیشنهادی است.

در آموزش بعدی، با به‌روزرسانی سیستم آشنا می‌شوید.

پرسش‌های رایج#

آیا NetworkManager با systemd-networkd تعارض دارد؟#

بله. هر دو سرویس مدیریت شبکه را برعهده می‌گیرند. فقط یکی را فعال کنید. برای دسکتاپ NetworkManager، برای سرور systemd-networkd پیشنهاد می‌شود.

چگونه IP استاتیک تنظیم کنم؟#

nmcli connection add type ethernet \
    con-name "static" \
    ifname eth0 \
    ipv4.method manual \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8"
nmcli connection up static

آیا NetworkManager سبک است؟#

NetworkManager حدود ۳۰-۵۰ مگابایت رم مصرف می‌کند. برای دسکتاپ‌های مدرن مناسب است. اگر سخت‌افزار محدودی دارید، systemd-networkd سبک‌تر است.

چگونه اتصال وای‌فای را بین کاربران اشتراک بگذارم؟#

به‌طور پیش‌فرض، اتصالات به‌صورت system connection ذخیره می‌شوند و برای همهٔ کاربران قابل استفاده‌اند. اگر می‌خواهید فقط برای یک کاربر باشد:

nmcli connection modify "SSID" connection.permissions "user:username"
اشتراک‌گذاری:

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