Linux یک سیستم عامل بسیاری قوی است و مدیریت Connection ها در لینوکس اهمیت زیادی برای کاربران دارد. مدیریت کانکشنها در Linux یعنی کنترل و مدیریت ترافیک شبکه، پروتکلهای مختلف و اتصالات شبکههای مختلف که با استفاده از این سیستم عامل رایانهای کنترل میشود. مدیریت Connection ها در لینوکس با ابزارها و دستورات مختلفی انجام میشود که در ادامه به برخی از اصطلاحات و ابزارهای مهم برای مدیریت اتصالها در لینوکس اشاره خواهیم کرد. برای آشنایی بیشتر با سیستم عامل لینوکس محتوای لینوکس چیست؟ را مطالعه کنید.
نحوه مدیریت Connection ها در لینوکس
نحوه مدیریت Connection ها در لینوکس بسیار آسان است و شما به وسیله مجموعهای از ابزارها و روشها به راحتی میتوانید تمامی کانکشنهای موجود در لینوکس را مدیریت کنید و حملات احتمالی به سرو خود را تشخیص دهید. چندین روش مختلف برای مدیریت کانکشنها در لینوکس وجود دارد که هر یک از این ابزارها و روشها وظایف و کاربردهای مختلفی دارند. انتخاب روش مناسب بسته به نیاز و موقعیت شما بستگی دارد، مهمترین دستورها برای کنترل کانکشنها در Linux را در جدول زیر بیان کردهایم.
ابزار |
کاربرد |
netstat |
برای نمایش اطلاعات اتصالها، پورتها، آدرسهای IP و موارد دیگر استفاده میشود. |
ss |
نمایش پیشرفتهتر اطلاعات اتصالات و به صورت کلی برای نمایش اطلاعات اتصالها، پورتها، آدرسهای IP استفاده میکنند. |
ip |
به شما امکان مدیریت جداول مسیریابی، تنظیمات رابطهای شبکه و اطلاعات مربوط به کانکشنها را میدهد. |
iftop |
برای نمایش ترافیک شبکه در زمان واقعی بر روی رابطها استفاده میشود. |
nmap |
اسکن شبکه و تشخیص پورتها و میزبانها |
Tcpdump/ Wireshark |
این دو ابزار برای ضبط، نمایش و تحلیل بستههای شبکه در زمان واقعی یا بعد از ضبط مورد استفاده قرار میگیرند. |
Wireshark |
تحلیل دقیقتر بستههای شبکه |
iptables/nftables/ firewalld |
این ابزارها برای تنظیمات فایروال و کنترل دسترسی به سرویسها و پورتها استفاده میشوند. |
Conntrack Tools |
این مجموعه ابزارها به شما اجازه میدهد که اطلاعات اتصالهای شبکه را مدیریت کنید. این ابزارها بر اساس ماژول `nf_conntrack` کار میکنند. |
nc (netcat) |
یک ابزار خط فرمان برای برقراری اتصالهای TCP/UDP است و میتواند برای تست و ایجاد اتصالهای ساده به سرویسها مورد استفاده قرار گیرد. |
socat |
امکان ایجاد اتصالهای دادهای (Data Streams) میان دو مکانیزم مختلف را فراهم میکند. |
نحوه فعالسازی Connection ها در لینوکس
برای فعالسازی یک Connection ثابت در لینوکس باید مراحل زیر را به ترتیب انجام دهید:
مرحله 1: اتصال شبکه را بررسی کنید.
برای بررسی اتصال شبکه شما باید از دستور معروف Ping استفاده کنید، این دستور را به شکل زیر در خط فرمان لینوکس وارد کنید تا اتصال شما به شبکه مشخص شود.
ping -c3 opensource.com |
اگر به اینترنت متصل هستید، یک پاسخ بسته داده دقیقا همانند آنچه در پایین این اسکرین شات است، دریافت خواهید کرد.
مرحله 2: اطلاعات اتصال را بررسی کنید.
با استفاده از دستور ip add که در قسمت قبل در مورد آن صحبت کردیم، به راحتی میتوانید اطلاعات شبکه را بررسی کنید. با اجرای این دستور اطلاعات دستگاه، آدرس IP و موارد دیگر را به شما نشان میدهد. در ادامه برای راه اندازی یک کانکشن ثابت در سیستم عامل رایانهای لینوکس به برخی از این اطلاعات همچون اطلاعات دستگاه و آدرس IP نیاز خواهید داشت.
مرحله 3: اطلاعات شبکه را بررسی کنید.
با وارد کردن دستور زیر در دایرکتوری میتوانید از اطلاعات شبکه مطلع شوید: (برای درک موضوع مهم دایرکتوری میتوانید محتوای آشنایی با ساختار دایرکتوری های لینوکس را مطالعه کنید.)
ls /etc/sysconfig/network-scripts |
همان طور که در تصویر زیر مشخص شده اطلاعات شبکه شما " ifcfg-enp0s3 " و "ifcfg-lo" به این صورت است.
مرحله 4: اتصالات موجود را نشان دهید.
برای بررسی اتصالات موجود در لینوکس باید از ابزار nmcli استفاده کرده و دستور زیر را وارد کنید:
nmcli con show |
همان طور که در تصویر زیر مشخص شده دو دستگاه فعال هستند و با نامها Wired Connection 1 و 2 Wired Connection نامگذاری شدهاند. البته این نحوه نامگذاری بستگی تنظیمات سیستم عامل لینوکس شما دارد.
مرحله 5: بررسی کنید که اتصال شبکه روشن است.
شما از دستور ping در بالا برای بررسی اینکه میتوانید بستههای داده را دریافت کنید یا خیر استفاده کردید، برای نظارت و عیب یابی کانکشنها در لینوکس هم باید از دستور “systemctl” به صورت زیر استفاده کنید:
systemctl status network |
اگر ابزار شبکه مشکلی نداشته باشد، با اجرای این دستور وضعیت را به صورت فعال میبینید.
مرحله 6: اتصال استاتیک را اضافه کنید.
اکنون آماده اضافه کردن یک اتصال ثابت هستید، با استفاده از نام دستگاهی که از ip add در مرحله 2 یادداشت کردید، دستور زیر را برای افزودن یک اتصال جدید وارد کنید:
nmcli con add con-name "SomeName" ifname YOUR_DEVICE autoconnect yes type YOUR_CONNECTION_TYPE |
SomeName ، YOUR_DEVICE و YOUR_CONNECTION_TYPE را بر اساس پیکربندی خود تغییر دهید.
مرحله 7: بررسی کنید که اتصال به مسیر شبکه-اسکریپتها اضافه شده است.
دو راه برای تغییر اطلاعات اتصال جدید با استفاده از ابزار nmcli وجود دارد. یکی با استفاده از دستور زیر است:
nmcli con mod |
این دستور اساسا اسکریپتهای پیکربندی شبکه را در دایرکتوری /etc/sysconfig/network-scripts تغییر میدهد که راه دیگری برای تغییر اطلاعات اتصال است. گزینه تغییر مستقیم اتصال را انتخاب کنید. با وارد کردن مجدد به مسیر /etc/sysconfig/network-scripts نگاه کنید:
ls /etc/sysconfig/network-scripts |
همان طور که در تصویر زیر مشخص است، اتصال ifcfg-MyFavoriteCafe اضافه شده است.
مرحله 8: تأیید کنید که می توانید اتصال را ببینید.
بررسی کنید که MyFavoriteCafe به عنوان اتصال موجود قابل مشاهده باشد. برای بالا آوردن اتصال از دستور زیر استفاده کنید. لطفاً توجه داشته باشید که در این دستور منظور از SOME_CONNECTION_NAME نام اتصال شما است.
nmcli con up SOME_CONNECTION NAME |
وقتی اتصال جدید را اضافه کردید، اگر اتصال خودکار به درستی تنظیم شده باشد، باید در صورت راه اندازی مجدد، ابزار شبکه به طور خودکار شروع شود.
مرحله 9: اتصال را تغییر دهید تا ثابت باشد.
فایل /etc/sysconfig/network-scripts/ifcfg-SOME_CONNECTION_NAME را باز کنید و برای ثابت کردن اتصال، یک پارامتر را تغییر دهید و سه پارامتر اضافه کنید:
-
BOOTPROTO را تغییر دهید تا ثابت باشد.
-
IPADDR را اضافه کنید. این را می توان از دستور ip add یا شبکه متصل شما پیدا کرد.
-
NETMASK را اضافه کنید، این را میتوان از دستور ip add یا شبکه متصل شما پیدا کرد.
-
GATEWAY را اضافه کنید. این را می توان از دستور ip add یا شبکه متصل شما پیدا کرد.
بسته به نحوه تنظیم شبکه و دستگاه، ممکن است لازم باشد DNS ، PREFIX یا اطلاعات دیگری را اضافه کنید.
پس از انجام این مرحله، فایل را ذخیره کرده و شبکه را با دستور زیر راه اندازی مجدد کنید:
systemctl restart network |
مرحله 10: تأیید کنید که اتصال جدید فعال است.
دوباره دستور nmcli con show را اجرا کنید تا اتصال جدید شروع شود.
همچنین میتوانید یک آدرس وب سایت را پینگ کنید تا عملکرد اتصال شما را تایید کند.
در نهایت میتوانید اطلاعات دستگاه را با استفاده از دستور زیر بررسی کنید:
nmcli dev show DEVICE_NAME |
جایی که DEVICE_NAME نام دستگاه شبکه شما است.
سخن پایانی
اگر برای شبکه و مدیریت پروتکلهای مختلف آن از سیستم عامل لینوکس استفاده میکنید، مدیریت Connection ها در لینوکس برای شما اهمیت زیادی دارد و باید دستورات مربوط به همه کانکشنهای لینوکس را بدانید. در دنیای پیچیده امروز مدیریت اتصالهای شبکه در سیستمهای لینوکس به یک هنر تبدیل شده است. با گامهایی ساده که در این مقاله آموزش دادیم به راحتی میتوانید کانکشنهای خود را در این سیستم عامل مدیریت کنید.
سوالات متداول
چگونه میتوانم لیست تمامی اتصالهای فعال در سیستم لینوکس را مشاهده کنم؟
با استفاده از دستور netstat یا ss میتوانید لیست تمامی اتصالها را مشاهده کنید.
چگونه میتوانم یک اتصال شبکه را ببندم یا قطع کنم؟
با استفاده از دستور kill یا killall میتوانید یک اتصال را ببندید. برای مثال، برای بستن یک اتصال با شماره پورت ۸۰ باید از دستور زیر استفاده کنید: sudo kill $(lsof -t -i:80)
چگونه میتوانم جزئیات اتصالهای شبکه را مشاهده کنم؟
با استفاده از دستور netstat یا ss با ترکیبی از پارامترها، میتوانید اطلاعات جزئی تری از اتصالها را مشاهده کنید.
چگونه میتوانم اتصالها را بر اساس برنامههایی که از آنها استفاده میکنند، دستهبندی کنم؟
با استفاده از دستور lsof میتوانید اتصالها را بر اساس برنامههایی که از آنها استفاده میکنند، دسته بندی کنید. به عنوان مثال، برای مشاهده اتصالهای باز توسط برنامههایی که به نام "firefox" در حال اجرا هستند: sudo lsof -i -n -P | grep firefox