Вопрос или проблема
У меня есть ноутбук, который подключен без проводов к сети 192.168.1.0/24 с использованием DHCP и проводным способом к сети 10.10.10.0/24 со статическими настройками, при этом не установлен ШЛЮЗ ПО УМОЛЧАНИЮ.
Целью было получить доступ к внешним адресам с использованием шлюза по умолчанию в беспроводной сети (192.168.1.1) и внутренней сети (10.10.10.0/24, 10.10.20.0/24 и так далее… 10.10.60.0/24) с помощью проводной сети. Поэтому я добавил следующие постоянные маршруты:
===========================================================================
Постоянные маршруты:
Сетевой адрес Маска Адрес шлюза Метрика
10.10.60.0 255.255.255.0 10.10.10.1 1
10.10.50.0 255.255.255.0 10.10.10.1 1
10.10.40.0 255.255.255.0 10.10.10.1 1
10.10.20.0 255.255.255.0 10.10.10.1 1
10.10.30.0 255.255.255.0 10.10.10.1 11
10.10.10.0 255.255.255.0 10.10.10.1 1
===========================================================================
Маршрутизирующая таблица следующая:
IPv4 таблица маршрутизации
===========================================================================
Активные маршруты:
Сетевая цель Маска Шлюз Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.110 2
10.10.10.0 255.255.255.0 На линке 10.10.10.27 266
10.10.10.0 255.255.255.0 10.10.10.1 10.10.10.27 11
10.10.10.27 255.255.255.255 На линке 10.10.10.27 266
10.10.10.255 255.255.255.255 На линке 10.10.10.27 266
10.10.30.0 255.255.255.0 10.10.10.1 10.10.10.27 21
10.10.50.0 255.255.255.0 10.10.10.1 10.10.10.27 11
127.0.0.0 255.0.0.0 На линке 127.0.0.1 331
127.0.0.1 255.255.255.255 На линке 127.0.0.1 331
127.255.255.255 255.255.255.255 На линке 127.0.0.1 331
192.168.1.0 255.255.255.0 На линке 192.168.1.110 257
192.168.1.110 255.255.255.255 На линке 192.168.1.110 257
192.168.1.255 255.255.255.255 На линке 192.168.1.110 257
224.0.0.0 240.0.0.0 На линке 127.0.0.1 331
224.0.0.0 240.0.0.0 На линке 10.10.10.27 266
224.0.0.0 240.0.0.0 На линке 192.168.1.110 257
255.255.255.255 255.255.255.255 На линке 127.0.0.1 331
255.255.255.255 255.255.255.255 На линке 10.10.10.27 266
255.255.255.255 255.255.255.255 На линке 192.168.1.110 257
Но, после всего этого пакеты идут не тем путем:
C:\WINDOWS\system32>tracert -d 10.10.60.1
Отслеживание маршрута к 10.10.60.1 с максимальным количеством переходов 30
1 5 мс 3 мс 3 мс 192.168.1.1
==============================================
^C
C:\WINDOWS\system32>
Почему пакеты идут через 192.168.1.1?
Разве пакеты не должны идти по постоянному маршруту (10.10.10.1)?
Вы перезапустили сеть или включили/выключили адаптеры? Возможно, вам нужно перезапустить стек TCP, чтобы новые маршруты были распознаны. Просто такая мысль.
Что я обычно делаю, так это следующее
route add 10.0.0.0 mask 255.0.0.0 10.28.15.201 -p
в дополнение к вышеуказанному, вы всегда должны добавлять номер интерфейса, например (если не планируете менять интерфейсы позже)
route add 10.0.0.0 mask 255.0.0.0 10.28.15.201 -p IF 12
(список интерфейсов отображается в выводе route print)
Я просто добавил шлюз для обоих интерфейсов, Windows выдал мне предупреждение о конфликте шлюза, я просто сказал “ОК”, а затем добавил маршруты на конкретном интерфейсе, и это сработало для меня.
Вот что я достиг с помощью указанной выше команды route add
C:\Users\Administrator>route print
===========================================================================
Список интерфейсов
23...00 25 90 f5 61 66 ......Hyper-V Virtual Ethernet Adapter #3
21...00 25 90 f5 61 67 ......Hyper-V Virtual Ethernet Adapter #2
15...00 25 90 f5 61 69 ......Intel(R) I350 Gigabit Network Connection #4
12...00 25 90 f5 61 68 ......Intel(R) I350 Gigabit Network Connection
1...........................Software Loopback Interface 1
16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
18...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter
49...00 00 00 00 00 00 00 e0 Microsoft Teredo Tunneling Adapter
===========================================================================
IPv4 таблица маршрутизации
===========================================================================
Активные маршруты:
Сетевая цель Маска Шлюз Интерфейс Метрика
0.0.0.0 0.0.0.0 174.xx.xxx.xxx 174.xx.xxx.yyy 261
0.0.0.0 0.0.0.0 10.28.147.1 10.28.147.4 261
10.0.0.0 255.0.0.0 10.28.147.1 10.28.147.4 6
10.28.147.0 255.255.255.192 На линке 10.28.147.4 261
10.28.147.4 255.255.255.255 На линке 10.28.147.4 261
10.28.147.63 255.255.255.255 На линке 10.28.147.4 261
127.0.0.0 255.0.0.0 На линке 127.0.0.1 306
127.0.0.1 255.255.255.255 На линке 127.0.0.1 306
127.255.255.255 255.255.255.255 На линке 127.0.0.1 306
174.xx.xx.zzz 255.255.255.248 На линке 174.xx.xxx.yyy 261
174.xx.xxx.yyy 255.255.255.255 На линке 174.xx.xxx.yyy 261
174.xx.xx.255 255.255.255.255 На линке 174.xx.xxx.yyy 261
224.0.0.0 240.0.0.0 На линке 127.0.0.1 306
224.0.0.0 240.0.0.0 На линке 174.xx.xxx.yyy 261
224.0.0.0 240.0.0.0 На линке 10.28.147.4 261
255.255.255.255 255.255.255.255 На линке 127.0.0.1 306
255.255.255.255 255.255.255.255 На линке 174.xx.xxx.yyy 261
255.255.255.255 255.255.255.255 На линке 10.28.147.4 261
===========================================================================
Постоянные маршруты:
Сетевой адрес Маска Адрес шлюза Метрика
10.0.0.0 255.0.0.0 10.28.147.1 1
0.0.0.0 0.0.0.0 174.xx.xxx.xxx По умолчанию
0.0.0.0 0.0.0.0 174.xx.xxx.xxx 256
0.0.0.0 0.0.0.0 10.28.147.1 По умолчанию
0.0.0.0 0.0.0.0 10.28.147.4 По умолчанию
===========================================================================
IPv6 таблица маршрутизации
===========================================================================
===========================================================================
Постоянные маршруты:
Нет
C:\Users\Administrator>tracert -d 10.28.147.53
Отслеживание маршрута к 10.28.147.53 с максимальным количеством переходов 30
1 <1 мс <1 мс <1 мс 10.28.147.53
Отслеживание завершено.
C:\Users\Administrator>
Ответ или решение
Проблема с постоянными маршрутами в Windows может быть довольно запутанной, особенно когда существует несколько сетевых интерфейсов, работающих одновременно. Рассмотрим вашу конкретную ситуацию и разберем возможные причины, почему пакеты идут не по ожидаемому маршруту.
Контекст проблемы
Вы используете ноутбук, который подключен как по беспроводной сети (192.168.1.0/24), так и по проводной (10.10.10.0/24). Ваши маршруты настроены таким образом, чтобы интернет-трафик проходил через беспроводной маршрутизатор (192.168.1.1), а внутренний трафик использовал проводное соединение и фиксированный маршрут через шлюз 10.10.10.1.
Настройка маршрутов
Вы добавили несколько постоянных маршрутов для сетей, относящихся к диапазону 10.10.0.0/24, однако при выполнении команды tracert
вы наблюдаете, что пакеты направляются через 192.168.1.1 вместо ожидаемого 10.10.10.1.
Ваша таблица маршрутов показывает, что для сети 10.10.10.0 существует два маршрута:
- На основе маршрута по умолчанию (с шлюзом 10.10.10.1) с меньшим метрикой (11).
- Непосредственный маршрут (On-link) для 10.10.10.0 с метрикой 266.
Возможные причины проблемы
-
Метрики маршрутов: В Windows таблица маршрутов обрабатывает пакеты сначала по метрикам. Более низкая метрика имеет приоритет. В вашем случае, маршрут с 10.10.10.1 имеет метрику 11, а On-link маршрут (который фактически не требует маршрутизации и переходит к интерфейсу напрямую) имеет метрику 266. Следовательно, при восстановлении маршрутов, трафик может не использовать 10.10.10.1 как ожидалось, что, возможно, вызывает у вас путаницу.
-
Конфликт шлюзов: Вы отметили, что у вас есть конфликт шлюзов. Windows может выдавать предупреждение о конфликте, но это может привести к неожиданному поведению. Убедитесь, что вы правильно настраиваете маршруты и не позволяете системе запутаться в настройках, создавая несколько маршрутов для одной и той же сети с конфликтующими параметрами.
-
Необходимость перезапуска TCP/IP стека: Если вы вносили изменения в маршруты, возможно, они не были правильно применены до тех пор, пока не произойдет перезапуск сетевого стека. Это можно сделать, выполнив команду:
netsh int ip reset
Затем выполните перезагрузку системы для применения всех изменений.
-
Использование номера интерфейса: Ваша настройка маршрутов не всегда включает явную привязку к интерфейсу. Это может стать причиной того, что Windows не может корректно определить, через какой интерфейс должны идти маршруты. Для добавления маршрута с указанием интерфейса используйте следующие команды:
route add 10.10.60.0 mask 255.255.255.0 10.10.10.1 -p IF <номер_интерфейса>
Рекомендации по устранению неисправностей
- Убедитесь, что у вас нет конфликтующих маршрутов как среди постоянных маршрутов, так и среди динамически получаемых через DHCP.
- После внесения изменений в маршруты перезапустите сетевой стек, как указано выше.
- Проверьте текущие активные маршруты командой
route print
, чтобы убедиться, что все изменения были применены. - Если возможно, временно отключите беспроводное соединение и проверьте, будет ли трафик продолжать идти через правильный маршрут.
Это анализ вашей ситуации и рекомендации помогут лучше управлять постоянными маршрутами в Windows, улучшая функциональность вашей сети.