localhost неверный IP-адрес
У меня странная проблема. Это началось с postgresql-9.3 не устанавливается. Я нашел это не может найти localhost
,
Я проверил /etc/hosts
и это имеет localhost
правильно как 127.0.0.1
Но когда я
ping localhost
я получил
PING localhost.Home (198.105.244.21) 56(84) bytes of data.
когда я
whois 198.105.244.21
Я получаю "SearchGuide Inc" в Колорадо
Как мне заставить мою систему правильно распознавать localhost?
Я бегу верный Тар 14.04.2 лтс
Вот мой /etc/hosts
файл:
127.0.0.1 localhost
127.0.0.1 ourcomp
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
У меня была опечатка ранее. Сейчас это исправлено.
Вот вывод nslookup localhost
:
nslookup localhost
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: localhost.Home
Address: 198.105.244.21
Name: localhost.Home
Address: 198.105.254.21
Выход из iptables -L
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ufw
статус неактивен
/etc/nsswitch
пусто
содержание /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.1.1
search Home
ifconfig
:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:46904 errors:0 dropped:0 overruns:0 frame:0
TX packets:46904 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2538766 (2.5 MB) TX bytes:2538766 (2.5 MB)
p5p1 Link encap:Ethernet HWaddr f0:4d:a2:9b:3b:b9
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:1b:b1:81:06:3d
inet addr:192.168.0.14 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:b1ff:fe81:63d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8968 errors:0 dropped:0 overruns:0 frame:0
TX packets:7779 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4212369 (4.2 MB) TX bytes:1142565 (1.1 MB)
1 ответ
Проблема оказалась в отсутствии соответствующих записей в /etc/nsswitch
конфигурационный файл.
При преобразовании имен хостов в IP-адрес библиотека GNU C libc
использует этот файл для получения источников и порядка, в котором будут запрашиваться Имя базы данных /etc/nsswitch.conf
участвует здесь hosts
, Есть также много других баз данных, понимаемых libc
например passwd
, protocols
и т.п.
Базы данных упоминаются в начале строки, за которой следует имя запрашиваемых источников. Например, необходимая конфигурация для hosts
База данных (используется для нахождения IP-адреса хоста) может иметь вид:
hosts: files mdns4 dns
files
указывает, что сначала соответствующие файлы конфигурации в/etc
каталог, который будет запрашиваться первым, следовательно/etc/hosts
запрашивается первымЗатем mDNS (многоадресный DNS) используется для проверки возможности получения IP-адреса.
Затем DNS, т. Е. Серверы имен запрашиваются для IP-адреса.
Как твой /etc/nsswitch
Конфигурационный файл не содержит ничего, я бы посоветовал вам добавить в файл записи по умолчанию:
passwd: compat
group: compat
shadow: compat
hosts: files mdns4 mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Проверьте man 5 nsswitch.conf
чтобы получить больше идеи.