Когда я подключаюсь к сети VPN через Gnome Network-manager, я теряю разрешение DNS, и на практике я не могу получить доступ к ресурсам внутри сети VPN или снаружи.
Когда я использовал Ubuntu 16.04, и я использовал VPN, файл /etc/resolv.conf/ будет содержать DNS-серверы сети (VPN), с которой я подключился. Теперь он всегда содержит следующие записи:
nameserver 127.0.0.53
search myprovider.com
Из того, что я понял, 127.0.0.53 является адресом заглушки DNS, используемой system-resolved.
Я подозреваю, что это ошибка, потому что VPN работает отлично Ubuntu 16.04. Есть ли способ установить DNS-серверы моей сети, когда я пользуюсь услугами VPN?
Обновление:
Я попытался подключиться к сети openvpn с файлом конфигурации, прикрепленным в конце сообщения, но я получаю следующую ошибку:
Authenticate/Decrypt packet error: cipher final failed
Я проверил, что сервер использует сжатие lzo, и я также включил его. Соединение остается активным, но я не могу перейти на любую страницу внутри или вне vpn.
В файле конфигурации, указанном ниже, я включил решения, размещенные в ответах
client
dev tun
proto udp
remote openvpn.bibsys.no 1194
remote my-server-2 1194
resolv-retry infinite
nobind
user myuser
group myuser
persist-key
persist-tun
ca ca-cert.pem
cert openvpn.crt
key openvpn.key
cipher AES-256-CBC
comp-lzo yes
script-security 2
up /etc/openvpn/scripts/update-systemd-resolved
down /etc/openvpn/scripts/update-systemd-resolved
down-pre
Я нашел решение на в этом сообщении в блоге . Хотя есть два упомянутых решения, я предпочитаю использовать второй, потому что это означает, что мой DNS установлен сервером OpenVPN (первое решение означает, что я использую одни и те же DNS-серверы независимо от того, подключен ли я к серверу OpenVPN). / g3]
Короче:
sudo mkdir -p /etc/openvpn/scripts
sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
Затем отредактируйте файл клиента OpenVPN (например, client.ovpn), изменив сценарии вверх / вниз на:
script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
up /etc/openvpn/scripts/update-resolv-conf
down /etc/openvpn/scripts/update-resolv-conf
(я прокомментировал исходные настройки вверх / вниз).
На меня тоже влияет. В моем случае я использую OpenVPN с внутренним сервером имен (который находится внутри VPN). Это работало до тех пор, пока Ubuntu 17.10 (с «hosts: files dns» в /etc/nsswitch.conf).
/etc/resolv.conf был правильно обновлен скриптами openvpn (через вызовы / etc / openvpn / update-resolv-conf в файле конфигурации клиента openvpn).
Однако разрешение имен для хостов внутри VPN больше не работало (или, по крайней мере, спорадически ... Я предполагаю, что локальный DNS-кеш был выбирая имена, но через довольно продолжительное время).
Что, похоже, помогает или даже разрешает проблему (хотя это еще слишком рано говорить) заключается в установке пакета ниже:
sudo apt install openvpn-systemd-resolved
Через несколько дней у меня будет больше опыта в том, исправляет ли я мою проблему или нет.
Если вы тоже пострадали, пожалуйста, попробуйте это и опубликуйте комментарии!
Приветствия,
Майкл.
Проблема
Файл /etc/resolv.conf
не обновляется скриптом /etc/openvpn/update-resolv-conf
, потому что resolvconf
по умолчанию не установлен на ubuntu 18.04.
Фактически, один из первых строк этого скрипта проверяет исполняемый файл /sbin/resolvconf
:
[ -x /sbin/resolvconf ] || exit 0
Установка resolvconf через apt-get
не является решением, так как скрипт /etc/openvpn/update-resolv-conf
обновляет файл /etc/resolv.conf
с нажатыми DNS-запись, но устройство-тюнер, похоже, игнорирует его.
Решение
systemd-resolved
, поэтому все, что вам нужно сделать, это установить вспомогательный скрипт openvpn для systemd-resolved
через sudo apt install openvpn-systemd-resolved
или с помощью этих команд GitHub config.ovpn
, добавив следующие строки: script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
Это вместо добавления вверх и вниз по /etc/openvpn/update-resolv-conf
в conf. dhcp-option DOMAIN-ROUTE .
Я нашел решение на в этом сообщении в блоге . Хотя есть два упомянутых решения, я предпочитаю использовать второй, потому что это означает, что мой DNS установлен сервером OpenVPN (первое решение означает, что я использую одни и те же DNS-серверы независимо от того, подключен ли я к серверу OpenVPN). / g3]
Короче:
sudo mkdir -p /etc/openvpn/scripts
sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
Затем отредактируйте файл клиента OpenVPN (например, client.ovpn), изменив сценарии вверх / вниз на:
script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
up /etc/openvpn/scripts/update-resolv-conf
down /etc/openvpn/scripts/update-resolv-conf
(я прокомментировал исходные настройки вверх / вниз).
На меня тоже влияет. В моем случае я использую OpenVPN с внутренним сервером имен (который находится внутри VPN). Это работало до тех пор, пока Ubuntu 17.10 (с «hosts: files dns» в /etc/nsswitch.conf).
/etc/resolv.conf был правильно обновлен скриптами openvpn (через вызовы / etc / openvpn / update-resolv-conf в файле конфигурации клиента openvpn).
Однако разрешение имен для хостов внутри VPN больше не работало (или, по крайней мере, спорадически ... Я предполагаю, что локальный DNS-кеш был выбирая имена, но через довольно продолжительное время).
Что, похоже, помогает или даже разрешает проблему (хотя это еще слишком рано говорить) заключается в установке пакета ниже:
sudo apt install openvpn-systemd-resolved
Через несколько дней у меня будет больше опыта в том, исправляет ли я мою проблему или нет.
Если вы тоже пострадали, пожалуйста, попробуйте это и опубликуйте комментарии!
Приветствия,
Майкл.
Проблема
Файл /etc/resolv.conf
не обновляется скриптом /etc/openvpn/update-resolv-conf
, потому что resolvconf
по умолчанию не установлен на ubuntu 18.04.
Фактически, один из первых строк этого скрипта проверяет исполняемый файл /sbin/resolvconf
:
[ -x /sbin/resolvconf ] || exit 0
Установка resolvconf через apt-get
не является решением, так как скрипт /etc/openvpn/update-resolv-conf
обновляет файл /etc/resolv.conf
с нажатыми DNS-запись, но устройство-тюнер, похоже, игнорирует его.
Решение
systemd-resolved
, поэтому все, что вам нужно сделать, это установить вспомогательный скрипт openvpn для systemd-resolved
через sudo apt install openvpn-systemd-resolved
или с помощью этих команд GitHub config.ovpn
, добавив следующие строки: script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
Это вместо добавления вверх и вниз по /etc/openvpn/update-resolv-conf
в conf. dhcp-option DOMAIN-ROUTE .
Я нашел решение на в этом сообщении в блоге . Хотя есть два упомянутых решения, я предпочитаю использовать второй, потому что это означает, что мой DNS установлен сервером OpenVPN (первое решение означает, что я использую одни и те же DNS-серверы независимо от того, подключен ли я к серверу OpenVPN). / g3]
Короче:
sudo mkdir -p /etc/openvpn/scripts
sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
Затем отредактируйте файл клиента OpenVPN (например, client.ovpn), изменив сценарии вверх / вниз на:
script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
up /etc/openvpn/scripts/update-resolv-conf
down /etc/openvpn/scripts/update-resolv-conf
(я прокомментировал исходные настройки вверх / вниз).
config.ovpn
не «найдено». - это файл конфигурации клиента, используемый для подключения. Вы либо генерируете его, либо выдается вашим провайдером OpenVPN (и его нельзя назвать config.ovpn
- его можно было бы назвать чем угодно, например client.ovpn
).
– Andy Turfer
26 May 2018 в 22:30
На меня тоже влияет. В моем случае я использую OpenVPN с внутренним сервером имен (который находится внутри VPN). Это работало до тех пор, пока Ubuntu 17.10 (с «hosts: files dns» в /etc/nsswitch.conf).
/etc/resolv.conf был правильно обновлен скриптами openvpn (через вызовы / etc / openvpn / update-resolv-conf в файле конфигурации клиента openvpn).
Однако разрешение имен для хостов внутри VPN больше не работало (или, по крайней мере, спорадически ... Я предполагаю, что локальный DNS-кеш был выбирая имена, но через довольно продолжительное время).
Что, похоже, помогает или даже разрешает проблему (хотя это еще слишком рано говорить) заключается в установке пакета ниже:
sudo apt install openvpn-systemd-resolved
Через несколько дней у меня будет больше опыта в том, исправляет ли я мою проблему или нет.
Если вы тоже пострадали, пожалуйста, попробуйте это и опубликуйте комментарии!
Приветствия,
Майкл.
sudo -i
test -f .Xauthority.bak && mv .Xauthority.bak .Xauthority
exit
не обновляется сценарием root
, потому что .Xauthority
не установлен по умолчанию на ubuntu 18.04. [112223] [112224] На самом деле одна из первых строк этого скрипта проверяет исполняемый файл exit
: [112224] sudo -i
[112225] Установка resolvconf через .Xauthority
не является решением, так как скрипт обновляет [ 112211] с нажатой записью DNS, но устройство tun, похоже, игнорирует его. [112225] [112226] [112233] Решение [112233] [112226] [112221] [112218] [112227] Ubuntu 18.04 использует , поэтому все, что вам нужно сделать, это установить вспомогательный скрипт openvpn для
через [112227] [ 11222] [112228] или с
этими инструкциями GitHub
[112228] [112218] [112219] [112229] Обновите файл, добавив следующие строки: [112229]
cp -a /home/youruser/.Xauthority .Xauthority
chown root: .Xauthority
[112230] Это вместо добавление вверх и вниз по к конф. [112230] [112219] [112220] [112231] Чтобы предотвратить утечку DNS, вы должны добавить эту строку в конец файла (в соответствии с
этот комментарий о выпуске systemd
): [112231]XAUTHORITY=/root/.Xauthority sudo firefox
[112220] [112221] script-security 2
по-прежнему необходим до строк вверх / вниз, иначе программа падает с ошибкой (OpenVPN 2.4.4)
– lucidyan
8 June 2018 в 23:51
script-security 2
не было необходимости. Возможно, потому, что я запускаю клиент openvpn как root (с sudo)
– Qlimax
12 June 2018 в 18:54
script-security 2
, чтобы эта настройка работала. Кстати, спасибо за этот совет, @Qlimax. :-)
– The night manager
16 June 2018 в 08:50
sudo apt-get install network-manager-openvpn-gnome
. Затем вы должны иметь возможность импортировать конфигурационные файлы .ovpn в сетевой менеджер gnome. askubuntu.com/questions/187511/… Пользовательский интерфейс со временем изменился, вы должны найти его в настройках - & gt; network- & gt; vpn
– Qlimax
18 June 2018 в 12:06
На самом деле, гораздо проще решить эту проблему. Проблема связана с DNS-трафиком и тем, как Ubuntu 18 управляет этим. По умолчанию переадресация IP отключена, что требуется OpenVPN для обеспечения надлежащей сети. Все, что вам нужно сделать, это запустить следующую команду:
sudo nano /etc/sysctl.conf
После открытия этого файла найдите строку, содержащую net.ipv4.ip_forward
. Если эта строка прокомментирована, удалите знак # перед линией (если она не прокомментирована, у вас есть другая проблема). Сохраните файл, а затем перезапустите экземпляр сервера OpenVPN.
Это исправление не требует каких-либо изменений для кода клиента или OpenVPN после обновления до Ubuntu 18. Протестировано и подтверждено работоспособность.
Проверено на Ubuntu 18.04 в 13 Sep 2018
blockquote>. Есть еще одна полезная команда для настройки того, что вам нужно с помощью командной строки. Но в моем случае вы можете контролировать свое VPN-соединение как с командной строкой, так и с графическим интерфейсом.
sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --
blockquote>
ifname --
является обязательным по умолчанию, но не влияет на ничего
sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes
blockquote>
never-default
не следует использовать удаленный шлюз в качестве маршрута по умолчаниюи многое другое Последнее сообщение:
nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'
После этого вы можете управлять vpn с помощью GUI или использовать следующие команды:
sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com