Дано:
1. Mikrotik, на котором поднят VPN-туннель до удалённой сети. В удалённой сети несколько подсетей, к каждой из них прописаны маршруты в Routes.
2. Домашняя сеть, которая маршрутизируется этим же микротиком. Несколько подсетей, доступ к удалённым есть с любого домашнего хоста.
3. Компьютер на W10 Pro.
Ситуация. Понадобилось получить доступ к ещё одной удалённой подсети - 169.254.0.0/24 и хосту в ней 169.254.0.252. Прописал Routes на микротике, хост в подсети пингуется и доступен с любого внутреннего хоста с Linux из любой подсети, да даже с управляемых коммутаторов пингуется. Выворобушкывается только W10 - не пингуется, "общий сбой", tracert до хоста заканчивается ошибкой 1231. Подозреваю, что дело именно в W10, т.к. с любого другого хоста под другими ОС такой проблемы нет. Куда копать - непонятно. Гуглил, но сходу ничего толкового не нашлось.
На W10 ставил и статический IP и через DHCP, роутер перезагружал, комп тоже. На компе две сетевые карты, в разных подсетях. Первая подключена через управляемый коммутатор к сети, вторая напрямую к микротику. Постоянно используется только одна, вторая всегда отключена, но, тем не менее, пробовал и с одной и с другой сетевой достучаться до 169.254.0.0/24, толку нет.
The non-forwarding rule means that hosts may assume that all
169.254/16 destination addresses are "on-link" and directly
reachable. The 169.254/16 address prefix MUST NOT be subnetted.
This specification utilizes ARP-based address conflict detection,
which functions by broadcasting on the local subnet. Since such
broadcasts are not forwarded, were subnetting to be allowed then
address conflicts could remain undetected.
> Подсети link-local не маршрутизируются: маршрутизаторы не должны отправлять пакеты с адресами link-local в другие сети.
> Для IPv4 в качестве link-local адресов выделена подсеть 169.254.0.0/16 (за исключением первой и последней /24 подсети, зарезервированных для этого же на будущее). Согласно RFC 3927 (2.1), для link-local адресов зарезервирован блок с 169.254.1.0 по 169.254.254.255.
Вот дали людям 10.0.0.0/8, для любой локалки просто с головой, но нет, давайте будем не как все и юзать что-то этакое :)
Некоторые индивидуумы вообще юзают в локалке адреса из коммерческого пула, например 1.0.0.0/8
Если из подсети не доступна только Windows 10, а другие устройства в ней доступны, то проверяйте Firewall на Windows, как правило они отключают сейчас пинг (Особенно это видно на серверах)
route add -p 169.254.0.0 mask 255.255.255.0 ip
где ip - адрес самой Windows 10, либо просто пропишите адрес из этой сети + маску в настройках сетевого подключения как дополнительный