Почему Windows 10 отправляет IP пакеты, предназначенные для локальной сети, на шлюз по-умолчанию?
Заметил интересное поведение IP маршрутизации в Windows 10.
У меня компьютер подключен к локальной сети и на нем выставлен IP 10.10.10.1.
Компьютер физически подключен в свитч, и к этому же свитчу подключен роутер, с адресом 10.10.10.254.
Соответственно, роутер у меня прописан шлюзом по-умолчанию.
По работе, мне приходится настраивать некоторое оборудование, которое имеет адреса с сети 192.168.0.0/24. Для это дополнительным адресом на моем компьютере прописан адрес 192.168.0.254/24 и я могу подключать это оборудование к свитчу, и напрямую соединяться к нему.
Вся схема прекрасно работает, за исключением одной ситуации. Если я обращаюсь к адресу из сети 192.168.0.0/24, которого нет ни на одном устройстве, мой компьютер отправляет 3 ARP REQ пакета, и не получив никакого ответа, отправляет все пакеты на роутер. На роутере выключен proxy arp и включен arp filter.
Что самое интересное, такое поведение наблюдается только на Windows 10. На двух разных компьютерах. Остальные компьютеры подключенные по той-же схеме с Windows 7 и Windows XP работают нормально.
Так вот вопрос: Как заставить Windows 10 не отправлять локальные пакеты на роутер?
Александр Карабанов: Не покажу весь дамп, так как выкусывать интересующий трафик мне лениво. Но в общих чертах скажу что пока выяснил. По порядку:
1. А локальной ARP таблице нет записи про адрес 192.168.0.1.
2. Я запускаю ping 192.168.0.1 -t.
Результат:
---------------
Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Ответ от 192.168.0.254: Заданный узел недоступен.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
---------------
3. Когда пришел ответ "Ответ от 192.168.0.254: Заданный узел недоступен.", на роутере я вижу:
7.257429 XX:XX:XX:XX:XX:XX -> ARP 62 Who has 192.168.0.1? Tell 10.10.10.1
Ответа на этот запрос я не получаю. То-есть как и должно быть. И так три раза.
4. Когда появляется ответ: "Превышен интервал ожидания для запроса.", у меня в ARP таблице появляется запись "192.168.0.1 00-00-00-00-00-00 недопустимый". И после этого, мой Windows начинает слать эти пакеты на роутер:
8.270074 10.10.10.1 -> 192.168.0.1 ICMP 76 Echo (ping) request id=0x0001, seq=44/11264, ttl=128
Александр Карабанов: Выключен. Сам, собственноручно отключил в реестре. И на линуксе тоже.
Заметил еще одно: если запускаю пинг на любой адрес из сети 10.10.10.0/24, которого не существует, то картина та-же самая.
Три арпа бродкастом и потом все пакеты на 10.10.10.254. В дампах я никаких ICMP Redirect найти не могу. Самое инстересно, что в семерке и в ХР все работает как надо. Это только в десятке. И похоже случилось после одного из очередных обновлений. Раньше такой болезни не замечали.
Поди работа CIFS/Samba который ишет расшаренные папки/принтера по всем компьютерам локальной сети.
Роутер - такой же обычный компьютер в представлении Windows.
Если проблема в вин10 то виновата сетевая служба маршрутизации - что там есть отдельная настройка для такого поведения я сомневаюсь. Скорее всего это сделано для обхода блокировок рекламы или шпионажа и поэтому не настраивается.