カスタムLinuxシステム(buildrootによるビルド)を備えたフリースケールimx6ボードでavahiを使用しています。
そこで、アドレスの割り当て (eth0:avahi) とホスト名の解決に avahi を使用します。私のフリースケール imx6 ボードは、別のサブネット マスク (eth0) で使用される「静的」ネットワーク アドレスを持つ別のインターフェイスも使用します。
また、別のインターフェイス eth0:0 を別のアドレスで作成しました (この 3 番目のイーサネット アドレスは、私の問題を理解するためにのみ作成されます)。
私のフリースケール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)
私のテストでは、freescale imx6 ボードに接続された PC を使用します。この PC からコマンド「avahi-browse -a -c -r -v」を起動します。
PC から avahi-browes を起動すると、フリースケール imx6 ボードのホスト名 (name.local) が表示されますが、eth0:avahi ではなくインターフェイス eth0:0 のアドレスに関連付けられています。インターフェイス eth0:0 を削除すると、freescale imx6 ボードのホスト名が eth0 に関連付けられます。
私の PC から、eth0、eth0:avahi アドレス、および eth0:0 (アクティブ化されている場合) を使用して、フリースケール imx6 ボードに ping を実行できます。
私の問題: コマンド「avahi-browse -a -c -r -v」を起動したときに、フリースケール imx6 ボードが eth0:avahi に関連付けられたアドレスを返すようにしたいのは、現在、フリースケール imx6 ボードが最後に構成されたインターフェイスを返すためです。 (私の例では eth0:0) その方法を知っていますか?
ご回答ありがとうございます。