У меня есть несколько интерфейсов Ethernet с локальными адресами IPv4, что означает, что у меня есть несколько маршрутов к 169.254.0.0/16
на разных интерфейсах.(Эти интерфейсы не обязательно находятся в одной сети уровня 2, поэтому один и тот же IP-адрес в этом диапазоне может использоваться разными системами на разных интерфейсах.)
При отправке пакета UDP на адрес в 169.254.0.0/16
Iне могу выбрать, какой интерфейс будет использоваться для отправки пакета, используя стандартную библиотеку Rust UdpSocket
, но без указания интерфейса очень вероятно, что он будет использовать неправильный.
Как я могу отправить пакет UDP изконкретный интерфейс?
(IPv6 Link-Local fe80::/64
имеет аналогичную проблему, но SocketAddrV6
имеет scope_id
, который можно использовать для установки индекса используемого интерфейса).