Я пытаюсь настроить dnsmasq, чтобы я мог создавать собственные имена хостов на сервере OpenVPN. Так что при подключении машины имена хостов будут указывать на ресурсы, расположенные на хосте OpenVPN или в сети.
Так, например, файл /etc /hosts на сервере выглядит следующим образом:
db.private.resource 10.8.0.1
app.private.resource 10.8.0.1
Заставить клиента использовать туннель для поиска DNS довольно просто. В файле server.conf у меня есть:
push "dhcp-option DNS 10.8.0.1"
И в конфиге клиента у меня есть:
dhcp-option DNS 10.8.0.1
И я могу проверить, что клиент использует OpenVPN в качестве своего DNS при подключении, запустив:
# dnsmasq --no-daemon -q
В командной строке и пинг от клиента, чтобы убедиться, что клиент действительно отправляет запросы поиска DNS на сервер OpenVPN через туннель и что сервер OpenVPN действительно обрабатывает запросы.
Проблема заключается в том, что когда я пытаюсь пропинговать определенный мной хост db.private.resource
, я получаю:
dnsmasq: query[A] db.private.resource from 10.8.0.2
dnsmasq: config db.private.resource is NXDOMAIN
Из вывода dnsmasq. Так что по какой-либо причине он не возвращает значения, которые я определил в /etc /hosts. И что меня удивляет, так это то, что даже когда я запускаю dnsmasq с добавленным параметром адреса, я все равно получаю приведенный выше результат.
# dnsmasq --no-daemon -q --address=/db.private.resource/10.8.0.1/
dnsmasq: query[A] db.private.resource from 10.8.0.2
dnsmasq: config db.private.resource is NXDOMAIN
Есть ли что-то, что выглядит неправильно из этого результата?