У меня есть таблица маршрутов ниже на машине Vista, я вижу ту же проблему и на Windows 7.
Если я пингую 193.181.14.10, я ожидаю, что ОС будет соблюдать метрику, и выберу либо
0.0.0.0 0.0.0.0 10.1.1.254 172.20.22.14 3
или
0.0.0.0 0.0.0.0 172.20.22.1 172.20.22.14 3
Оказывается, он действительно решил использовать
0.0.0.0 0.0.0.0 10.1.1.254 10.1.1.55 30
маршрут. Так что, если я удалю этот маршрут из таблицы, он сработает. Под работой я имею в виду, что пакеты отправляются через интерфейс 172.20.22.14, а не через интерфейс 10.1.1.55.
Я что-то упускаю или это ошибка ОС?
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.1.1.254 172.20.22.14 3
0.0.0.0 0.0.0.0 10.1.1.254 10.1.1.55 30
0.0.0.0 0.0.0.0 172.20.22.1 172.20.22.14 3
10.1.1.0 255.255.255.0 On-link 10.1.1.55 30
10.1.1.0 255.255.255.0 On-link 172.20.22.14 3
10.1.1.1 255.255.255.255 On-link 10.1.1.55 30
10.1.1.1 255.255.255.255 On-link 172.20.22.14 3
10.1.1.55 255.255.255.255 On-link 10.1.1.55 30
10.1.1.55 255.255.255.255 On-link 172.20.22.14 3
10.1.1.255 255.255.255.255 On-link 10.1.1.55 30
10.1.1.255 255.255.255.255 On-link 172.20.22.14 3
61.27.12.22 255.255.255.255 10.1.1.254 10.1.1.55 2
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
172.20.22.0 255.255.255.0 On-link 172.20.22.14 3
172.20.22.14 255.255.255.255 On-link 172.20.22.14 3
172.20.22.255 255.255.255.255 On-link 172.20.22.14 3
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.1.55 30
224.0.0.0 240.0.0.0 On-link 172.20.22.14 3
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.1.55 30
255.255.255.255 255.255.255.255 On-link 172.20.22.14 3
===========================================================================
Persistent Routes:
None
У меня такая же проблема с Server 2008. Я разместил здесь подробный вопрос. Windows Server 2008 игнорирует постоянный маршрут с более низкой метрикой.
Похоже, Microsoft пошла своим путем, когда переработала новую реализацию стека TCP.
Решение, предложенное техподдержкой Microsoft, состоит в том, чтобы настроить сетевую карту на игнорирование всех правил маршрутизации по умолчанию и воссоздать все правила маршрутизации вручную в виде постоянных маршрутов. Это отстой, но это может быть единственный выход.
Чтобы игнорировать маршруты по умолчанию:
netsh interface ipv4 set interface [ID] ignoredefaultroutes=enabled
Чтобы получить идентификатор своей сетевой карты:
netsh interface ipv4 show interface
Это может помочь: https://superuser.com/a/455968/253137
Вкратце: Центр управления сетями и общим доступом, Изменить настройки адаптера, Дополнительно, Дополнительные настройки, а затем переместить адаптер для 172.20.22.14 вверх в списке.
netsh interface ipv4 set interface "Local Area Connection" metric=999