Problema de resolução de DNS após a atualização para 17.10

1

Após a atualização para 17.10, o Ubuntu está usando o systemd-resolved para lidar com todas as solicitações DNS, e ele tem um ouvinte stub, mas o ouvinte só aceita solicitações do local. Estou usando um VPS Vultr, foi o que aconteceu.

root@00:~# nslookup www.google.com 127.0.0.53
Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find www.google.com: SERVFAIL

No errlog:

Dec 19 01:20:24 00.tokyo.jp.mole systemd-resolved[684]: Got packet on unexpected IP range, refusing.

Eu tentei descarregar o pacote udp e aqui está o resultado:

root@00:~# tcpdump -i lo udp port 53 -vv -X
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
01:20:24.230349 IP (tos 0x0, ttl 64, id 24187, offset 0, flags [none], proto UDP (17), length 60)
    45.xx.xx.xx.vultr.com.60360 > 127.0.0.53.domain: [bad udp cksum 0xbf8c -> 0xe032!] 58738+ A? www.google.com. (32)
    0x0000:  4500 003c 5e7b 0000 4011 5ce3 2dxx xxxx  E..<^{..@.\.-...
    0x0010:  7f00 0035 ebc8 0035 0028 bf8c e572 0100  ...5...5.(...r..
    0x0020:  0001 0000 0000 0000 0377 7777 0667 6f6f  .........www.goo
    0x0030:  676c 6503 636f 6d00 0001 0001            gle.com.....
01:20:24.230963 IP (tos 0x0, ttl 64, id 25931, offset 0, flags [DF], proto UDP (17), length 40)
    127.0.0.53.domain > localhost.60360: [bad udp cksum 0xfe5b -> 0xae9c!] 58738 ServFail [0q] 0/0/0 (12)
    0x0000:  4500 0028 654b 4000 4011 d743 7f00 0035  E..(eK@[email protected]
    0x0010:  7f00 0001 0035 ebc8 0014 fe5b e572 8182  .....5.....[.r..
    0x0020:  0000 0000 0000 0000                      ........

Ele mostra que está enviando a solicitação usando o IP público em vez de 127.0.0.1, portanto, systemd-resolved se recusa a responder. Usar systemd-resolve www.google.com poderia obter o resultado e mostrar que o serviço está funcionando normalmente.

root@00:~# systemd-resolve www.google.com
www.google.com: 216.58.196.228
                2404:6800:400a:806::2004

-- Information acquired via protocol DNS in 6.6ms.
-- Data is authenticated: no

Eu alterei temporariamente o link simbólico de /etc/resolv.conf para /run/systemd/resolve/resolv.conf para que o servidor possa ter acesso à Internet, mas quero saber como posso alterar o IP solicitante para corrigir esse problema?

    
por B. Zhang 19.12.2017 / 02:38

1 resposta

0

Acabei de ter o mesmo problema com um upgrade do Ubuntu 16.04 para o servidor Ubuntu 18.04. Minha solução foi verificar minhas configurações de firewall e excluir o dispositivo de loopback lo do mascaramento dos IPs de origem (D'oh!).

Certifique-se de verificar suas rotas e sua mágica de roteamento do firewall como POSTROUTING {MASQUERADE; }. Ele estava funcionando antes, já que o antigo resolvedor de DNS não era tão exigente quanto os IPs de origem.

    
por Roger Lehmann 20.08.2018 / 22:48