Когда я скручиваю недопустимый домен, я получаю ответ от моего собственного веб-сервера. Ubuntu 16.04.5, curl 7.47.0
Например:
root@l ~ # curl -v foobar.x
* Rebuilt URL to: foobar.x/
* Trying 148.X.X.X...
* Connected to foobar.x (148.X.X.X) port 80 (#0)
> GET / HTTP/1.1
148.XXX - это общедоступный IP-адрес моего сервера.
Однако я получаю ожидаемый результат с nslookup + host:
root@l ~ # nslookup foobar.x
Server: 213.133.99.99
Address: 213.133.99.99#53
** server can't find foobar.x: NXDOMAIN
root@l ~ # host foobar.x
Host foobar.x not found: 3(NXDOMAIN)
/ etc / resolv .conf:
root@l ~ # cat /etc/resolv.conf
### Hetzner Online GmbH installimage
# nameserver config
#nameserver 1.1.1.1
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 2a01:4f8:0:1::add:9898
nameserver 2a01:4f8:0:1::add:9999
nameserver 2a01:4f8:0:1::add:1010
Итак, как curl разрешает имена хостов и почему по умолчанию он использует недопустимые для моего собственного IP-адреса?
root@l /etc # telnet foobar.x 80
Trying 148.251.19.39...
Connected to foobar.x.sui.li.
Хорошо, похоже, что мое доменное имя каким-то образом автозаполняется. * .sui.li имеет запись DNS с подстановочными знаками. Имя хоста - l.sui.li - Тем не менее, я не знаю, как этого избежать.
На самом деле не нашел причину, по которой он добавляет мой базовый домен (может быть, потому что это также обратная запись DNS для хоста? Idk, и мне все равно ...)но закончилось добавлением недопустимой записи ничего не искать
в /etc/resolv.conf
. Я предполагаю, что теперь он пытается разрешить foobar.x, foobar.x.nothing и терпит неудачу, как и предполагалось.