В целях разработки я хочу, чтобы все DNS-запросы к домену .dev пересылались на мой собственный ПК.
Файл hosts не хватает. Я использую несколько доменов, а также несколько поддоменов. Я должен был бы добавить строку для каждой комбинации.
Я прочитал, что DNS-сервер пересылки, такой как DNSmasq, может использоваться для выполнения этой работы (например, как описано здесь ). Также это программное обеспечение уже установлено в Ubuntu 12.10.
Проблема в том, что я не вижу, как и где я должен настроить DNSmasq, то есть, где я должен поместить эту строку:
address=/dev/127.0.0.1
.dev
как Google взял его. Я все еще исследую, для чего они будут его использовать и планируют ли обычные люди подключаться к нему или просто сотрудников, но вы можете не захотеть перенаправлять весь доступ в случае, если он первый, если только это не тестовый блок, который никогда не будет подключаться к внешним хостам.Ответы:
Полный автономный 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
с этим содержанием:Первая команда говорит, что
*.dev
запросы не могут быть перенаправлены на ваш реальный DNS-сервер. Второй говорит,*.dev
решает,127.0.0.5
который является localhost.источник
В Ubuntu 12.10 или более поздней версии вы можете сделать это с помощью dnsmasq, запущенного NetworkManager.
Создайте каталог,
mkdir /etc/NetworkManager/dnsmasq.d
если он еще не существует.Бросить следующую строку в
/etc/NetworkManager/dnsmasq.d/dev-tld
.(Ubuntu 12.10) Перезапустите NetworkManager.
(Ubuntu> 13.04) Перезапустите Dnsmasq.
Наслаждайтесь удивительностью.
источник
В Ubuntu 16.04 у меня работало следующее:
устанавливать
dnsmasq
Редактировать
dnsmasq.conf
файл:Добавьте вашу команду:
Для подстановочного знака (*) вы можете использовать точку (.), Затем dnsmasq для разрешения
WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
того же ip. Например,address=/.localhost.dev/127.0.0.1
Перезапустите службу dnsmasq:
источник
Только что установил свежий 19.04, и единственный способ
systemd-resolved
заставить его работать - это отключить его иNetworkManager
использоватьdnsmasq
вместо него для DNS.NetworkManager
имеет встроенную поддержкуdnsmasq
иdnsmasq-base
пакет установлен по умолчанию.Я указывая несколько доменов на различные виртуальные машины , как
*.customerX.test
в192.168.33.10
и*.productY.test
к192.168.33.20
и так далее. Я бы*.dev
больше не использовал , а вместо этого один из зарезервированных доменов верхнего уровня .Решение
Отключить
systemd-resolved
Изменить
/etc/NetworkManager/NetworkManager.conf
для использованияdnsmasq
для DNS.Положить
dnsmasq
конфигурацию в/etc/NetworkManager/dnsmasq.d/test-tld.conf
и, наконец, перезагрузите компьютер,
NetworkManager
который будет генерировать новый/etc/resolv.conf
источник