我在带有自定义 Linux 系统(由 buildroot 构建)的 freescale imx6 板上使用 avahi。
所以我使用 avahi 进行地址分配(eth0:avahi)和主机名解析。我的飞思卡尔 imx6 板还使用另一个接口,该接口具有在其他子网掩码 (eth0) 中使用的“静态”网络地址。
我还使用其他地址创建了另一个接口 eth0:0 (创建第三个以太网地址只是为了理解我的问题)
我的飞思卡尔 imx6 板的 ifconfig :
eth0 Link encap:Ethernet HWaddr 1E:ED:19:27:1A:B3
inet addr:192.168.1.212 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3037485 errors:0 dropped:0 overruns:0 frame:0
TX packets:12312042 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:213265042 (203.3 MiB) TX bytes:1150418317 (1.0 GiB)
eth0:0 Link encap:Ethernet HWaddr 1E:ED:19:27:1A:B3
inet addr:134.124.45.23 Bcast:134.124.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0:avahi Link encap:Ethernet HWaddr 1E:ED:19:27:1A:B3
inet addr:169.254.6.124 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:484 errors:0 dropped:0 overruns:0 frame:0
TX packets:484 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32284 (31.5 KiB) TX bytes:32284 (31.5 KiB)
对于我的测试,我使用与我的飞思卡尔 imx6 板连接的电脑。我从这台电脑启动命令“avahi-browse -a -c -r -v ”。
当我从电脑启动 avahi-browes 时,我可以看到 freescale imx6 板的主机名 (name.local),但它与接口 eth0:0 而不是 eth0:avahi 的地址关联。当我删除接口 eth0:0 时,飞思卡尔 imx6 板的主机名与 eth0 关联。
在我的电脑上,我可以使用 eth0、eth0:avahi 地址和 eth0:0(激活时)对 freescale imx6 板执行 ping 操作
我的问题:当我启动命令“avahi-browse -a -c -r -v”时,我的飞思卡尔 imx6 板返回与 eth0:avahi 关联的地址,因为目前,我的飞思卡尔 imx6 板返回最后配置的接口(在我的例子中,eth0:0)你知道该怎么做吗?
谢谢您的回答,