Моя компания имеет 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/
Из Вашей конфигурации Ваша 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, которая может быть неправильной. Необходимо будет установить маску соответственно.
Существуют некоторые разрывы, которые я не могу заполнить для Вас, имел отношение к тому, как заставить NetworkManager координировать вещи для Вас. Я попробую, хотя разъяснить, как вещи это координирует потребность работать. Не идеальный ответ, но надо надеяться полезный. На самом деле, учитывая, что это - старый вопрос, это действительно для потомства.
Вы, вероятно, не хотите использовать корпоративную VPN, за исключением соединений с корпоративной сетью. При этом было бы лучше, если Ваша установка VPN только направляет соответствующие Сетевые диапазоны к VPN и сохраняет маршрут по умолчанию, указывающий на Ваш локальный маршрутизатор, как прежде. Было бы хорошо, если компании настраивают свой VPNs, чтобы только направить трафик или их сети, но к сожалению который, кажется, редок. К счастью, можно настроить маршруты в локальной установке.
, Который все еще оставляет Вас с потенциальной проблемой DNS. комментарии jtk123 о том, что dnsmasq делает с DNS, не dnsmasq конкретный - это - способ, которым работает DNS. Если клиент DNS или посреднический преобразователь получают ответ, что запись DNS не существует, то это не нормальное поведение отступить к выяснению у другого сервера DNS. Это означает необходимость в dns преобразователе, который ответит, поскольку Вы хотите его к тому, касается ли запрос сети компании или нет.
, Возможно, Ваша сеть компании отвечает на запросы DNS, касающиеся более широкого Интернета, в этом случае Вы просто используете его, и это, вероятно, в порядке. Иначе Вам нужен локальный сервер DNS, который передает запросы для доменов, связанных с компанией к их серверу DNS, и передает другие запросы в другом месте как соответствующие.
dnsmasq можно сказать передать запросы для определенных доменов к определенным восходящим серверам DNS. например, посмотрите - параметр сервера, как обрисовано в общих чертах в dnsmasq.conf странице справочника. Я не ясен хотя, как заставить networkmanager играть по правилам с тем (который является тем, что я в настоящее время надеюсь узнавать).