Несколько шлюзов по умолчанию windows

Обновлено: 30.06.2024

На одном ПК установлены две сети:
Интернет: ip: 217.29.113.145
Маска: 255.255.255.192
Шлюз: 217.29.113.129
и внутренняя сеть:
ip: 10.1.0.10
Маска: 255.255.255.0
Шлюз: 10.1.0.40
При установке двух шлюзов сеть перестает работать. При попытке прописать routr -p add 10.1.0.10 mask 255.255.255.0 10.1.0.40 или route -p add 217.29.113.145 mask 255.255.255.192 217.29.113.129 ни чего не меняется, помогите пожалуйста правильно настроить маршруты!


IPv4 таблица маршрута
============================================================ ===============
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 217.29.113.129 217.29.113.145 276
10.1.0.0 255.255.255.0 On-link 10.1.0.10 276
10.1.0.0 255.255.255.0 10.1.0.40 10.1.0.10 296
10.1.0.255 255.255.255.255 On-link 10.1.0.10 276
10.1.0.255 255.255.255.255 10.1.0.40 10.1.0.10 296
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
217.29.113.128 255.255.255.192 On-link 217.29.113.145 276
217.29.113.191 255.255.255.255 On-link 217.29.113.145 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.1.0.10 276
224.0.0.0 240.0.0.0 On-link 217.29.113.145 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.1.0.10 276
255.255.255.255 255.255.255.255 On-link 217.29.113.145 276
============================================================ ===============
Постоянные маршруты:
Сетевой адрес Маска Адрес шлюза Метрика
10.1.0.10 255.255.255.0 10.1.0.40 1
0.0.0.0 0.0.0.0 10.1.0.40 276
10.1.0.0 255.255.255.0 10.1.0.40 276
10.1.0.255 255.255.255.255 10.1.0.40 276
0.0.0.0 0.0.0.0 217.29.113.129 По умолчанию
============================================================ ===============

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Два шлюза на одном компе
два шлюза прописывать избыточно, но тем не менее вот рабочая схема с двумя сетевухами 0.0.0.0 .

Два шлюза в одной локальной сети
Здравствуйте. У меня такая проблемка. Имеются 2 роутера разных провайдеров с разными шлюзами.

Настроить маршрутизацию через два шлюза
Пытаюсь настроить передачу пакетов между двумя хостами через два маршрутизатора. Конфигурация.

Необходимо сделать так, чтобы в приоритете был интернет предприятия и лишь при его исчезновении трафик шел через модем.

Эти команды мне не помогли =(

route -p add 10.0.0.0 mask 255.255.255.0 10.0.0.1 metric 2
route -p add 31.13.133.0 mask 255.255.255.252 31.13.133.97 metric 1

route -p add 10.0.0.10 mask 0.0.0.0 10.0.0.1 metric 2
route -p add 0.0.0.0 mask 0.0.0.0 31.13.133.97 metric 1

Просто у интернет предприятия после выставления метрик таким образом исчезает адрес шлюза и назначается какой-то альтернативный IP (DHCP на моем порту в предприятии отключили).

Подскажите, пожалуйста, мне чайнику в матчасти.

  • Вопрос задан более трёх лет назад
  • 11522 просмотра
Вы можете указать несколько шлюзов по умолчанию - в этом случае Windows будет перебирать их по очереди. Если отказал первый, трафик пойдёт через второй и т.д. Проблема здесь в том, что обратно трафик на первый шлюз также вернётся только в случае сбоев, то есть 3g/4g модемы не совсем подходят для такого сценария работы (а было бы так красиво), так как пока они в свою очередь не лягут, трафик так и будет идти через них независимо от того, поднялся "проводной" шлюз или нет.
Подробнее можете поискать про Dead Gateway Detection.
Других вариантов построить какое-то подобие отказоустойчивости стандартными средствами, насколько я знаю, в Windows нет.

garlp

Спасибо. Решил проблему именно так: на обоих интерфейсах прописал шлюз второго плюс поставил метрики не через командную строку а все там же в свойствах подключения

Можно так попробовать.
Уберите постоянные маршруты. И вручную назначьте метрики интерфейсам.

Автоматическое переключение между основным и резервным интернет каналом

У нас в конторе наконец то появился резервный интернет-канал. Но со всей очевидностью встала задача автоматического выбора канала интернет. Схема подключения такая: стоит сервер на винде, работающий, как шлюз (недавно переезжали с фрибсд, по никем не понятой причине - приказ гендира). В него входит один сетевой кабель из внутренней сети и уходит на свич, в который, в т.ч., воткнуто оборудование провайдера. Теперь там появилась еще одна железка, которая также находится в инете и раздает его (в простанародье - маршрутизатор).

Спустя какое то время я родил скрипт (batch-файл - он же .bat), который просто поместил в автозагрузку и запустил. Несомненно, это временное решение, но если надо сейчас или даже прямо сейчас, а работы другой непочатый край, то подойдет. Ниже исходники скрипт автоматического переключения на резервный канал:

:first_ping
Ping -n 4 -l 1 8.8.8.8>Nul
If "%ERRORLEVEL%"=="1" goto reserv
if "%ERRORLEVEL%"=="0" Echo First IP OK.
set Timer=60
ping -n %Timer% 127.0.0.1>nul
goto first_ping

:second_ping
Ping -n 4 -l 1 192.168.0.50>Nul
If "%ERRORLEVEL%"=="1" echo First IP is not response.
if "%ERRORLEVEL%"=="0" goto first
set Timer=60
ping -n %Timer% 127.0.0.1>nul
goto second_ping

Хочу заметить, что проверка доступности происходит раз в 60 секунд. Вы можете это изменить на любое время, необходимое вам, изменив соответствующий параметр. Но слишком большое время сделает смену адреса не актуальной, а слишком маленькая задержка даст небольшую, но неприятную (возможно, при очень плохих или загруженных сетях) задержку. Смешно про байт конечно говорить, но все же.

Если на компьютере установлено несколько сетевых адаптеров и для каждого адаптера настроена шлюз по умолчанию (это создает один маршрут по умолчанию в таблице маршрутизации IP для всех назначений, не расположенных в подсети), возможно, данные в сети не будут направляться в нужных назначениях, если компьютер подключить к разобщенным сетям, не предназначенным для соединения напрямую.

Даже если настроено несколько шлюзов по умолчанию, только один используется для всех мест назначения расположенных в подсети. Примером этого может быть компьютер, который подключен к интрасети, в состав которой входят несколько подсетей, и интернет.

Если шлюз по умолчанию настроен для обоих адаптеров, можно обмениваться данными только со всеми компьютерами в интернете или только с компьютерами в интрасети.

Чтобы решить эту проблему, выполните следующие действия:

Настройка шлюза по умолчанию

  1. Откройте окно «Сетевые подключения».
  2. Щелкните правой кнопкой мыши сетевой адаптер, для которого необходимо настроить шлюз по умолчанию и выберите пункт Свойства.
  3. Откройте вкладку Сети.
  4. В разделе Компоненты, используемые этим подключением установите флажок Протокол Интернета версии 4 (TCP/IPv4) или Протокол Интернета версии 6 (TCP/IPv6) и нажмите кнопку Свойства .
  5. В диалоговом окне, которое появится, выберите Получить IP-адрес автоматически или Использовать текущий IP-адрес.

Если сетевой адаптер настроить для автоматического получения IP-адреса, шлюз по умолчанию назначается сервером DHCP. Если назначить альтернативную конфигурацию (только для IPv4), шлюз по умолчанию – это IP-адрес в поле «Шлюз по умолчанию» на вкладке «Альтернативная конфигурация». Можно выбрать только один шлюз по умолчанию.

Если назначить конфигурацию IP-адреса вручную, шлюзом по умолчанию будет IP-адрес в поле «Шлюз по умолчанию» на вкладке «Общее».

Чтобы включить прослушиватель RIP-протокола

  1. Откройте окно «Программы и компоненты».
  2. На левой панели выберите Включение или отключение компонентов Windows. По запросу введите пароль администратора или подтвердите действие.
  3. Установите флажок Прослушиватель RIP и нажмите кнопку ОК .

Добавление маршрутов для IPv4-протокола вручную

  1. Откройте окно командной строки.
  2. В командной строке введите route -p add [destination] [mask <маска сети>] [gateway] [metric <показатель>] [if <інтерфейс>] .

В следующей таблице описаны параметры команды route-p add.

Параметр Описание
destination Определяет сетевой маршрут. Назначением может быть IP-адрес или префикс подсети (его также называют сетевым адресом или сетевым идентификатором) (где биты высокого порядка имеют значение 0), IP-адрес маршрута хоста или 0.0.0.0 для маршрута по умолчанию.
mask Определяет маску подсети, связанную с сетевым местом назначения. Маской подсети может быть соответствующая маска подсети IP-адреса или префикса подсети 255.255.255.255 для маршрута хоста или 0.0.0.0 для маршрута по умолчанию. Если этот параметр пропущен, используется маска подсети 255.255.255.255. Через связь между местом назначения и маской подсети при определении маршрутов, место назначения не может иметь более детальный формат, чем соответствующая маска подсети. То есть, если для бита в месте назначения установлено значение 1, соответствующий бит в маске подсети не может иметь значение 0.
gateway Определяет IP-адрес перенаправления или следующего сетевого сегмента, где можно найти набор адресов, определенный сетевым местом назначения и маской подсети. Для локально подключенных подсетевых маршрутов адреса шлюза – это IP-адрес, предназначен для интерфейса, подключенного к подсети. Для удаленных маршрутов, доступных через один или несколько маршрутизаторов, адрес шлюза – это непосредственно доступный IP-адрес, предназначеный для соседнего маршрутизатора.
metric Определяет показатель затрат (целое число от 1 до 9999) для маршрута используется при выборе из нескольких маршрутов из таблицы маршрутизации, которые наиболее соответствуют адресу места назначения пакета. Выбирается маршрут с низким показателем. Показатель может отражать количество сетевых сегментов, скорость пути, его надежность, пропускную способность или административные свойства.
if Определяет индекс интерфейса для интерфейса, через который можно добраться до места назначения. Для списка интерфейсов и соответствующих индексов интерфейсов используйте отображение команды «route print». Для индекса интерфейса можно использовать десятичные или шестнадцатеричные значения. Перед шестнадцатеричными значениями следует писать 0х. Если параметр «if» пропущен, интерфейс определяется через адрес шлюза.

С помощью параметра -г указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации при запуске протокола TCP / IP.

Добавление маршрутов для протокола IPv6 вручную

  1. Откройте окно командной строки.
  2. В командной строке введите netsh interface ipv6 add route [prefix =] <IPv6-адреса> / <целое число> [interface =] <строка> [[nexthop =] <IPv6-адреса>] [[siteprefixlength =] <целое значение> ] [[metric =] <целое значение>] [[publish =] <значение>] [[validlifetime =] <целое число> | infinite] [[preferredlifetime =] <целое число>] [[store =] <значение> ] .

В следующей таблице описаны параметры команды netsh interface ipv6 add route.

В этой статье описываются проблемы подключения, которые возникают при том, что в параметрах конфигурации TCP/IP используются несколько шлюзов по умолчанию.

Применяется к: Windows 2000 г.
Исходный номер КБ: 159168

Сводка

Если по умолчанию в параметрах конфигурации TCP/IP на Windows NT используется несколько шлюзов по умолчанию, подключение к компьютерам в удаленных сетях может быть потеряно. На многодомных компьютерах, подключенных к несоединяемой сети, в таблицу маршрутов можно добавить статические маршруты, чтобы получить подключение к удаленным сетям.

Дополнительная информация

Windows NT компьютеры можно настроить несколькими шлюзами по умолчанию. При обнаружении мертвого шлюза TCP он может направлять IP для переключения шлюзов по умолчанию на следующий шлюз в списке резервного копирования. Этот переключатель может возникать при нескольких шлюзах, настроенных для одного и того же сетевого адаптеров, или когда различные адреса шлюзов по умолчанию даются на различных сетевых картах на многодомовом компьютере. Переключатель запускается, когда TCP попробовывает половину времени TcpMaxDataRetransmissions для отправки пакета через текущий шлюз по умолчанию.

После коммутатора весь IP-трафик из любого сетевого адаптера на этом компьютере, предназначенный для удаленных сетей, будет отправлен в выбранный в настоящее время шлюз. В разроённых сетях это может привести к потерям подключения и последующему прекращению активных сеансов с компьютерами на удаленных сетях, подключенных через первый шлюз. Это потому, что выбранный в настоящее время шлюз может не знать о других маршрутах, управляемых первым шлюзом, если эти маршрутизаторы не обмениваются информацией о маршрутике друг с другом.

Если переключенный шлюз недостижим или неактивен в сети, он теряет подключение к всем удаленным сайтам. На этом этапе тикинг на этот компьютер из удаленной сети не сможет получить положительный отклик. Кроме того, любой исходящий печатный окне удаленному хосту с этого компьютера будет давать запросу приумногую ошибку. Это поведение по дизайну и соответствует спецификациям TCP/IP.

В следующих иллюстрациях описываются ситуации, в которых используется несколько шлюзов.

Рассмотрим компьютер с двумя сетевыми картами Netcard1 и Netcard2 и следующими IP-адресами и шлюзами по умолчанию:

Netcard1:
IP-адрес: 11.100.1.1
Маска: 255.255.0.0
Шлюз по умолчанию: 11.100.0.1 11.100.0.2

Netcard2:
IP-адрес: 11.200.1.1
Маска: 255.255.0.0
Шлюз по умолчанию: 11.200.0.1

Если вы хотите, чтобы Telnet на рабочей станции с IP-адресом 130.20.20.100, IP-телеграммы данных будут маршрутизироваться через шлюз 11.100.0.1. Если 11.100.0.1 обнаружен как недоступный, IP переключается на второй шлюз 11.100.0.2. При сбой этого шлюза используйте 11.200.0.1 и так далее. Это относится только к трафику TCP, а переключение шлюзов происходит на основе механизма, описанного ранее. Сетевой трафик служб Telnet, FTP и NetBIOS Session использует TCP для сетевых коммуникаций.

Кроме того, рассмотрим, где две сети, подключенные к Netcard1 и Netcard2, не связаны друг с другом (то есть не подключены друг к другу через какой-либо другой маршрутизатор). Если есть сеть (скажем, 22.101.x.x), доступная только через Netcard2, ip-данные для этой сети по-прежнему будут маршрутизироваться по 11.100.0.1, так как это основной шлюз по умолчанию. Чтобы маршрутировать IP-адреса данных, предназначенные для сети 22.101.x.x до 11.200.0.1, в таблицу маршрутов через утилиту ROUTE необходимо добавить статический маршрут. Чтобы добавить маршрут, введите следующую команду:

Другим возможным решением для вышеуказанного сценария является запуск маршрутивки multiprotocol на многодомном компьютере Windows NT, чтобы он может обмениваться информацией о маршрутике с другими маршрутизаторами в сети с протоколом сведений о маршрутике. Маршрутия multiprotocol доступна в Windows NT 3.51 Пакет обновления 2 или более поздней.

Я знаю, что ПК может иметь несколько сетевых адаптеров, каждый из которых имеет разные сетевые идентификаторы (IP, MAC и т. Д.).

У меня вопрос, может ли определенный компьютер иметь более одного активного шлюза по умолчанию? И если да, то как ПК (или, лучше сказать, ОС) знает, какой адаптер используется для любого данного пакета?

ключевое слово "default", если оно просто говорит ip gateway, тогда все может быть иначе. Лучший способ сделать это - поместить метрику с более высоким маршрутом в одно из значений по умолчанию. Это хорошо работает как на Windows, так и на Linux. Маршрут с более низкой метрикой побеждает, пока этот интерфейс не выйдет из строя Мне бы очень хотелось узнать, чего вы пытаетесь достичь с помощью нескольких шлюзов по умолчанию. Балансировка нагрузки?? Возможно, есть более конкретный основной вопрос.

Технически да, практически нет.

Ключ находится в термине «по умолчанию», это по умолчанию - у меня есть бутерброд по умолчанию, который я заказываю из Subway (Meatball Marinara с сыром и халапеньо), который я обычно изменяю, хотя по-прежнему мой по умолчанию, у меня нет двух значений по умолчанию.

То же самое и с сетевыми интерфейсами: вы определяете «норму», а затем указываете, когда хотите выйти из этой нормы с помощью «статических маршрутов» (посмотрите на команду «route» в выбранной вами ОС).

Надеюсь, это поможет, и не заставит вас слишком голодать .

+1 Хотя большинство операционных систем могут поддерживать несколько сетевых представлений, что позволяет использовать несколько шлюзов по умолчанию, хотя почти наверняка не в том смысле, о котором думает спрашивающий. Что происходит, когда у вас есть две сетевые карты, A и B, которые устанавливают шлюз по умолчанию, выходящий через A, и кто-то начинает разговор с вами через B? (Мне любопытно, потому что я написал ответ вокруг этой конкретной ситуации, и теперь я начинаю подвергать его сомнению) @ArjunShankar затем передает обратно, используя NIC B, просто потому, что он знает об этом маршруте, маршрут по умолчанию используется только тогда, когда нет прямого маршрута к месту назначения. Тем не менее, полезно отметить, что если вы получаете пакеты на B из сети, к которой вы не подключены (она была ROUTED для вас), то вы получите асимметричный диалог, потому что сеть назначения не находится в таблице маршрутизации и поэтому ответы будут отправлены на шлюз по умолчанию. Если это прямой маршрут, он должен работать в любом случае, но если он проходит через брандмауэр с отслеживанием состояния в любом месте, он может вас разозлить

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

Любая операционная система может иметь несколько настроенных шлюзов по умолчанию (технически это маршрут по неопределенному адресу , т.е. 0.0.0.0 или :: ). В этом случае он делает то же, что и для любого маршрута с несколькими путями.

  • Он выбирает активный маршрут на основе значения предпочтения.
  • Если есть несколько с одинаковыми предпочтениями, он выбирает один на основе метрики
  • Если предпочтения и метрика одинаковы (что, вероятно, относится только к статическим маршрутам), метод выбора будет зависеть от операционной системы, но он выберет один и пометит его как активный.

Он будет использовать активный выбор, пока система не обнаружит, что он больше не функционирует (это будет зависеть от того, как маршруты были вставлены в таблицу маршрутизации), а затем переключится на другой доступный маршрут (опять же, на основе предпочтения, а затем метрики).

И если вводится новый маршрут с более высокой метрикой или предпочтением, он переключается на наиболее предпочтительную, а затем на самую короткую метрику.

Но в любой момент времени он может иметь только один (или ноль) активный маршрут к какому-либо конкретному пункту назначения.

Обратите внимание, я намеренно пропустил более конкретные маршруты, потому что речь идет о значениях по умолчанию . Выбор маршрута происходит в следующем порядке: 1) наиболее конкретный 2) наиболее предпочтительный 3) кратчайший показатель. Если все равны, это более или менее произвольно. @bahamat Если у меня есть два значения по умолчанию, и активное не может привести меня к месту назначения. Будет ли ОС сразу пытаться связаться со вторым? @AhmedWas К сожалению, ответ является более сложным, чем вписывается в комментарий обмена стека. Это действительно зависит от множества различных факторов. Иногда это может произойти, но иногда нет, в зависимости от того, как оно настроено и как ведут себя другие компоненты в сети. @bahamat Спасибо за комментарий. Не могли бы вы привести простой пример, когда ОС будет пытаться связаться со вторым доступным шлюзом?

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

Это позволяет вам иметь избыточные маршрутизаторы без настройки аварийного переключения на маршрутизаторах.

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

Также интересно отметить, что вы можете установить шлюз по умолчанию для нескольких подключений, но если вы откроете меню расширенных настроек в разделе сетевых подключений, где вы можете выбрать порядок привязки, вы выберете тот, который NIC находится вверху, а затем идти вниз по линии. Мне смешно, как много людей копаются с некоторыми вещами через CLI, когда это просто щелчок. Маршруты по умолчанию не совпадают с маршрутами по умолчанию. Два используются в разных контекстах. @JPW Если у меня есть два значения по умолчанию, и активное не может привести меня к месту назначения. Будет ли ОС сразу пытаться связаться со вторым?

По умолчанию шлюз является использование маршрута , если ни один из других маршрутов не совпадают. Таким образом, по этому определению, может быть только один за один раз.

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

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

Трудно показать вам, как это работает, это инструменты профессионального уровня сети, протоколы, которые работают в сети, когда он используется: VRRP и HSRP. Протоколы Cisco и Juniper.

Да, ты можешь. Но какой в ​​этом смысл?

Скорее всего, вы ищете что-то вроде «режима отражения» (я думаю, это было вызвано в Solaris 2.4.x). Возможно, вы можете подробно изложить свой вопрос здесь - каковы ваши текущие настройки и какова ваша цель.

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

Это можно сделать, но не с помощью простых средств шлюза по умолчанию.

для машины Windows: инструмент выбора, с которым можно поиграть, находится в командной строке: «route» «route print» отобразит вашу текущую таблицу маршрутизации

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

Кто-нибудь может поделиться мнением, почему они проголосовали за меня? Ответ, который я предоставил, начинает отвечать на некоторые дополнительные вопросы, которые были заданы.

Если ваш сервер / ПК является многосетевым, то есть он является частью двух отдельных сетей, у вас будет шлюз по умолчанию на каждом сетевом адаптере. Затем вы назначаете приоритеты сетевым адаптерам. Как уже говорили другие, у вас все еще есть только один шлюз по умолчанию, но он на сетевой адаптер.

Читайте также: