DNS-SD (Avahi) na interface de rede Bluetooth (BNEP)

1

Estou tentando publicar os serviços discover dns-sd na interface de rede BNEP. Eu tenho um sistema Linux e um telefone Android. Eu habilitei o tethering do meu telefone Android e fiz o sistema Linux se conectar à rede BNEP. Depois de fazer a configuração, consegui fazer ping entre os dois dispositivos.

Meu requisito é publicar um serviço de DNS-SD do Sistema Linux e descobrir isso no dispositivo Android. Estou usando o Avahi para publicar o serviço do sistema Linux e usar um aplicativo do Android para navegar pelos serviços.

O problema que estou enfrentando é que o serviço é publicado localmente no sistema Linux, mas não na rede BNEP (porque quando iniciei uma pesquisa no Linux para o serviço publicado no Linux, a descoberta foi bem-sucedida)

Detalhes do comando de rota

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

Capturei o tcpdump quando iniciei a descoberta do telefone Android para verificar se a resposta está chegando ao telefone. E descobri que a mensagem está chegando corretamente.

IP do telefone Android: 192.168.44.1

Dispositivo Linux: mx6q.local

Detalhes do 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)

Arquivo de configuração Avahi

[server]
domain-name=local
use-ipv4=yes
use-ipv6=no
[wide-area]
enable-wide-area=yes

Acho que falta alguma configuração do sistema Linux que não consegui identificar. Por favor, ajude-me.

N.B: 1. Quando publico um serviço DNS-SD a partir do dispositivo Android, posso descobrir o mesmo no sistema Linux, mas o inverso é o problema. 2. O mesmo conjunto está trabalhando com a interface de rede Wifi, Ethernet e USB (rndis)

    
por Saby 06.03.2017 / 10:14

0 respostas