как установить DNS разделения для vpn с администратором сети

Я хочу создать конфигурацию 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 отдельных местах, который является видом вещи, которую главным образом преодолевает администратор сети. Какие-либо предложения?

2
задан 4 September 2014 в 11:39

3 ответа

Получить D-шину управляло dnsmasq что выполнения NetworkManager для использования различных серверов DNS, существуют следующие опции (очевидно, корректируют домены и IP-адреса в примерах):

  • Добавляют файл к /etc/NetworkManager/dnsmasq.d, который устанавливает сервер DNS для подсети, которую Вы хотите: myvpn-server.conf мог содержать server=/myvpn.domain.com/10.8.4.9. Это будет всегда уважать dnsmasq, даже когда не подключенный к VPN, в этом случае запросы для этих доменов должны испытать таймаут. Недостаток - то, что необходимо указать IP-адрес статически, преимуществом является простота
  • D-шина Использования для разговора непосредственно с dnsmasq, чтобы сказать ему обновлять серверы с помощью чего-то как 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
  • D-шина Использования, чтобы говорить с Администратором сети сама и сказать этому обновлять серверы. Вот пример из выполнения этого использования Python, который потребовал бы, чтобы некоторая работа включала текущие серверы.

я использую первую опцию и только попробовал предварительные версии другой два

2
ответ дан 7 October 2019 в 04:05

Это наиболее вероятно проблема конфигурации на стороне сервера. 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, чем базовая сеть)

0
ответ дан 7 October 2019 в 04:05

Вы, вероятно, ищете поля DNS Search Domain и Additional DNS Server на вкладках IPv4 и IPv6 в приложение nm-connection-editor .

Просто вводят Вас домен компаний и дюйм/с сервера DNS там.

0
ответ дан 7 October 2019 в 04:05

Другие вопросы по тегам:

Похожие вопросы: