Вот шаги для Ubuntu 18.04. Это немного долго, так systemd-resolved
как не очень хорошо с NetworkManager
настройкой dnsmasq
.
Тем не менее, я все же рекомендую начинать dnsmasq
с того NetworkManager
, что изменения в подключении к сети (WIFI, проводная связь, ...) будут обрабатываться прозрачно.
Включить dnsmasq в NetworkManager
Отредактируйте файл /etc/NetworkManager/NetworkManager.conf
и добавьте строку dns=dnsmasq
в [main]
раздел, это будет выглядеть так:
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
Позвольте NetworkManager управлять /etc/resolv.conf
sudo rm /etc/resolv.conf ; sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf
Настройка example.com
echo 'address=/.example.com/127.0.0.1' | sudo tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf
Перезагрузка NetworkManager
и тестирование
NetworkManager должен быть перезагружен, чтобы изменения вступили в силу.
sudo systemctl reload NetworkManager
Затем мы можем убедиться, что можем попасть на какой-то обычный сайт:
dig askubuntu.com +short
151.101.129.69
151.101.65.69
151.101.1.69
151.101.193.69
И, наконец, убедитесь, что example.com
и субдомены разрешены как 127.0.0.1
:
dig example.com askubuntu.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1