tutorials / linux / chapter-09.md · utf-8 ⬇ download chapter-09.md
فصل نهم: شبکه در لینوکس
Linux Networking Basics
شبکه یکی از مهمترین بخشهای سیستمعامل لینوکس است.
امروزه تقریباً تمام سیستمهای کامپیوتری به شبکه وابسته هستند؛ از کامپیوترهای شخصی گرفته تا سرورها، زیرساختهای ابری، سیستمهای امنیتی و تجهیزات اینترنتی.
لینوکس به دلیل استفاده گسترده در سرورها و محیطهای حرفهای، ابزارهای قدرتمندی برای مدیریت، بررسی و تحلیل شبکه ارائه میدهد.
هدف این فصل، آشنایی با مفاهیم پایه شبکه در لینوکس و یادگیری ابزارهایی است که هر کاربر حرفهای لینوکس باید با آنها آشنا باشد.
شبکه چیست؟
شبکه مجموعهای از دستگاهها است که برای تبادل اطلاعات به یکدیگر متصل شدهاند.
این دستگاهها میتوانند شامل موارد زیر باشند:
- کامپیوترها
- سرورها
- تلفنهای همراه
- روترها
- تجهیزات شبکه
هدف اصلی شبکه:
انتقال اطلاعات بین سیستمهای مختلف است.
مدل ساده ارتباط شبکه
هنگامی که دو سیستم با یکدیگر ارتباط برقرار میکنند، اطلاعات از چندین مرحله عبور میکند.
ساختار ساده:
Application
|
▼
Transport
|
▼
Network
|
▼
Data Link
|
▼
Physical
هر لایه وظیفه مشخصی دارد و همکاری این لایهها باعث ایجاد ارتباط شبکهای میشود.
IP Address چیست؟
برای اینکه دستگاهها بتوانند در شبکه یکدیگر را پیدا کنند، هر دستگاه به یک آدرس نیاز دارد.
این آدرس:
IP Address
نام دارد.
IP مانند آدرس یک خانه در دنیای واقعی است.
مثال:
192.168.1.10
با استفاده از IP، سیستمها میتوانند اطلاعات را به مقصد درست ارسال کنند.
IPv4 چیست؟
IPv4 رایجترین نسخه IP در شبکهها است.
IPv4 از چهار بخش عددی تشکیل شده است.
مثال:
192.168.1.1
هر بخش مقداری بین 0 تا 255 دارد.
به دلیل محدود بودن تعداد آدرسهای IPv4، نسخه جدیدتری به نام IPv6 ایجاد شد.
IPv6 چیست؟
IPv6 نسل جدید پروتکل IP است که برای حل مشکل کمبود آدرسهای IPv4 ساخته شده است.
IPv6 فضای آدرس بسیار بزرگتری دارد.
مثال:
2001:db8::1
امروزه بسیاری از شبکهها از IPv6 نیز پشتیبانی میکنند.
مشاهده IP در لینوکس
برای مشاهده اطلاعات شبکه:
ip address
یا:
ip addr
استفاده میکنیم.
این دستور اطلاعاتی مانند:
- آدرس IP
- کارت شبکه
- وضعیت اتصال
را نمایش میدهد.
Network Interface چیست؟
Network Interface رابطی است که سیستم از طریق آن به شبکه متصل میشود.
نمونهها:
کارت شبکه کابلی:
eth0
کارت شبکه بیسیم:
wlan0
برای مشاهده رابطهای شبکه:
ip link
استفاده میشود.
MAC Address چیست؟
هر کارت شبکه یک شناسه سختافزاری منحصر به فرد دارد.
این شناسه:
MAC Address
نام دارد.
مثال:
00:1A:2B:3C:4D:5E
MAC در لایه سختافزاری شبکه استفاده میشود.
دستور ping
یکی از سادهترین ابزارهای بررسی شبکه:
ping
است.
مثال:
ping google.com
ping بررسی میکند که آیا مقصد قابل دسترسی است یا خیر.
همچنین زمان پاسخ شبکه را نمایش میدهد.
DNS چیست؟
انسانها معمولاً نامها را بهتر از اعداد به خاطر میسپارند.
به همین دلیل به جای وارد کردن IP، از نام دامنه استفاده میکنیم.
مثال:
google.com
DNS وظیفه تبدیل نام دامنه به IP Address را بر عهده دارد.
DNS مخفف:
Domain Name System
است.
بررسی DNS
برای مشاهده اطلاعات DNS:
nslookup google.com
استفاده میشود.
ابزار حرفهایتر:
dig google.com
است.
Port چیست؟
یک سیستم ممکن است چندین سرویس مختلف را همزمان اجرا کند.
Port مشخص میکند هر درخواست مربوط به کدام سرویس است.
نمونهها:
HTTP = 80 HTTPS = 443 SSH = 22
مشاهده پورتهای فعال
برای مشاهده ارتباطات شبکه:
ss
استفاده میشود.
مثال:
ss -tuln
گزینهها:
-t
نمایش TCP
-u
نمایش UDP
-l
نمایش پورتهای در حال گوش دادن
-n
نمایش عددی اطلاعات
TCP چیست؟
TCP یک پروتکل ارتباطی قابل اعتماد است.
ویژگیها:
- بررسی دریافت اطلاعات
- ارسال مرتب دادهها
- مناسب ارتباطهای حساس
استفادهها:
- وب
- SSH
- ایمیل
UDP چیست؟
UDP یک پروتکل سریعتر اما بدون تضمین دریافت است.
ویژگیها:
- سرعت بالا
- تأخیر کمتر
- مناسب ارتباطهای لحظهای
استفادهها:
- بازی آنلاین
- تماس صوتی
- پخش زنده
HTTP و HTTPS
HTTP پروتکل انتقال اطلاعات در وب است.
پورت:
80
HTTPS نسخه امن HTTP است.
پورت:
443
HTTPS با استفاده از رمزنگاری، امنیت ارتباط را افزایش میدهد.
SSH چیست؟
SSH مخفف:
Secure Shell
است.
SSH یکی از مهمترین ابزارهای مدیریت سیستمهای لینوکسی است.
با SSH میتوان:
- به سرورهای راه دور متصل شد.
- دستورات اجرا کرد.
- فایل انتقال داد.
- سیستم را مدیریت کرد.
مثال:
ssh username@server-ip
انتقال فایل با SCP
برای انتقال فایل از طریق SSH:
scp
استفاده میشود.
مثال:
scp file.txt user@server:/home/user
Traceroute چیست؟
Traceroute مسیر عبور بستههای شبکه را نمایش میدهد.
دستور:
traceroute domain.com
این ابزار برای بررسی مشکلات شبکه بسیار کاربردی است.
Firewall چیست؟
Firewall یک سیستم امنیتی برای کنترل ارتباطات شبکه است.
وظایف Firewall:
- اجازه دادن به ارتباطات مجاز
- جلوگیری از ارتباطات غیرمجاز
- افزایش امنیت سیستم
UFW چیست؟
UFW مخفف:
Uncomplicated Firewall
است.
این ابزار مدیریت Firewall را سادهتر میکند.
مشاهده وضعیت Firewall
sudo ufw status
فعال کردن Firewall
sudo ufw enable
باز کردن یک پورت
مثال:
sudo ufw allow 22
این دستور اجازه اتصال SSH را فعال میکند.
مثال واقعی شبکه در لینوکس
فرض کنید یک وبسرور لینوکسی دارید.
مراحل ارتباط:
- کاربر دامنه را وارد میکند.
- DNS دامنه را به IP تبدیل میکند.
- درخواست به سرور ارسال میشود.
- Firewall درخواست را بررسی میکند.
- سرویس وب روی پورت 80 یا 443 پاسخ میدهد.
- اطلاعات به کاربر بازگردانده میشود.
اهمیت یادگیری شبکه در لینوکس
شبکه پایه بسیاری از مهارتهای حرفهای است.
بدون شناخت شبکه، یادگیری موضوعاتی مانند:
- مدیریت سرور
- امنیت سایبری
- DevOps
- Cloud
- زیرساخت
کامل نخواهد بود.
تمرینهای فصل نهم
[01]مشاهده IP سیستم
ip addr
[02]بررسی اتصال شبکه
ping google.com
[03]مشاهده پورتهای فعال
ss -tuln
[04]بررسی DNS
nslookup google.com
[05]بررسی Firewall
sudo ufw status
جمعبندی فصل نهم
در این فصل یاد گرفتیم:
- شبکه چیست.
- IP چگونه کار میکند.
- تفاوت IPv4 و IPv6 چیست.
- DNS چه وظیفهای دارد.
- Port چیست.
- TCP و UDP چه تفاوتی دارند.
- SSH چگونه کار میکند.
- چگونه وضعیت شبکه را بررسی کنیم.
- چگونه Firewall را مدیریت کنیم.
شبکه یکی از مهمترین بخشهای لینوکس است و پایه بسیاری از مهارتهای پیشرفته مانند امنیت، سرور و زیرساخت محسوب میشود.