Я пытаюсь опубликовать службы Discover dns-sd в сетевом интерфейсе BNEP. У меня есть система Linux и один телефон Android. Я включил модем с моего телефона Android и подключил систему Linux к сети BNEP. После настройки я смог пинговать между обоими устройствами.
Мое требование состоит в том, чтобы опубликовать службу DNS-SD из системы Linux и обнаружить ее на устройстве Android. Я использую Avahi для публикации сервиса из системы Linux и использую приложение из Android для просмотра сервисов.
Проблема, с которой я сталкиваюсь, заключается в том, что служба публикуется локально в системе Linux, но не в сети BNEP (потому что, когда я начал поиск в Linux для службы, опубликованной в Linux, обнаружение прошло успешно)
Детали команды маршрута
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.44.1 0.0.0.0 UG 0 0 0 bnep0
172.17.0.0 * 255.255.0.0 U 0 0 0 eth0
192.168.44.0 * 255.255.255.0 U 0 0 0 bnep0
192.168.44.1 * 255.255.255.255 UH 0 0 0 bnep0
192.168.203.0 * 255.255.255.0 U 0 0 0 inc-scc
192.168.204.0 * 255.255.255.0 U 0 0 0 inc-adr3
224.0.0.0 * 240.0.0.0 U 0 0 0 bnep0
Я запечатлел tcpdump, когда запустил обнаружение с телефона Android, чтобы проверить, приходит ли ответ на телефон. И я обнаружил, что сообщение приходит правильно.
IP-телефон Android: 192.168.44.1
Устройство Linux: mx6q.local
Детали Tcpdump
192.168.44.1.mdns > 224.0.0.251.mdns: 0 PTR (QM)? _services._dns-sd._udp.local. (46)
04:26:58.158918 IP (tos 0x0, ttl 255, id 16701, offset 0, flags [DF], proto UDP (17), length 169)
mx6q.local.mdns > 224.0.0.251.mdns: 0*- [0q] 4/0/0 _services._dns-sd._udp.local. PTR _workstation._tcp.local., _services._dns-sd._udp.local. PTR _sftp-ssh._tcp.local., _services._dns-sd._udp.local. PTR _ssh._tcp.local., _services._dns-sd._udp.local. PTR _udisks-ssh._tcp.local. (141)
192.168.44.1.mdns > 224.0.0.251.mdns: 0 PTR (QM)? _services._dns-sd._udp.local. (46)
04:26:55.154939 IP (tos 0x0, ttl 255, id 16698, offset 0, flags [DF], proto UDP (17), length 169)
mx6q.local.mdns > 224.0.0.251.mdns: 0*- [0q] 4/0/0 _services._dns-sd._udp.local. PTR _workstation._tcp.local., _services._dns-sd._udp.local. PTR _sftp-ssh._tcp.local., _services._dns-sd._udp.local. PTR _ssh._tcp.local., _services._dns-sd._udp.local. PTR _udisks-ssh._tcp.local. (141)
Avahi Config file
[server]
domain-name=local
use-ipv4=yes
use-ipv6=no
[wide-area]
enable-wide-area=yes
Я думаю, что в системе Linux отсутствует какая-то конфигурация, которую я не могу определить. Пожалуйста, помогите мне.
NB: 1. Когда я публикую сервис DNS-SD с устройства Android, я могу обнаружить то же самое в системе Linux, но проблема заключается в обратном. 2. Тот же набор работает с сетевым интерфейсом Wi-Fi, Ethernet и USB (rndis)