انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: تعیین اولویت برای اتصالات (Prioritize Network Interfaces)  (دفعات بازدید: 1209 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
من یک بورد Raspberry Pi 4B دارم که از طریق کابل شبکه متصلش کرده‌م به لپتاپ تا یک LAN درست بشه. از این اتصال فقط برای گرفتن نشست‌های SSH و VNC استفاده می‌کنم. پس لازمه که هم لپتاپ و هم SBC، از راه WiFi به اینترنت دسترسی پیدا کنن و اینترفیس Ethernet رو فقط برای شبکه شدن بین خودشون دو تا استفاده کنن. اما تا جایی که یادم میاد، سیستم‌های لینوکسی همیشه اتصال eth رو به wlan ترجیح میدن و این قضیه باعث میشه هیچ کدومِ این دو تا دستگاه به اینترنت دسترسی نداشته باشن؛ با اینکه هر دو همزمان با اترنت، اتصال wlan فعال دارن و به مودم adsl متصلن. خلاصه اینکه آب در کوزه و این دو تا تشنه‌لبان می‌گردن!
یه راه حل واسه دور زدن مشکل و پاک کردن صورت مسأله هست. اونم اینه که از داخل لپتاپ، نوع اتصال سیمی رو روی Shared to other computers تنظیم کنم. اینطوری در واقع لپتاپ تبدیل به یه کارت شبکه‌ی اکسترنال WiFi میشه و اینترنت رو از مودم می‌گیره و از طریق پورت اترنت با رزبری به اشتراک می‌ذاره. اما وقتی روی رزبری چیپ وای‌فای وجود داره، چرا نباید بتونم ازش استفاده کنم؟! لپتاپ چه گناهی کرده که باید جور اون مینی کامپیوتر رو بکشه؟! اگه خواستم لپتاپ رو suspend کنم اما رزبری بیدار بمونه و روی شبکه‌ی خونگی سرویس‌دهی کنه چی؟

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

اینجا یه روش سریع و ساده برای حل کردن اصولی این مشکل معرفی می‌کنم. بر پایه‌ی سرویس NetworkManager.

دستور زیر مسیرهای فعال رو لیست می‌کنه.
$ route -n                                                       

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlan0
10.42.0.0       0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0

می‌بینیم دو تا اینترفیس wlan0 و eth0 فعالن. چیزی که مهمه ستون Metricـه. این عدد مشخص می‌کنه که اولویت هر مسیر نسبت به بقیه چیه. هر چقدر این عدد کوچکتر، اولویت آن مسیر بالاتر.

الف) اتصالات رو لیست می‌کنیم:
$ nmcli connection                                                       

NAME            UUID                                  TYPE      DEVICE
Wired           1698876f-321d-3065-a315-1d1f31082d89  ethernet  eth0
543212345       7d225229-3658-4b0c-b2dc-d2d6c426c108  wifi      wlan0
K30 Pro Zoom    65a9e297-1ba8-4e1f-877c-a346a23f5d8c  wifi      --     
Xiaomi MI 6     436085a0-69c1-4909-a5ea-dee7d0471edd  wifi      --

۲ تا اتصال اول، هنگام اجرای فرمان فعال و ۲ تای آخر غیرفعال بودن (از قبل ذخیره شده‌ن).

ب) حالا با ابزار خط فرمانی سرویس NetworkManager اولویت‌ها رو ویرایش می‌کنیم:

# nmcli connection edit 543212345

===| nmcli interactive connection editor |===

Editing existing '802-11-wireless' connection: '543212345'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ethtool, match, ipv4, ipv6, hostname, tc, proxy
nmcli> set ipv4.route-metric 90
nmcli> save
nmcli> quit

حالا Metric اتصال 543212345 مربوط به اینترفیس wlan0 تغییر کرده و شده 90. Metric اتصال Wired هم که از قبل 100 بود. پس برای هر تعداد اتصال دیگه که لازم باشه می‌تونیم همین مرحله رو تکرار کنیم.

پ) و تمام! لینوکس به شدت منطقی، بهینه و قدرتمنده:

# systemctl restart NetworkManager$ route -n                                                     

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    90     0        0 wlan0
10.42.0.0       0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     90     0        0 wlan0

من تنظیم بالا رو روی رزبری انجام دادم. حالا رزبری هم مستقیم از WiFi خودش استفاده می‌کنه و اتصال سیمی رو فقط وقتی لازم باشه وارد داستان می‌کنه.
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین ABOLDOM

  • High Hero Member
  • *
  • ارسال: 1923
  • جنسیت : پسر
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #1 : 16 فروردین 1400، 12:14 ق‌ظ »
نیازی نداشتم الان
 ولی واقعا زیبا و با زبان خوبی بیان کردید که قابل درک تر و دلنشین تره  ;)
ممنون از وقت گذاشتن

ویرایش: اینا در ویکی ثبت نمیشه آيا ؟ حیف این مطالب بره پایین و دیده نشه ...
« آخرین ویرایش: 16 فروردین 1400، 12:16 ق‌ظ توسط aliiririran »

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1251
  • جنسیت : پسر
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #2 : 16 فروردین 1400، 12:29 ق‌ظ »
ویرایش: اینا در ویکی ثبت نمیشه آيا ؟ حیف این مطالب بره پایین و دیده نشه ...

خود به خود ثبت نمیشه کسی باید این کارو انجام بده.


آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #3 : 16 فروردین 1400، 12:48 ق‌ظ »
نیازی نداشتم الان
 ...
من بیشتر دوست داشتم با همین لحن معمولی بنویسم. انگار که یه پست وبلاگ باشه.
اگه به‌دردبخور باشه امیدوارم دوستان وارد ویکی بکننش.
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین ABOLDOM

  • High Hero Member
  • *
  • ارسال: 1923
  • جنسیت : پسر
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #4 : 16 فروردین 1400، 10:12 ق‌ظ »
ویرایش: اینا در ویکی ثبت نمیشه آيا ؟ حیف این مطالب بره پایین و دیده نشه ...

خود به خود ثبت نمیشه کسی باید این کارو انجام بده.

آهاپس یعنی هرکسی میتونه ویکی گسترش بده یعنی حتی من هم میتونم ویکی ویرایش کنم و بعد تایید گذاشته میشه؟

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

اره و واقعا قابل فهم تره و خوبه درکل منظورم اینه حیفه هی از این نکات خوب گذاشته شه ولی در انجمن رو به نابودی بره و کسی هم چنین سوالی داشت نتونه به فارسی پیدا کنه یا به ویکی بره و پیدا کنه
حالا همین جور خوبه اخرش با کمی تغییر میشه تو ویکی ثبت بشه دیگه هم کاربر راحت تره هم شما مطلبی که نوشتی کاربردش بیشتر میشه حالا نظرم بود باز نمیدونم   :D

آفلاین جعفر فرقانلوژ

  • High Hero Member
  • *
  • ارسال: 5100
  • جنسیت : پسر
  • اممم . اره دیگه! mehr32
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #5 : 16 فروردین 1400، 10:27 ق‌ظ »
نقل‌قول
آهاپس یعنی هرکسی میتونه ویکی گسترش بده یعنی حتی من هم میتونم ویکی ویرایش کنم و بعد تایید گذاشته میشه؟

هم ویرایش هم ایجاد  ;)

حتما انجام بدید :)
دیگر به انجمن باز نخواهم گشت شاید جایی با این نام پیدام کنید اگه کاری با من دارید : qxc9966@protonmail.com

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4854
  • جنسیت : پسر
  • masoft قدیم
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #6 : 16 فروردین 1400، 07:59 ب‌ظ »
من یک بورد Raspberry Pi 4B دارم که از طریق کابل شبکه متصلش کرده‌م به لپتاپ تا یک LAN درست بشه. از این اتصال فقط برای گرفتن نشست‌های SSH و VNC استفاده می‌کنم. پس لازمه که هم لپتاپ و هم SBC، از راه WiFi به اینترنت دسترسی پیدا کنن و اینترفیس Ethernet رو فقط برای شبکه شدن بین خودشون دو تا استفاده کنن. اما تا جایی که یادم میاد، سیستم‌های لینوکسی همیشه اتصال eth رو به wlan ترجیح میدن و این قضیه باعث میشه هیچ کدومِ این دو تا دستگاه به اینترنت دسترسی نداشته باشن؛
برای اینترنت از Default Gateway استفاده میشه و وقتی تنها یک Default Gateway دارید، اهمیتی نداره که اون Ethernet است یا Wifi و اتصالات اینترنت از اون Interface گذر می‌کنه.

در نتیجه هر دو سیستم باید بدون هر تغییری اینترنت داشته باشند و نیازی به تغییر Metric نیست.

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : تعیین اولویت برای اتصالات (Prioritize Network Interfaces)
« پاسخ #7 : 16 فروردین 1400، 09:37 ب‌ظ »
من یک بورد Raspberry Pi 4B دارم که از طریق کابل شبکه متصلش کرده‌م به لپتاپ تا یک LAN درست بشه. از این اتصال فقط برای گرفتن نشست‌های SSH و VNC استفاده می‌کنم. پس لازمه که هم لپتاپ و هم SBC، از راه WiFi به اینترنت دسترسی پیدا کنن و اینترفیس Ethernet رو فقط برای شبکه شدن بین خودشون دو تا استفاده کنن. اما تا جایی که یادم میاد، سیستم‌های لینوکسی همیشه اتصال eth رو به wlan ترجیح میدن و این قضیه باعث میشه هیچ کدومِ این دو تا دستگاه به اینترنت دسترسی نداشته باشن؛
برای اینترنت از Default Gateway استفاده میشه و وقتی تنها یک Default Gateway دارید، اهمیتی نداره که اون Ethernet است یا Wifi و اتصالات اینترنت از اون Interface گذر می‌کنه.

در نتیجه هر دو سیستم باید بدون هر تغییری اینترنت داشته باشند و نیازی به تغییر Metric نیست.
از قرار معلوم هر دو تا همیشه برای اینترنت فقط به ethernet نگاه می‌کنن و wifi رو ندیده می‌گیرن، در حالی که فقط وای‌فای اینترنت داره. یعنی مجبورم اتصال کابلی رو غیر فعال کنم تا مشکل حل بشه. هوشمند هم عمل نمی‌کنن که خودشون تشخیص بدن کدوم اینترفیس اینترنت داره.
مشکل جدیدی هم نیست و همیشه باهاش مواجه بودم تا اینکه بالاخره جست‌وجو کردم و به این راه حل رسیدم. حالا راه حل بهتری وجود داره؟

ویرایش: البته من این روش رو نیاز داشتم به این دلیل که به بورد رزبری ۱ دانگل وای‌فای هم وصل کرده‌م. این دانگل به مودم محلی وصله، و چیپ وای‌فای رزبری رو به هات‌اسپات موبایل وصل می‌کنم. یعنی ممکنه همزمان ۳ تا اتصال فعال داشته باشه. هات‌اسپات رو برای دانلودهای شبانه استفاده می‌کنم. در نتیجه لازم دارم هر وقت بورد به هات‌اسپات وصل بود، اولویت ترافیک اینترنت رو بذاره روی همین اتصال و از دانگل که به مودم وصله استفاده نکنه. اتصال کابلی هم که باید اولویت سوم باشه.
« آخرین ویرایش: 16 فروردین 1400، 09:45 ب‌ظ توسط آرمان اسماعیلی »
صفحه‌ی من در اینستاگرام: ‎‎@armanes92