У меня были проблемы с этим какое-то время, и я попробовал все, что знаю, поэтому решил, что пришло время обратиться за помощью.
Любое редактирование, которое я делаю в /etc/hosts
, просто не работает.
Пример:
julian@ifrit:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ifrit
192.168.1.100 dev.julianfernand.es
В приведенном выше примере, когда я получаю доступ к dev.julianfernand.es
(этого не существует), он должен загружаться из [ 1117] 192.168.1.100
.
Если я пингуюсь, все работает отлично. Однако когда я захожу на dev.julianfernand.es
с помощью Google Chrome или Firefox, это не так.
Я просто не могу перезагрузить компьютер. Это совсем не продуктивно. Перезапуск сетевой службы не работает, также как и для очистки кэша (даже внутреннего DNS-кэша Chrome).
1112 У кого-нибудь есть идея? Это происходит с элементарной ОС (на основе Ubuntu 12.04) и Ubuntu 13.10 (ежедневно). Еще не пробовал ни с какой другой версией.
PS: если это так, у меня на этом компьютере работает сервер NGINX с PHP-FPM и MySQL.
Заранее спасибо :))
Следующее работало для меня: добавить
addn-hosts=/etc/hosts
в
/etc/NetworkManager/dnsmasq.d/hosts.conf
kill dnsmasq и
service NetworkManager restart
В Ubuntu, если вы хотите очистить кэш DNS, вам нужно перезапустить демон nscd
.
Установите nscd
, используя следующую команду:
sudo apt-get install nscd
Очистите кэш DNS в Ubuntu, используя следующую команду:
sudo service nscd restart
ИЛИ
sudo service dns-clean start
Ссылка: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html
Для меня решение было отредактировать файл /etc/nsswitch.conf
(вы можете использовать команду sudo vim /etc/nsswitch.conf
). Я изменил строку:
hosts: files mdns4_minimal [NOTFOUND=return] dns
на:
hosts: dns files mdns4_minimal [NOTFOUND=return]
и теперь он работает, как и ожидалось!
Принятый ответ работает с 12.04 по 13.04 путем отключения dnsmasq
, но он перестал работать для меня в 13.10. Я нашел следующее новое решение для 13.10.
Отредактируйте ваш / etc / default / dnsmasq, измените ENABLED=1
на ENABLED=0
и перезапустите.
От: http://blog.calebthorne.com/2012/08/broken-etchosts-in-ubuntu-1204.html
Новая «функция» в Ubuntu 12.04 настольная версия должна использовать dnsmasq
как плагин для NetworkManager для локального DNS. Dnsmasq предназначен для ускорения служб DNS и DHCP, но имеет один неприятный побочный эффект: dnsmasq
кэширует локальный DNS и игнорирует изменения в /etc/hosts
. Я часто делаю изменения в файле hosts, работая на веб-сайтах, поэтому эта «особенность» довольно раздражает.
Решение состоит в том, чтобы отключить dnsmasq
в файле конфигурации Networkmanager. Откройте /etc/NetworkManager/NetworkManager.conf
и закомментируйте строку:
dns=dnsmasq
Мой NetworkManager.conf
файл содержит следующее:
[main]
plugins=ifupdown,keyfile
# dns=dnsmasq
[ifupdown]
managed=false
См. Также https: //bugs.launchpad. нетто / Ubuntu / + исходный / сетевой менеджер / + ошибка / 993298
Похоже, ваша установка очень похожа на мою. У меня есть сервер под управлением Ubuntu в качестве офисного сервера и хоста разработки. На этом я запускаю приложения Nginx, Apache, Tomcat, Rails и все, что мне нужно.
С моего Mac я могу просто добавить запись hosts и загрузить сервер с любым именем, которое мне нужно, но из клиента ElementaryOS это не работает.
Я пробовал исправления выше, но безуспешно.
Я запустил Squid Proxy Server и добавил имена хостов в / etc / hosts на сервере. (Редактирование требует перезапуска squid.)
После этого установите соответствующие настройки прокси в вашем браузере или на панели управления ОС.
Проверьте права доступа к файлу /etc/hosts
.
В моем облачном сервисе после клонирования сервера права доступа к файлу хостов изменились с 644
на 600
, так что файл не может быть прочитан apache (www-data
). Я запустил sudo chmod 644 hosts
из /etc
, и это исправило это.
Проблема возникла так:
MongoConnectionException Failed to connect to: localhost:27017: Previous connection attempts failed, server blacklisted.
Я отследил ее до переменной сервера в MongoClient, указывающей на localhost. Мне не удалось пропинговать localhost или имя хоста.
Править /etc/nsswitch.conf
, прокомментируйте ниже строки путем добавления # перед строкой
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
и добавьте
hosts: files mdns4_minimal [NOTFOUND=return] dns
В основном конфигурация переупорядочивается. Процесс поиска домена Now будет консультироваться с файлом сначала, который является /etc/hosts
и затем это будет консультироваться с DNS. С конфигурацией по умолчанию это консультируется с DNS сначала перед любыми другими соответствующими сервисами или файлами.
Для быстрого теста, можно ли его работа или не использовать
sudo python -m SimpleHTTPServer 80
создать простой Сервер HTTP, чтобы служить файлам из каталога и затем прокомментировать ниже строки в /etc/hosts
файл
127.0.0.1 localhost
127.0.1.1 01hw730983
и добавьте
127.0.0.1 content
затем перейдите к браузеру и типу content/
, если Вы способный еще видеть Структуру каталогов его работа его нет.
Это глупо, но в моем случае "виноват" кеш браузера = должно быть очевидно для разработчика :(
Еще одна глупая (очевидная) вещь, которую я пропустил, браузеры (Chrome, Mozilla) выполняют поиск в Google (или поисковой системе) прямо из адресной строки, поэтому вместо разрешения адреса Вы дали им найти это слово в Интернете!
Решение:
После редактирования файла /etc/hosts пропингуйте выбранный адрес! Если команда ping разрешает IP-адрес, который вы указали, файл «hosts» работает!
Очистите кеш браузера (браузеры кешируют разрешения DNS на некоторое время (TTL))
Отключите поисковую систему по умолчанию в используемом вами браузере