У меня есть домен (example.com
), который настроен на два представления. host1.example.com
будет 10.0.0.1
во внутренней сети и 149.120.10.14
(общедоступный IP-адрес) при запросе извне.
Это означает, что устройство, подключенное к Интернету, должно иметь обычный набор DNS-серверов, используемых в обычном режиме (те, которые он получает от DHCP, например 8.8.8.8
) и они разрешат host1.example.com
к его внешнему IP.
Однако при подключении через VPN это устройство должно получать от сервера OpenVPN определенный DNS для разрешения example.com
(и только example.com
).
Я понимаю, что использование
push "dhcp-option DNS 10.10.10.100"
где 10.10.10.100
- это внутренний DNS-сервер, доступный через VPN, перезаписывает DNS-серверы на устройстве, теряя те, которые у него уже были.
Есть ли способ протолкнуть DNS-сервер имен с возможностью использовать его только для определенного домена и сохранить существующие другие DNS (используемые для разрешения Интернета / компании)?
Это невозможно. Но вот обходной путь.
Настройте DNS-сервер в своей сети VPN и используйте его в качестве DNS-сервера для всех пользователей VPN.
На этом DNS-сервере настройте основную зону для вашего конкретного доменного имени (example.com) с внутренними IP-адресами. И настройте перенаправление DNS для выполнения DNS-запросов, которые DNS-сервер не может обработать сам.
В этом случае все запросы DNS в зоне example.com будут использовать записи DNS с вашего сервера, а все остальные запросы DNS будут решаться, например, 8.8.8.8.
К сожалению, это невозможно, поскольку само разрешение DNS выполняется клиентской ОС (только для динамической настройки OpenVPN), и все широко используемые клиентские ОС не смогут выполнять различное разрешение имен для каждого домена. основание.