В целях разработки я хочу, чтобы все DNS-запросы к домену .dev пересылались на мой собственный ПК.
Файл hosts не хватает. Я использую несколько доменов, а также несколько поддоменов. Я должен был бы добавить строку для каждой комбинации.
Я прочитал, что для этой работы можно использовать DNS-сервер пересылки, такой как DNSmasq (например, , как описано здесь ). Также это программное обеспечение уже установлено в Ubuntu 12.10.
Проблема в том, что я не вижу, как и где мне следует настроить DNSmasq, то есть, где я должен поместить эту строку:
address=/dev/127.0.0.1
Полный автономный dnsmasq (сервер DHCP и DNS) не установлен по умолчанию в Ubuntu 12.04 и 12.10, но пакет с именем dnsmasq-base установлен по умолчанию в Ubuntu Desktop 12.04 и 12.10. Пакет dnsmasq-base содержит двоичный файл dnsmasq и используется NetworkManager.
Чтобы сделать то, что вы хотите, вам нужно использовать dnsmasq в качестве кэширующего DNS-сервера. Вам необходимо:
Создайте /etc/dnsmasq.d/dev-tld
со следующим содержимым:
local=/dev/
address=/dev/127.0.0.5
Первая команда говорит, что *.dev
запросы не могут быть перенаправлены на ваш настоящий DNS-сервер. Второе говорит, что *.dev
разрешается в 127.0.0.5
, который является localhost.
В Ubuntu 16.04 у меня сработало следующее:
Установить dnsmasq
sudo apt-get -y install dnsmasq
Редактировать файл dnsmasq.conf
:
sudo nano /etc/dnsmasq.conf
Добавьте свою команду:
address=/dev/127.0.0.1
Для подстановочного знака (*) вы можете использовать точку (.), Затем dnsmasq, чтобы разрешить WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
для тот же IP. Например, address=/.localhost.dev/127.0.0.1
Перезапустите службу dnsmasq:
sudo /etc/init.d/dnsmasq restart
В Ubuntu 12.10 или более поздней версии вы можете сделать это с помощью dnsmasq, запущенного NetworkManager.
Создайте каталог mkdir /etc/NetworkManager/dnsmasq.d
, если он еще не существует.
sudo mkdir /etc/NetworkManager/dnsmasq.d
Бросить следующую строку в /etc/NetworkManager/dnsmasq.d/dev-tld
.
address=/dev/127.0.0.1
(Ubuntu 12.10) Перезапустите NetworkManager.
sudo service network-manager restart
(Ubuntu> 13.04) Перезапустите Dnsmasq.
sudo service dnsmasq restart
Наслаждайтесь удивительностью.