Чи може ПК мати більше одного шлюзу за замовчуванням?


12

Я знаю, що на ПК може бути декілька мережевих адаптерів, кожен з яких має різні мережеві ідентифікатори (IP, MAC тощо).

Моє запитання: чи може певний ПК мати декілька активних шлюзів за замовчуванням? І якщо так, то як ПК (або краще сказати ОС) знає, який адаптер використовується для будь-якого даного пакету?


ключове слово є "за замовчуванням", якщо він просто сказав ip шлюз, то все може бути інакше.
тоні рот

1
Найкращий спосіб зробити це - встановити вищу метрику маршруту на одному із стандартних параметрів. Це досить добре працює і в Windows, і в Linux. Маршрут із нижньою метрикою виграє, поки цей інтерфейс не вийде
Майк Пеннінгтон

1
Я дуже хотів би знати, що ви намагаєтеся виконати за допомогою декількох шлюзів за замовчуванням. Збалансування завантаження ?? Можливо, є більш конкретне основне питання.
Пол Акерман

Відповіді:


25

Технічно так, практично ні.

Ключ в терміні "за замовчуванням", це за замовчуванням - у мене є замовчувальний бутерброд, який я замовляю у метро (М'ясний м'яч Маринара з сиром та джалапеньо), який я змінюю в звичайному режимі, все ще за замовчуванням, хоча у мене немає двох стандартних параметрів.

Отже, це те саме з мережевими інтерфейсами, ви визначаєте "норму", а потім вказуєте, коли ви хочете перейти з цієї норми через "статичні маршрути" (подивіться команду "route" у вашій ОС на вибір).

Сподіваюся, це допомагає, і ви не зробили вас занадто голодним ...


7
+1 для харчових аналогій.
Том О'Коннор

1
+1 Хоча більшість ОС можуть підтримувати безліч переглядів мережі, що може передбачати декілька шлюзів за замовчуванням, хоча майже точно не в тому сенсі, як думає запитувач.
Chris S

Що станеться, коли у вас є два NIC, A і B, встановіть шлюз за замовчуванням, який виходить через A, і хтось починає з вами розмову через B? (Мені цікаво, тому що я написав відповідь навколо цієї конкретної ситуації, і тепер я починаю сумніватися)

1
@ArjunShankar потім передає назад за допомогою NIC B, просто тому, що він знає про цей маршрут, маршрут за замовчуванням використовується лише тоді, коли немає прямого маршруту до пункту призначення.
Чоп33

Хоча добре зазначити, що якщо ви отримуєте пакети на B від мережі, до якої ви не підключені (це було для вас маршрутом), ви отримаєте асиметричну розмову, оскільки цільова мережа не знаходиться в таблиці маршрутизації і як така відповіді будуть спрямовані до шлюзу за замовчуванням. Якщо це прямий маршрут, він все одно повинен спрацювати, але якщо він проходить через потужний брандмауер де завгодно, він може зітхнути з вами
SpacemanSpiff

18

Ні, він не може мати більше одного активного шлюзу за замовчуванням.

Будь-яка операційна система може мати налаштовані декілька шлюзів за замовчуванням (технічно маршрут до не вказаної адреси , тобто 0.0.0.0або ::). У цьому випадку він робить те, що робив би для будь-якого пункту призначення маршруту з кількома шляхами.

  • Він вибирає активний маршрут, виходячи зі значення « Налаштування»
  • Якщо є декілька з однаковими налаштуваннями, то він вибирає один на основі показника
  • Якщо обидва налаштування та метрика однакові (що, мабуть, має місце лише для статичних маршрутів), метод вибору якого буде залежати від операційної системи, але він вибере його та позначить як активний

Він буде використовувати активний вибір доти, поки система не виявить, що він більше не функціонує (це буде змінюватися залежно від того, як маршрути були вставлені в таблицю маршрутизації), а потім перейде на інший доступний маршрут (знову ж таки, виходячи з Налаштування, а потім метрики).

І якщо новий маршрут буде введено з вищою метрикою або налаштуваннями, він перейде до найбільш бажаного, а потім найкоротшого показника.

Але в будь-який час він може мати лише один (або нульовий) активний маршрут до будь-якого конкретного пункту призначення.


Зауважте, я навмисно залишив більш конкретні маршрути, оскільки тема стосується стандартних налаштувань . Вибір маршруту відбувається в порядку 1) найбільш конкретного 2) найвищого уподобання 3) найкоротшого показника. Якщо всі рівні, це більш-менш довільно.
bahamat

приємна відповідь, має сенс і коротка
SpacemanSpiff

@bahamat Якщо у мене є два типових налаштування, і активний не може перенести мене до місця призначення. Чи спробує ОС відразу зв’язатися з другою?
Ахмед був

@AhmedWas На жаль, відповідь складніша, ніж вміститься в коментарі обміну стеками. Це дійсно залежить від безлічі різних факторів. Іноді це може бути, але в іншому випадку може не ставати, в залежності від того, як налаштовано і як ведуть себе інші компоненти мережі.
Багамат

@bahamat Дякую за коментар Скажіть, будь ласка, простий приклад, коли ОС намагатиметься зв’язатися з другим доступним шлюзом?
Ахмед був

3

У Windows (принаймні Vista) прекрасно мати декілька маршрутів за замовчуванням в одному інтерфейсі з різними показниками. Windows автоматично перейде на маршрут із наступним найвищим показником, якщо нижній метричний маршрутизатор опуститься вниз. Якщо є кілька маршрутів за замовчуванням з однаковими показниками, Windows випадковим чином вибирає один з них для використання.

Це дозволяє мати надлишкові маршрутизатори без налаштування відмови на маршрутизаторах.

У Linux це не працює. Ви можете мати кілька маршрутів за замовчуванням з різними показниками, але в даний час ядро ​​Linux ігнорує значення метрики. Якщо маршрутизатор за замовчуванням з найнижчим показником зникне, трафік не буде протікати.


Цікаво також зазначити, що ви можете встановити шлюз за замовчуванням на декілька підключень, але якщо ви відкриєте меню розширених налаштувань у мережевих підключеннях, де ви зможете вибрати порядок зв’язування, ви виберете, який NIC знаходиться вгорі, а потім спуститися по лінії. Мені смішно, скільки людей спілкуються з деякими цими речами через CLI, коли це просто клік.
SpacemanSpiff

1
Маршрути за замовчуванням не такі, як шлюзи за замовчуванням. Вони використовуються в різних контекстах.
Джон Гарденєр

@JPW Якщо у мене є два типових налаштування, і активний не може перенести мене до місця призначення. Чи спробує ОС відразу зв’язатися з другою?
Ахмед був

3

За замовчуванням шлюз є використання маршруту , якщо ні один з інших маршрутів не збігаються. Тож за цим визначенням може бути лише один за одним.

За винятком справді, тому що правила маршрутизації можуть бути складнішими. Наприклад, сучасні версії Linux підтримують використання декількох повністю незалежних таблиць маршрутизації та визначають по одному пакету для визначення того, в якій таблиці слід проконсультуватися. Наприклад, можливо, у вас є одна мережева конфігурація, яка використовується для нормального трафіку, але зовсім інша таблиця маршрутизації для вашого веб-браузера. Або, можливо, у вас є інша таблиця маршрутизації, яка використовується лише для пакетів з певними наборами TOS. Але у кожного буде власний шлюз за замовчуванням, який би відображав маршрут за замовчуванням для цієї конкретної таблиці маршрутів.

Зазвичай таблиця маршрутизації така ж проста, як "локальний трафік до локального інтерфейсу, все інше до маршрутизатора". Але якщо ви використовуєте більш складні налаштування мережі, то існують інструменти, щоб впоратися з будь-яким мережним сценарієм, про який ви можете придумати.


це має бути прийнятою відповіддю.
prosti

1

На ПК може бути більше 1 шлюзу за замовчуванням, але в статичній IP-конфігурації ви вводите лише 1 адресу, насправді це може бути кілька шлюзів за замовчуванням, які переносять вас за межі вашої мережі. Є адреса, яка називається плаваючою адресою, ця адреса є лише віртуальною адресою, а не реальною. Адреса - це адреса, яка плаває між двома маршрутизаторами в одній мережі. плаваюча адреса вводиться на ПК, і коли вона переходить до роботи перемикача / до того, як він перейде до маршрутизаторів, він робить власні висновки щодо шляху та вибирає один із двох або більше шлюзів за замовчуванням.

Важко показати вам, як це працює, це інструменти мережевого професійного рівня, протоколи, які працюють у мережі при його використанні: VRRP та HSRP. Протоколи Сіско та ялівцю.


0

Так, ти можеш. Але в чому сенс?

Ви, ймовірно, шукаєте щось на зразок "режиму відображення" (я думаю, це називалося в Solaris 2.4.x). Можливо, ви можете тут детально розказати своє питання - яка ваша поточна установка та яка ваша мета.

У будь-якому випадку - я здогадуюсь, що у вас є багатодомний сервер з мережевими інтерфейсами, який потенційно може отримувати трафік від будь-якого клієнта. Тепер ви хочете відповісти через той самий інтерфейс, на який потрапляв трафік ...

Це можна зробити, але не за допомогою простих засобів шлюзу за замовчуванням.


-2

для машини Windows: інструмент, з яким ви можете грати, знаходиться в командному рядку: "route" "print print" відобразить вашу поточну таблицю маршрутизації

у вас може бути лише один шлюз за замовчуванням на адаптер. ПК ефективно використовуватиме лише один шлюз - перша карта, зазначена у маршрутизаційному порядку порядку NIC, буде виглядати через вашу таблицю маршруту, використовуючи більш конкретні правила та отримуючи більш загальні під час роботи через таблицю.

Погляньте на цю статтю щодо ідей ... Windows 7 не дуже змінилася з часу win2k. http://support.microsoft.com/kb/140859


1
хтось поділився розумом, чому вони за мене голосували? Відповідь, яку я надав, починає відповідати на деякі додаткові запитання.
cwheeler33

-5

Якщо ваш сервер / ПК є багатоходовими, це означає, що це частина двох окремих мереж, у вас буде шлюз за замовчуванням для кожного мережного адаптера. Потім ви надаєте пріоритет мережевим адаптерам. Як і інші казали, у вас все ще є один шлюз за замовчуванням, але це на мережевий адаптер.


4
Ні, ні,
ВАС НЕ РОБИТИ

2
Ви плутаєте маршрути за замовчуванням із шлюзами за замовчуванням, які є абсолютно різними тваринами.
Джон Гарденєр
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.