مقدمه
تنظیمات شبکه لینوکس بسیار مهم است چرا که لینوکس یکی از محبوبترین و قدرتمندترین سیستمعاملهای متنباز است که در زمینه شبکههای کامپیوتری بهطور گسترده استفاده میشود.
انعطافپذیری بالا، امنیت قوی و پایداری این سیستمعامل باعث شده تا بسیاری از مدیران شبکه و متخصصان فناوری اطلاعات، به آن روی بیاورند. اما مدیریت و پیکربندی شبکه در لینوکس نیازمند دانش تخصصی و آشنایی با توزیعهای مختلف آن است.
در این مقاله جامع، قصد داریم به بررسی اصول اولیه و پیشرفته تنظیمات شبکه در لینوکس بپردازیم، تفاوتهای مهم میان توزیعهای مختلف را بشناسیم و با استفاده از دستورات و ابزارهای قدرتمند، یک راهنمای عملی برای کاربران ایرانی ارائه کنیم. در ادامه با ما در این مقاله کانفیگ سرور همراه باشید!
۱. مفاهیم اولیه تنظیمات شبکه در لینوکس
قبل از ورود به تنظیمات شبکه در لینوکس، باید با مفاهیم اولیه شبکه آشنا شویم. در این بخش به برخی از اصطلاحات و مفاهیم کلیدی میپردازیم:
۱.۱ آدرس 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
اگر سؤالی دارید یا به راهنمایی بیشتری نیاز دارید، همین حالا بپرسید! 🚀




