Android dhcp atribuindo servidor dns falso

3

Eu tenho tido problemas com dispositivos Android e pesquisas de DNS na minha rede Wi-Fi, então eu fiz algumas pesquisas e descobri que o Android está atribuindo o que parece ser um endereço ipv6 link-local aleatório no slot DNS1:

shell@htc_m8wl:/ $ getprop net.dns1                                            
fe80::3246:9aff:fe00:3108
shell@htc_m8wl:/ $ getprop net.dns2                                            
192.168.55.5

Eu achei estranho, então eu decidi fazer um tcp dump do meu servidor dhcp e obtive estes resultados:

# tcpdump -vv -n -i epair2b port bootps or port bootpc    
18:18:13.285502 IP (tos 0x0, ttl 64, id 49166, offset 0, flags [none], proto UDP (17), length 342)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 00:ee:bd:c1:7e:db, length 314, xid 0xdb33bc98, Flags [none] (0x0000)
      Client-Ethernet-Address 00:ee:bd:c1:7e:db
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message Option 53, length 1: Request
        Client-ID Option 61, length 7: ether 00:ee:bd:c1:7e:db
        Requested-IP Option 50, length 4: 192.168.55.79
        MSZ Option 57, length 2: 1500
        Vendor-Class Option 60, length 12: "dhcpcd-5.5.6"
        Hostname Option 12, length 24: "android-a440c6464dfcde43"
        Parameter-Request Option 55, length 9: 
          Subnet-Mask, Static-Route, Default-Gateway, Domain-Name-Server
          Domain-Name, BR, Lease-Time, RN
          RB
18:18:13.285886 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
192.168.55.5.67 > 192.168.55.79.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0xdb33bc98, Flags [none] (0x0000)
      Your-IP 192.168.55.79
      Client-Ethernet-Address 00:ee:bd:c1:7e:db
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message Option 53, length 1: ACK
        Server-ID Option 54, length 4: 192.168.55.5
        Lease-Time Option 51, length 4: 60000
        Subnet-Mask Option 1, length 4: 255.255.255.0
        Default-Gateway Option 3, length 4: 192.168.55.1
        Domain-Name-Server Option 6, length 4: 192.168.55.5
        Domain-Name Option 15, length 23: "local.my.domain"

Como você pode ver, eu não estou anunciando o ipv6 link-local para os clientes, e o Android parece ser o único dispositivo afetado. Os desktops Linux, os laptops OSX e os iPhones parecem funcionar bem.

Normalmente eu diria que em uma falha de pesquisa com o ipv6 link-local que o Android iria para o registro DNS2, que ele mostra como meu servidor DNS anunciado. Mas, não parece que todas as consultas DNS do telefone falham enquanto conectado ao WiFi.

Eu queria saber se havia uma opção de DHCP que eu preciso definir na configuração do meu servidor para dizer ao Android para lidar com isso muito bem, em vez de se matar. Depois de pesquisar muito, não consegui encontrar pessoas com o mesmo problema que a minha rede, por isso estou assumindo que, neste momento, é a configuração do meu servidor.

# dhcpd.conf                                                                                                                                                                                                             
option domain-name "local.my.domain";
option domain-name-servers 192.168.55.5;

include "/etc/namedb/dhcpupdate.key";

ddns-updates on;
ddns-update-style interim;
ignore client-updates;
update-static-leases on;

authoritative;

zone local.my.domain. {
    primary 127.0.0.1;
    key "dhcpupdate";
}
zone 55.168.192.in-addr.arpa. {
    primary 192.168.55.5;
    key "dhcpupdate";
}

subnet 192.168.55.0 netmask 255.255.255.0 {
  range 192.168.55.100 192.168.55.240;
  default-lease-time 60000;
  max-lease-time 720000;
  option routers 192.168.55.1;
  ddns-domainname "local.my.domain.";
  ddns-rev-domainname "55.168.192.in-addr.arpa.";
}

group {
  option domain-name "local.my.domain";
  ddns-domainname "local.my.domain.";
  ddns-rev-domainname "55.168.192.in-addr.arpa.";

  # Static hosts
  host john-phone {
    hardware ethernet 00:ee:bd:c1:7e:db;
    fixed-address 192.168.55.79;
    ddns-hostname "john-phone";
    option host-name "john-phone";
  }
}

Eu tenho mais hosts estáticos definidos, mas eles são praticamente idênticos, apenas diferenças são IPs e endereços Ethernet.

    
por John A 02.05.2015 / 00:37

1 resposta

0

O problema parece ser que meu roteador estava transmitindo um servidor DNS inválido usando as opções de configuração automática de IPv6. Desativar o IPv6 no meu roteador parece ter corrigido o problema, o que é bom porque o meu ISP ainda não suporta o IPv6.

    
por 26.05.2015 / 21:24