После обновления до 17,10, Ubuntu использует systemd-разрешенный для обработки всех запросов DNS, и это имеет тупикового слушателя, но слушатель только принимает запросы от локального. Я использую Vultr VPS, это - то, что произошло.
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
В errlog:
Dec 19 01:20:24 00.tokyo.jp.mole systemd-resolved[684]: Got packet on unexpected IP range, refusing.
Я пытался вывести udp пакет и здесь являюсь результатом:
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@.@..C...5
0x0010: 7f00 0001 0035 ebc8 0014 fe5b e572 8182 .....5.....[.r..
0x0020: 0000 0000 0000 0000 ........
Это показывает, что отправляет запрос с помощью общедоступного IP вместо 127.0.0.1, так systemd-разрешенный мусор для ответа. Используя systemd-resolve www.google.com
мог получить результат, и он показывает, что сервис функционирует обычно.
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
Я временно изменил символьную ссылку /etc/resolv.conf
кому: /run/systemd/resolve/resolv.conf
таким образом, сервер мог иметь доступ к Интернету, но я хочу знать, как я могу изменить IP запроса для решения этой проблемы?
У меня просто была та же проблема с обновленной Ubuntu 16.04 к серверу Ubuntu 18.04. Мое решение состояло в том, чтобы проверить мои настройки брандмауэра и исключить устройство закольцовывания lo
от подмены исходного дюйм/с (D'oh!).
Обязательно проверьте Ваши маршруты и Ваше волшебство маршрутизации брандмауэра как POSTROUTING {ПОДМЕНА;}. Это работало, прежде чем так как старого DNS сопоставитель не был так же придирчив с исходным дюйм/с, которым это кажется.