تنظیمات شبکه لینوکس و توزیع‌های مختلف آن: راهنمای جامع برای کاربران ایرانی

جدول محتوا نمایش

مقدمه

تنظیمات شبکه لینوکس بسیار مهم است چرا که لینوکس یکی از محبوب‌ترین و قدرتمندترین سیستم‌عامل‌های متن‌باز است که در زمینه شبکه‌های کامپیوتری به‌طور گسترده استفاده می‌شود.

انعطاف‌پذیری بالا، امنیت قوی و پایداری این سیستم‌عامل باعث شده تا بسیاری از مدیران شبکه و متخصصان فناوری اطلاعات، به آن روی بیاورند. اما مدیریت و پیکربندی شبکه در لینوکس نیازمند دانش تخصصی و آشنایی با توزیع‌های مختلف آن است.

در این مقاله جامع، قصد داریم به بررسی اصول اولیه و پیشرفته تنظیمات شبکه در لینوکس بپردازیم، تفاوت‌های مهم میان توزیع‌های مختلف را بشناسیم و با استفاده از دستورات و ابزارهای قدرتمند، یک راهنمای عملی برای کاربران ایرانی ارائه کنیم. در ادامه با ما در این مقاله کانفیگ سرور همراه باشید!


۱. مفاهیم اولیه تنظیمات شبکه در لینوکس

قبل از ورود به تنظیمات شبکه در لینوکس، باید با مفاهیم اولیه شبکه آشنا شویم. در این بخش به برخی از اصطلاحات و مفاهیم کلیدی می‌پردازیم:

۱.۱ آدرس IP و انواع آن

آدرس IP شناسه‌ای یکتا برای دستگاه‌ها در شبکه است. در لینوکس، این آدرس‌ها معمولاً به دو دسته تقسیم می‌شوند:

  • IPv4: شامل چهار بخش عددی از ۰ تا ۲۵۵ (مثلاً 192.168.1.1)
  • IPv6: شامل آدرس‌های طولانی‌تر و پیچیده‌تر با قابلیت‌های بیشتر (مثلاً 2001:db8::ff00:42:8329)

۱.۲ MAC Address و نقش آن در شبکه

آدرس MAC یک شناسه منحصربه‌فرد برای کارت شبکه هر دستگاه است که در ارتباطات لایه دوم مدل OSI استفاده می‌شود. این آدرس توسط سازنده کارت شبکه تعیین می‌شود و تغییر آن تنها از طریق نرم‌افزار امکان‌پذیر است.

۱.۳ DHCP و تخصیص خودکار IP

DHCP پروتکلی است که به دستگاه‌ها اجازه می‌دهد تا به‌طور خودکار یک آدرس IP از سرور دریافت کنند. در لینوکس، این فرایند از طریق سرویس dhclient یا systemd-networkd انجام می‌شود.


۲. بررسی توزیع‌های مختلف لینوکس برای مدیریت شبکه

لینوکس دارای توزیع‌های مختلفی است که هرکدام ابزارها و روش‌های خاص خود را برای مدیریت شبکه ارائه می‌دهند. در این بخش، برخی از محبوب‌ترین توزیع‌ها و تفاوت‌های آن‌ها را بررسی می‌کنیم:

۲.۱ اوبونتو و دبیان

  • ابزار پیش‌فرض: Netplan
  • دستورات سنتی: ifconfig، ip، nmcli
  • پشتیبانی گسترده از DHCP و شبکه‌های بی‌سیم

۲.۲ سنت‌اواس و راکی لینوکس

  • ابزار پیش‌فرض: NetworkManager
  • تنظیمات در فایل‌های /etc/sysconfig/network-scripts/
  • پایداری بالا و مناسب برای سرورها

۲.۳ آرچ لینوکس

  • ابزار پیش‌فرض: systemd-networkd
  • روش تنظیم دستی و پیشرفته
  • مناسب برای کاربران حرفه‌ای و توسعه‌دهندگان

۳. نمایش و بررسی وضعیت شبکه در لینوکس

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

۳.۱ استفاده از ifconfig و ip

دستور ifconfig یکی از قدیمی‌ترین ابزارهای نمایش وضعیت شبکه در لینوکس است، اما در نسخه‌های جدید جای خود را به دستور ip داده است:

ifconfig

یا:

ip addr show

این دستورات اطلاعاتی از جمله آدرس IP، MAC Address، وضعیت اتصال و نرخ انتقال داده را نمایش می‌دهند.

۳.۲ نمایش تنظیمات شبکه با nmcli

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

nmcli device status

۳.۳ بررسی مسیرها با ip route

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

ip route show

این دستور نشان می‌دهد که بسته‌های اطلاعاتی از چه مسیرهایی عبور می‌کنند و گیت‌وی پیش‌فرض شبکه چیست.


۴. تنظیم دستی IP در لینوکس

گاهی لازم است که یک آدرس IP استاتیک به دستگاه اختصاص دهیم. این کار را می‌توان به روش‌های مختلف انجام داد:

۴.۱ تنظیم IP به‌صورت موقت با دستور ip

این روش تا زمان ریستارت سیستم معتبر است:

sudo ip addr add 192.168.1.100/24 dev eth0

۴.۲ تنظیم IP در اوبونتو و دبیان با Netplan

در اوبونتو می‌توان فایل پیکربندی Netplan را ویرایش کرد:

sudo nano /etc/netplan/01-netcfg.yaml

و مقدار زیر را در آن وارد کرد:

network:
  ethernets:
    eth0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  version: 2

سپس تنظیمات را اعمال می‌کنیم:

sudo netplan apply

۵. مدیریت سرویس‌های شبکه در لینوکس

در بسیاری از مواقع، سرویس‌های شبکه مانند DHCP، DNS و فایروال نیاز به تنظیمات دارند. در این بخش برخی از دستورات مهم مدیریت این سرویس‌ها را بررسی می‌کنیم:

۵.۱ راه‌اندازی و توقف سرویس‌ها با systemctl

برای راه‌اندازی یک سرویس، مانند NetworkManager:

sudo systemctl start NetworkManager

برای توقف سرویس:

sudo systemctl stop NetworkManager

۵.۲ تنظیم فایروال در لینوکس

در توزیع‌هایی که از firewalld استفاده می‌کنند، می‌توان دستورات زیر را برای مدیریت فایروال به کار برد:

sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

۶. تنظیمات شبکه بی‌سیم در لینوکس

بسیاری از کاربران لینوکس از لپ‌تاپ یا سیستم‌هایی با کارت شبکه بی‌سیم استفاده می‌کنند. برای مدیریت این نوع شبکه‌ها در لینوکس چندین ابزار وجود دارد که در ادامه آن‌ها را بررسی می‌کنیم.

۶.۱ اسکن و اتصال به شبکه‌های بی‌سیم با nmcli

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

nmcli device wifi list

برای اتصال به یک شبکه با رمز عبور:

nmcli device wifi connect "SSID" password "your_password"

۶.۲ مدیریت وایرلس با wpa_supplicant

در برخی از توزیع‌های سبک، مانند Arch Linux، می‌توان از wpa_supplicant برای مدیریت وای‌فای استفاده کرد. ابتدا یک فایل پیکربندی ایجاد کنید:

wpa_passphrase "SSID" "your_password" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf

سپس سرویس را راه‌اندازی کنید:

sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

۷. راه‌اندازی سرور DHCP در لینوکس

DHCP یک پروتکل مهم برای تخصیص خودکار آدرس‌های IP به دستگاه‌های متصل به شبکه است. برای راه‌اندازی سرور DHCP در لینوکس، از بسته isc-dhcp-server استفاده می‌کنیم.

۷.۱ نصب DHCP Server در دبیان و اوبونتو

ابتدا بسته موردنظر را نصب کنید:

sudo apt update
sudo apt install isc-dhcp-server

۷.۲ تنظیمات DHCP Server

فایل پیکربندی DHCP را باز کنید:

sudo nano /etc/dhcp/dhcpd.conf

مقدار زیر را در آن قرار دهید:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}

سپس سرویس را ریستارت کنید:

sudo systemctl restart isc-dhcp-server

۸. تنظیمات DNS در لینوکس

DNS مسئول تبدیل نام دامنه‌ها به آدرس‌های IP است. در لینوکس، می‌توان به دو روش DNS را تنظیم کرد:

۸.۱ تغییر DNS به‌صورت موقت با resolvectl

در سیستم‌هایی که از systemd-resolved استفاده می‌کنند:

resolvectl dns eth0 8.8.8.8 8.8.4.4

۸.۲ تغییر دائمی DNS در Ubuntu و Debian

فایل زیر را ویرایش کنید:

sudo nano /etc/resolv.conf

و مقدار زیر را وارد کنید:

nameserver 8.8.8.8
nameserver 8.8.4.4

۹. راه‌اندازی VPN در لینوکس

VPN برای رمزگذاری ترافیک شبکه و افزایش امنیت استفاده می‌شود. در این بخش، نحوه تنظیم VPN در لینوکس را بررسی می‌کنیم.

۹.۱ نصب OpenVPN در لینوکس

برای نصب OpenVPN در اوبونتو:

sudo apt update
sudo apt install openvpn

۹.۲ اجرای VPN با فایل تنظیمات

فایل .ovpn مربوط به سرور VPN را اجرا کنید:

sudo openvpn --config myvpn.ovpn

۱۰. مدیریت شبکه در محیط‌های ابری (Cloud)

در محیط‌های ابری مانند AWS، Azure و Google Cloud، لینوکس معمولاً به‌عنوان سیستم‌عامل اصلی استفاده می‌شود. ابزارهایی مانند cloud-init و terraform برای مدیریت تنظیمات شبکه در این فضاها کاربرد دارند.

۱۰.۱ استفاده از cloud-init

Cloud-init برای پیکربندی اولیه شبکه در سرورهای ابری استفاده می‌شود. نمونه‌ای از تنظیمات شبکه در cloud-init:

#cloud-config
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1

۱۱. افزایش امنیت شبکه در لینوکس

امنیت شبکه یکی از مهم‌ترین چالش‌های کاربران و مدیران سیستم‌های لینوکسی است. تهدیداتی مانند حملات Man-in-the-Middle (MITM)، شنود بسته‌ها و حملات DDoS می‌توانند شبکه را در معرض خطر قرار دهند. در ادامه، راهکارهای افزایش امنیت شبکه در لینوکس را بررسی می‌کنیم.

۱۱.۱ غیرفعال کردن سرویس‌های ناامن

یکی از اولین گام‌های افزایش امنیت شبکه در لینوکس، غیرفعال کردن سرویس‌های غیرضروری است. برای بررسی سرویس‌های فعال، دستور زیر را اجرا کنید:

sudo netstat -tulpn

برای متوقف کردن سرویس‌های غیرضروری:

sudo systemctl disable service_name
sudo systemctl stop service_name

۱۱.۲ استفاده از فایروال UFW (Uncomplicated Firewall)

UFW یک فایروال ساده و قدرتمند برای لینوکس است. برای نصب و فعال‌سازی آن:

sudo apt install ufw
sudo ufw enable

برای اجازه دادن به اتصالات SSH و HTTP:

sudo ufw allow ssh
sudo ufw allow http

برای مشاهده وضعیت فایروال:

sudo ufw status verbose

۱۱.۳ پیکربندی فایروال پیشرفته با iptables

Iptables ابزار پیشرفته‌تری برای کنترل ترافیک شبکه است. برای مشاهده قوانین فعال:

sudo iptables -L -v

برای مسدود کردن یک IP خاص:

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

۱۲. نظارت و مدیریت ترافیک شبکه در لینوکس

برای مانیتورینگ و بررسی عملکرد شبکه، ابزارهای مختلفی در لینوکس وجود دارد که برخی از آن‌ها را بررسی خواهیم کرد.

۱۲.۱ بررسی وضعیت شبکه با iftop

Iftop یکی از ابزارهای ساده اما کاربردی برای بررسی مصرف پهنای باند است. برای نصب و اجرا:

sudo apt install iftop
sudo iftop -i eth0

۱۲.۲ مشاهده ارتباطات فعال با netstat

با استفاده از netstat می‌توانید تمام اتصالات فعال و وضعیت آن‌ها را بررسی کنید:

netstat -tulpn

۱۲.۳ بررسی و تحلیل بسته‌های شبکه با Wireshark و tcpdump

برای تجزیه‌وتحلیل ترافیک شبکه، دو ابزار پرکاربرد Wireshark و tcpdump وجود دارد. برای ضبط بسته‌ها با tcpdump:

sudo tcpdump -i eth0 -n -vv

۱۳. بهینه‌سازی تنظیمات شبکه در لینوکس

عملکرد شبکه در لینوکس با انجام برخی بهینه‌سازی‌ها می‌تواند بهبود یابد.

۱۳.۱ افزایش حداکثر تعداد اتصالات همزمان

در سیستم‌های پرترافیک، مقدار file descriptors و socket connections باید افزایش یابد. برای این کار، فایل زیر را ویرایش کنید:

sudo nano /etc/security/limits.conf

و مقادیر زیر را اضافه کنید:

* soft nofile 65535
* hard nofile 65535

۱۳.۲ بهینه‌سازی تنظیمات TCP

در فایل sysctl.conf تنظیمات TCP را بهینه‌سازی کنید:

sudo nano /etc/sysctl.conf

و مقادیر زیر را اضافه کنید:

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1

سپس تنظیمات را اعمال کنید:

sudo sysctl -p

۱۴. استفاده از Network Bonding برای بهبود عملکرد و افزونگی شبکه

Bonding به شما اجازه می‌دهد چندین کارت شبکه را ترکیب کنید تا پهنای باند افزایش یابد یا افزونگی ایجاد شود. برای فعال‌سازی Bonding در لینوکس:

۱۴.۱ نصب و بارگذاری ماژول bonding

sudo modprobe bonding

۱۴.۲ پیکربندی bonding در RHEL و CentOS

فایل زیر را ویرایش کنید:

sudo nano /etc/sysconfig/network-scripts/ifcfg-bond0

و مقادیر زیر را اضافه کنید:

DEVICE=bond0
BONDING_OPTS="mode=1 miimon=100"

سپس اینترفیس‌ها را به باندینگ اضافه کنید:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
MASTER=bond0
SLAVE=yes

۱۵. پیکربندی Static Routing در لینوکس

برای کنترل ترافیک شبکه و ارسال بسته‌ها به مسیرهای خاص، می‌توان از Static Routing استفاده کرد.

۱۵.۱ اضافه کردن یک مسیر ثابت در لینوکس

sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

۱۵.۲ مشاهده جدول مسیریابی

ip route show

۱۶. جمع‌بندی و نکات پایانی

در این مقاله جامع، تمام مراحل تنظیم و مدیریت شبکه در لینوکس را بررسی کردیم. از پیکربندی اولیه گرفته تا تنظیمات پیشرفته مانند راه‌اندازی DHCP، مدیریت VPN، افزایش امنیت و بهینه‌سازی عملکرد شبکه. لینوکس ابزارهای قدرتمندی برای مدیریت شبکه دارد که می‌توان از آن‌ها برای بهبود عملکرد، نظارت بر ترافیک و افزایش امنیت استفاده کرد.

نکات مهمی که در این مقاله یاد گرفتیم:

✅ نحوه تنظیم آدرس‌های IP و DNS در لینوکس
✅ مدیریت شبکه‌های بی‌سیم و سیمی
✅ راه‌اندازی سرور DHCP و VPN
✅ افزایش امنیت با فایروال UFW و iptables
✅ بهینه‌سازی عملکرد شبکه و کاهش تأخیر
✅ نظارت بر ترافیک با Wireshark و tcpdump

اگر سؤالی دارید یا به راهنمایی بیشتری نیاز دارید، همین حالا بپرسید! 🚀

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *