我有几个带有IPv4链路本地地址的以太网接口,这意味着我在不同接口上有多条到169.254.0.0/16
的路由。 (这些接口不一定在同一个第2层网络上,因此不同接口上的不同系统可以使用此范围内的相同IP。)
当发送UDP数据包到169.254.0.0/16
中的地址时,我无法选择使用哪个接口来使用Rust的标准库UdpSocket
发送数据包,但是没有指定接口,很可能使用错误的。
如何从特定接口发送UDP数据包?
(IPv6 Link-Local fe80::/64
有类似的问题,但SocketAddrV6
有一个scope_id
,可用于设置要使用的接口的索引。
答案 0 :(得分:2)
假设您知道哪个本地IP地址属于哪个网络,您可以使用bind
将套接字绑定到该IP地址。