Назад | Перейти на главную страницу

неправильное разрешение localhost в Linux

$ dig @127.0.0.1 localhost  
$ dig @127.0.0.1 localhost.

;localhost.         IN  A
;; ANSWER SECTION:
localhost.      604800  IN  A   127.0.0.1
;; AUTHORITY SECTION:
localhost.      604800  IN  NS  localhost.
;; ADDITIONAL SECTION:
localhost.      604800  IN  AAAA    ::1
ping localhost.

$ ping localhost.
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.058 ms

и:

$ ping localhost 
PING localhost.pl (46.105.234.97) 56(84) bytes of data.

$ whois localhost
No whois server is known for this kind of object.

$ whois localhost.pl

DOMAIN NAME:           localhost.pl
registrant type:       organization
nameservers:           ns1.goo.pl. [178.33.152.98]
                       ns2.goo.pl. [94.23.111.174]

$ cat /etc/hosts
127.0.0.1   localhost

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1


$ cat /etc/host.conf 
# The "order" line is only used by old versions of the C library.
order bind,hosts
multi on

почему моя ВНУТРЕННЯЯ сеть разрешает localhost на общедоступный IP ???

редактировать:

$ cat  /etc/nsswitch.conf 

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

#hosts: dns files
#networks: files

hosts: files dns
networks: files dns

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

почему установка DNS поверх файлов имеет значение, особенно когда я устанавливаю зону localhost и разрешаю возвратную петлю (127.0.0.1)?

$ ping localhost   # hosts: files dns 
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.149 ms

как я могу избавиться от / etc / hosts? и использовать только названный сервис? или его существование сильно связано с работой сервера ???

Чтобы помочь нам понять, почему существует ваша проблема, можете ли вы объяснить, почему вы не хотите использовать локальные файлы для разрешения localhost? - SmallLoanOf1M

задний план:

Я установил хост на nginx "host.domain.tld" один из многих, кроме одного, действующего как прокси для "webmin" с определением ниже

    location / { 
        proxy_redirect http://host.domain.tld:10000/ https://host.domain.tld/; 
        proxy_pass http://localhost:10000/;
        proxy_set_header Host $host;
    }

привязка webmin к 127.0.0.1:10000

однажды я захожу на страницу и получаю 504 - таймаут шлюза, поэтому я начинаю копаться в журналах, что не так, почему я не вижу свою страницу: D

в журналах я видел, как восходящий поток подключает "какой-то странный публичный IP" - это было похоже на человека в средней атаке: D

дополнительные испытания показали, что ping направляет на этот общедоступный ip "localhost" .pl, поэтому я искал, как и почему мой сервер меня обманывает: D

Из того, что я прочитал выше, похоже, что вы хотите полностью игнорировать файл / etc / hosts при попытке разрешения localhost на этом сервере. В общем, localhost должен разрешать только что машины localhost, который статически находится в сети 127.0.0.0/8. Имея это в виду, любой стимул к использованию DNS для разрешения localhost был бы технически возможным, но в конечном итоге бессмысленным. Вы только рискуете указать на локальный хост, который на самом деле не 127.0.0.1, через перенаправленный DNS.

Возможно, вы пытаетесь указать localhost в качестве сервера имен в самом поле DNS для его собственного разрешения? Это все еще возможно, если localhost определен в / etc / hosts, поскольку названная служба может просто прослушивать запросы на localhost (и это не имеет ничего общего с тем, как разрешается сам localhost).

Хотя это кажется ответом на основной вопрос, я несколько сомневаюсь, что в данном случае это удовлетворительно. Чтобы помочь нам понять, почему существует ваша проблема, можете ли вы объяснить, почему вы не хотите использовать локальные файлы для разрешения localhost?