У меня были проблемы с этим некоторое время, и я попробовал все, что знаю, поэтому решил, что пришло время обратиться за помощью.
Любое редактирование, которое я делаю, /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
(он не существует), он должен загружаться из 192.168.1.100
.
Если я пингуюсь, все работает нормально. Однако когда я захожу dev.julianfernand.es
с помощью Google Chrome или Firefox, это не так.
Теперь, после того, как я перезагружаю пару раз, это работает. Но так как я работаю в управляемой хостинговой компании WordPress, я сталкиваюсь со многими ситуациями, когда мне приходится редактировать свой файл, чтобы увидеть веб-сайт клиента на нашем сервере.
Я просто не могу перезагрузить компьютер. Это совсем не продуктивно. Перезапуск сетевого сервиса не работает, также как и для очистки кеша (даже внутреннего кеша DNS Chrome).
У кого-нибудь есть идея здесь? Это происходит с элементарной ОС (на основе Ubuntu 12.04) и Ubuntu 13.10 (ежедневно). Еще не пробовал ни с какой другой версией.
PS: если это имеет значение, у меня на этом компьютере работает сервер NGINX с PHP-FPM и MySQL.
Заранее спасибо :)
источник
Ответы:
В Ubuntu, если вы хотите очистить кеш DNS, вам нужно перезапустить
nscd
демон.Установите
nscd
с помощью следующей команды:Очистите кэш DNS в Ubuntu, используя следующую команду:
ИЛИ
Ссылка: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html
источник
У меня сработало следующее: добавить
в
убить dnsmasq и
источник
Для меня решение было редактировать
/etc/nsswitch.conf
файл (вы можете использовать командуsudo vim /etc/nsswitch.conf
). Я изменил строку:чтобы:
и теперь он работает как положено!
источник
files
в качестве первой записи, если вы хотите/etc/hosts
иметь приоритет над результатами DNS-серверов.Принятый ответ работает с 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
и закомментируйте строку:Мой
NetworkManager.conf
файл содержит следующее:Смотрите также https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298
источник
Простой и обновленный
/etc/NetworkManager/dnsmasq.d/hosts.conf
.address=/whatever/1.2.3.4
в нем. Смотрите документы (ищите--address
). Wildcards возможны:address/.whatever./1.2.3.4
.dnsmasq
( ошибка ).$ service network-manager restart
.источник
Похоже, ваша установка очень похожа на мою. У меня есть сервер под управлением 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
и это исправило.Проблема началась как:
Я отследил это до переменной сервера в MongoClient, указывающей на localhost. Мне не удалось пропинговать localhost или имя хоста.
источник
Редактировать
/etc/nsswitch.conf
, закомментировать ниже строки, добавив # перед строкойи добавить
В основном, конфигурация переупорядочена. Теперь процесс поиска домена сначала будет обращаться к файлу,
/etc/hosts
а затем - к DNS. При конфигурации по умолчанию он сначала обращается к DNS, а затем к любым другим соответствующим службам или файлам.Для быстрого теста, работаете ли вы или нет, вы можете использовать
создать простой HTTP-сервер для обслуживания файлов из каталога, а затем прокомментировать строку ниже в
/etc/hosts
файлеи добавить
затем перейдите в браузер и введите
content/
, если вы видите структуру каталогов, которая работает, а то нет.источник