Сеть только использование того DNS при соединении с VPN

Моя компания имеет VPN, с которой я должен соединиться. В OSX я делаю это при помощи openvpn со следующей конфигурацией:

client
dev tun
proto udp
remote <GATEWAY_ADDRESS> <PORT>
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /Users/Tommy/.openvpn/dev/ca-dev.crt
cert /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.crt
key /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.key
ns-cert-type server
tls-auth /Users/Tommy/.openvpn/dev/ta-dev.key 1
cipher BF-CBC
comp-lzo
verb 3
auth-nocache
;daemon
;writepid openvpn.pid

В Ubuntu я установил network-manager-openvpn и добавил, новое соединение VPN (пытающийся импортировать файл конфигурации вызвал катастрофический отказ) с тем же набором параметров конфигурации: Снимки экрана моих настроек

После того как я соединяюсь с VPN, я не могу разрешить домены вообще.

Если я редактирую /etc/NetworkManager/NetworkManager.conf, прокомментируйте строку dns=dnsmasq и перезапуск network-manager, Я могу разрешить внутренние домены от своей компании, но другие домены как google.com не решат вообще. Я удостоверился, что установил свой "Метод" на "Автоматический адреса (VPN) только" на вкладках IPv4 и IPv6 администратора сети для моего соединения VPN, но это, кажется, не имеет значения.

Я также попытался повторно включить dnsmasq и изменение /etc/resolvconf/resolv.conf.d/base содержать nameserver 127.0.1.1, затем выполнение sudo resolveconf -u, но затем никакие домены не решат снова.

То, что я хотел бы, должно смочь соединиться с моей VPN так, чтобы домены, продвинутые сервером DNS моей компании, были разрешены тот путь, и все другие домены обычно разрешаются.

Править: Оказывается, что dnsmasq не был на самом деле установлен, который я думал, что это будет по умолчанию. Тем не менее, если я устанавливаю его, повторно включаю его в /etc/NetworkManager/NetworkManager.conf, включите локальный адрес сервера имен /etc/resolvconf/resolv.conf.d/base, перезапустите все сервисы и подключение к VPN, я могу разрешить домены от компании DNS, но я не могу разрешить никакие другие домены. Так в основном та же ситуация как тогда, когда я отключил dnsmasq полностью.

Править: Содержание /etc/dnsmasq.conf: http://paste.ubuntu.com/7297231/

9
задан 21 April 2014 в 10:51

2 ответа

Из Вашей конфигурации Ваша dnsmasq установка заставляет список серверов DNS использовать от /etc/resolv.conf. По умолчанию dnsmasq пытается способствовать использованию серверы DNS, которые возросли, но только отправят данный запрос к единственному серверу DNS. Это может вызвать проблемы, если у Вас есть несколько серверов DNS, которые могут / только подача определенные запросы.

Я полагаю, что можно решить эту проблему путем проверки, что у Вас есть сервер DNS на Вашей LAN (тот, который Вы используете, когда Вы не подключены к VPN), настроенный в /etc/resolv.conf, а также сервер DNS в корпоративной сети Вы хотите использовать по VPN.

Затем необходимо будет отредактировать /etc/default/dnsmasq и добавьте или отредактируйте DNSMASQ_OPTS= строка для включения --all-servers.

Если Вы все еще не можете получить запросы DNS с этой установкой, скопировать resolv.conf файл, Вы создали во время шагов выше к другому местоположению, как ~/resolv.conf, набор /etc/resolv.conf с nameserver 127.0.0.1 и набор следующая опция в /etc/dnsmasq.conf:

resolv-file=/home/your_username/resolv.conf

Это должно настроить Вашу систему для запросов dnsmasq установки для DNS, и это будет в свою очередь использовать и локальный сервер DNS и сервер DNS VPN для каждого запроса.

Править: Можно найти серверы DNS, которые Вы в настоящее время используете для конкретного соединения с помощью nmcli инструмент. Для нахождения серверов DNS, используемых моим беспроводным соединением, я использовал следующий синтаксис:

nmcli dev list iface wlan0 | grep IP4.DNS

При выполнении этой команды, в то время как Вы не подключены к своей VPN, и с другой стороны когда Вы соединены и можете разрешить свои корпоративные адреса, необходимо получить список серверов DNS прочь и на VPN. Я надеюсь, что это помогает.

Редактирование 2: Смотря на Ваши таблицы маршрутизации, кажется, что Ваш администратор VPN настроил Вас для маршрутизации всего трафика через VPN, в то время как Вы соединены (Ваши изменения шлюза по умолчанию в адресе VPN). Так как оба из Ваших серверов DNS являются общедоступными адресами, и ни у одного нет определенного маршрута, настроенного, в то время как Вы находитесь на VPN, Вы пытаетесь сделать нормальные поиски DNS через VPN и именно это перестал работать.

У Вас может быть пара способов сделать эту работу, в зависимости от Вашей установки VPN:

  • Если VPN позволит, Вы, чтобы получить доступ к Интернету через корпоративную сеть, но не выполнить запросы DNS серверам в Интернете, добавляете маршруты к своим серверам DNS как так: sudo route add -host 83.255.245.11 gw 192.168.0.1, и sudo route add -host 193.150.193.150 gw 192.168.0.1 после соединения с VPN.

  • Если VPN не позволит Вам получать доступ к Интернету через корпоративную сеть, необходимо будет изменить настройки шлюза по умолчанию на компьютере для указания на 192.168.0.1 после соединения с VPN. В этом случае Вы захотите настроить свой обычный шлюз по умолчанию и затем добавить сетевые маршруты для доступа к оборудованию только для VPN.

Вы, возможно, должны свести на нет свою таблицу маршрутизации в connected-to-the-VPN случае, показанном в Вашем втором pastebin следующему:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
10.100.0.0      10.100.0.105    255.255.255.0   UGH   0      0        0 tun0
10.100.0.105    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Затем добавьте маршруты, поскольку Вам нужно к тому, для доступа к корпоративному оборудованию. В таблице маршрутизации, показанной выше, я принял/24 сеть на VPN, которая может быть неправильной. Необходимо будет установить маску соответственно.

4
ответ дан 16 November 2019 в 16:28

Существуют некоторые разрывы, которые я не могу заполнить для Вас, имел отношение к тому, как заставить NetworkManager координировать вещи для Вас. Я попробую, хотя разъяснить, как вещи это координирует потребность работать. Не идеальный ответ, но надо надеяться полезный. На самом деле, учитывая, что это - старый вопрос, это действительно для потомства.

Вы, вероятно, не хотите использовать корпоративную VPN, за исключением соединений с корпоративной сетью. При этом было бы лучше, если Ваша установка VPN только направляет соответствующие Сетевые диапазоны к VPN и сохраняет маршрут по умолчанию, указывающий на Ваш локальный маршрутизатор, как прежде. Было бы хорошо, если компании настраивают свой VPNs, чтобы только направить трафик или их сети, но к сожалению который, кажется, редок. К счастью, можно настроить маршруты в локальной установке.

, Который все еще оставляет Вас с потенциальной проблемой DNS. комментарии jtk123 о том, что dnsmasq делает с DNS, не dnsmasq конкретный - это - способ, которым работает DNS. Если клиент DNS или посреднический преобразователь получают ответ, что запись DNS не существует, то это не нормальное поведение отступить к выяснению у другого сервера DNS. Это означает необходимость в dns преобразователе, который ответит, поскольку Вы хотите его к тому, касается ли запрос сети компании или нет.

, Возможно, Ваша сеть компании отвечает на запросы DNS, касающиеся более широкого Интернета, в этом случае Вы просто используете его, и это, вероятно, в порядке. Иначе Вам нужен локальный сервер DNS, который передает запросы для доменов, связанных с компанией к их серверу DNS, и передает другие запросы в другом месте как соответствующие.

dnsmasq можно сказать передать запросы для определенных доменов к определенным восходящим серверам DNS. например, посмотрите - параметр сервера, как обрисовано в общих чертах в dnsmasq.conf странице справочника. Я не ясен хотя, как заставить networkmanager играть по правилам с тем (который является тем, что я в настоящее время надеюсь узнавать).

0
ответ дан 16 November 2019 в 16:28

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

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