Я хочу создать конфигурацию DNS разделения на 14,04 настольных машинах и с локальной eth сетью и с соединением VPN. Т.е. я должен отправить поиски DNS за диапазонами адресов, к которым получают доступ через vpn к (частным) серверам DNS, которые настроены для того конкретного соединения VPN. Другие адреса, которые подаются через локальную сеть, должны использовать различные (общедоступные) серверы DNS.
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/предполагает, что это легко сделать теперь, когда у нас есть локальный dnsmasq сопоставитель. Кавычка:
Большое преимущество состоит в том, что, если Вы соединяетесь с VPN, вместо того, чтобы иметь весь Ваш трафик DNS быть направленными через VPN как в прошлом, Вы вместо этого только отправите запросы DNS, связанные с подсетью и доменами, о которых объявляет та VPN. Это особенно интересно для высокой задержки ссылки VPN, где все было бы замедлено в прошлом.
Но я не могу выяснить, как сделать эту работу! С VPN неактивный администратор сети говорит dnsmasq использовать локальные общедоступные серверы DNS в качестве своих вышестоящих серверов (это хорошо). Если я теперь активируюсь, администратор сети соединения VPN говорит dnsmasq изменять восходящие серверы DNS на частные, настроенные для соединения VPN. И теперь весь мой локальный трафик переходит к vpn для своих поисков DNS (это плохо!).
Если бы у меня была "реальная" установка dnsmasq, то я мог бы сказать ей в dnsmasq.conf направлять определенные поиски к определенным серверам DNS. Но как это работает с сокращением dnsmasq / установка администратора сети, которой предоставляют рабочий стол Ubuntu?
Я предполагаю, что одна опция состоит в том, чтобы только установить полный dnsmasq, но это затем означает, что я должен поддержать детали конфигурации в 2 отдельных местах, который является видом вещи, которую главным образом преодолевает администратор сети. Какие-либо предложения?
Получить D-шину управляло dnsmasq что выполнения NetworkManager для использования различных серверов DNS, существуют следующие опции (очевидно, корректируют домены и IP-адреса в примерах):
/etc/NetworkManager/dnsmasq.d
, который устанавливает сервер DNS для подсети, которую Вы хотите: myvpn-server.conf
мог содержать server=/myvpn.domain.com/10.8.4.9
. Это будет всегда уважать dnsmasq, даже когда не подключенный к VPN, в этом случае запросы для этих доменов должны испытать таймаут. Недостаток - то, что необходимо указать IP-адрес статически, преимуществом является простота sudo dbus-send --system --print-reply --dest=org.freedesktop.NetworkManager.dnsmasq /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetDomainServers "array:string:192.168.0.1,/myvpn.domain.com/10.8.4.9"
. Это могло быть задано сценарием, когда vpn соединяется. Необходимо было бы искать существующие серверы DNS (192.168.0.1
в моем примере) по D-шине или использованию nm-cli
я использую первую опцию и только попробовал предварительные версии другой два
Это наиболее вероятно проблема конфигурации на стороне сервера. vpn сервер должен только продвинуть домены, которые он может разрешить.
, Например, при использовании openvpn сервера пользовательская конфигурация могла бы быть похожей на это:
ifconfig-push 172.16.0.51 255.255.255.0
push "route 172.16.1.0 255.255.255.0 172.16.0.1"
push "route 192.168.2.0 255.255.255.0 172.16.0.6"
push "dhcp-option DNS 172.16.0.1"
push "dhcp-option DOMAIN some.of.your.domains"
push "dhcp-option DOMAIN another.domain"
Этот способ, которым Ваш клиент знает, что Ваш сервер может только разрешить домены, определенные здесь.
конфигурация dnsmasq может быть довольно минимальной в случае, Вы используете Networkmanager:
domain-needed
interface=lo
bind-interfaces
Еще одна распространенная ошибка: необходимо настроить настройки IP соединения VPN в networkmanager для "использования соединения только для ресурсов в его сети" (как здесь: https://brmlab.cz / _ media/project/warzone/nv-routes.png)
Иначе маршрутизация будет всегда использовать Ваше соединение VPN по "реальному" интерфейсу. Метрики обычно правильно устанавливаются networkmanager (более высокая метрика для vpn, чем базовая сеть)
Вы, вероятно, ищете поля DNS Search Domain и Additional DNS Server на вкладках IPv4 и IPv6 в приложение nm-connection-editor .
Просто вводят Вас домен компаний и дюйм/с сервера DNS там.