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-applet | Tray 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برای WireGuardnetworkmanager-openvpnبرای OpenVPNnetworkmanager-strongswanبرای IPsecnetworkmanager-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-firmwareDNS کار نمیکند
# بررسی 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 NetworkManagerIP نمیگیرد (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"این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.