Моя связь с ProtonVPN постоянно прерывается. Я использую Ubuntu 18.04. ProtonVPN сообщает мне, что проблема связана с Ubuntu, они не помогут мне исправить это, и что я должен опубликовать здесь. Это кросс-сообщение этого вопроса о Unix SE .
Прямо сейчас, в нерабочем состоянии, два профиля устройства ProtonVPN proton0
и ipv6leakintrf0
указаны как «неуправляемые» и «отключенные» соответственно nmcli
:
$ nmcli d
DEVICE TYPE STATE CONNECTION
wlp3s0 wifi connected WifiAP
ipv6leakintrf0 dummy disconnected --
enp2s0 ethernet unavailable --
lo loopback unmanaged --
proton0 tun unmanaged --
Служба поддержки ProtonVPN не смогла решить проблему после почти двух месяцев работы над ней, но они сообщили мне, что не поддерживают неуправляемые соединения. Итак, я изо всех сил пытаюсь сделать как proton0
, так и ipv6leakintrf0
«управляемыми».
Из того, что я могу собрать из документации по конфигурации NetworkManager
, NetworkManager настраивает устройства из следующих источников в указанном порядке:
В трех каталогах файлы анализируются в порядке их перечисления. В моей системе файл /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
существует и содержит следующую директиву:
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan
Этот появляется для установки всех сетевых устройств без Wi-Fi и без WAN в состояние «неуправляемый», что объясняет, почему proton0
и, вероятно, ipv6leakintrf0
неуправляемы. Однако, учитывая, насколько плохо спроектирован NetworkManager UX, у меня нет возможности быть уверенным, что последующая конфигурация, которую я не понимаю, не отменяет эту директиву.
Я искал в приведенном выше списке конфигураций другую директиву unmanaged-devices
и не нашел ни одной, поэтому могу предположить, что директива в 10-global-managed-devices.conf
является директивой только один. В этом случае, похоже, я мог бы исправить проблему и сделать proton0
управляемым устройством, создав файл /usr/lib/NetworkManager/conf.d/80-proton-vpn.conf
со следующим содержанием:
[device]
match-device=interface-name:proton0
managed=true
[device]
match-device=interface-name:ipv6leakintrf0
managed=true
где я собрал синтаксис по кусочкам, насколько это возможно, из плохой документации, указанной выше. Я перезапустил сетевой менеджер
. ProtonVPN проработал несколько дней, прежде чем снова сломался, дав результат $ nmcli d
, показанный выше, который указывает на то, что proton0
(и, вероятно, ipv6leakintrf0
) все еще неуправляемы, несмотря на мои лучшие усилия по изменению конфига.
Этот ответ AskUbuntu указывает, что перечисление устройства в / etc / network / interfaces
приведет к тому, что оно не будет управляться NetworkManager.В моем случае это неприменимо, единственным содержимым этого файла является
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
. Я также пробовал явно исключить устройства ProtonVPN в 10-global-managed-devices.conf
, как было предложено в комментарии к сообщение Unix SE, которое я указал выше:
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan,except:interface-name:proton*,except:interface-name:ipv6leakintrf*
После перезапуска network-manager
эта конфигурация не внесла изменений в проблему.
Что еще мне нужно сделать, чтобы эти профили устройств управлялись NetworkManager?
Изменить
На вопрос «Как настроить управление сетевым устройством?» Для начала ответьте :
«Запустите команду
$ nmcli device set <name> managed yes
, где <имя>
- соответствующая запись в столбце DEVICE
вывода $ nmcli d
».
Я работал над этой проблемой так изматывающе долго, что забыл включить результаты этого. Вот они:
Когда я запускаю
$ nmcli device set proton0 managed yes
, это никак не влияет на 'proton0'. Вывод $ nmcli d
продолжает показывать 'proton0' как "отключенный" (потому что я не могу подключиться), а вывод $ nmcli device show
продолжает показывать 'proton0 'как имеющий GENERAL.STATE: 10 (неуправляемый)
.
«ipv6leakintrf0» появлялся и исчезал в процессе устранения неполадок. Я не знаю почему, но поддержка ProtonVPN не сочла это достойным внимания, поэтому я предполагаю, что это ожидаемо. Когда он существует, выполнение
$ nmcli device set ipv6leakintrf0 managed yes
не имеет никакого эффекта. В выходных данных $ nmcli d
он продолжает отображаться как «неуправляемый».Когда он не существует, выполнение команды $ nmcli device set
возвращает ошибку Ошибка: устройство ipv6leakintrf0 не найдено.
, что кажется нормальным. В настоящее время не существует.
дополнительная информация
Вот часть 'proton0' вывода $ nmcli device show
:
GENERAL.DEVICE: proton0
GENERAL.TYPE: tun
GENERAL.HWADDR: (unknown)
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.MTU: 1500
GENERAL.STATE: 20 (unavailable)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: off
Вот что у меня есть
$ cat /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma
У меня есть два устройства, которые, я уверен, соответствуют ProtonVPN, поскольку их дата модификации влияет на подключение/отключение
$ cat /run/NetworkManager/devices/19
[device]
managed=true
connection-uuid=...
nm-owned=false
$ cat /run/NetworkManager/devices/18
[device]
managed=true
perm-hw-addr-fake=...
connection-uuid=...
nm-owned=true
route-metric-default-effective=550
Когда я отключен, они выглядят так
$ cat /run/NetworkManager/devices/19
[device]
nm-owned=false
$ cat /run/NetworkManager/devices/18
[device]
managed=true
perm-hw-addr-fake=...
nm-owned=true
Я предполагаю, что они не предназначены для ручного изменения, но это может помочь.
Пожалуйста, опубликуйте результат
$ nmcli device show
Также, принудительное использование управляемых соединений, как показано в разделе https://developer-old.gnome.org/NetworkManager/unstable/NetworkManager.html может помочь
Свойства Udev
Менеджер устройств udev(7) используется для обнаружения сетевых устройств. Следующее свойство влияет на то, как NetworkManager управляет устройствами:
NM_UNMANAGED
Если установлено значение"1"
или"true"
, устройство настроено как неуправляемое NetworkManager. Обратите внимание, что пользователь все еще может явно отменить эту конфигурацию с помощью таких средств, какnmcli device set "$DEVICE" managed yes
или"device*.managed=1"
вNetworkManager.conf
.
Поэтому, пожалуйста, опубликуйте результат использования
nmcli device set proton0 managed yes
nmcli device set ipv6leakintrf0 managed yes
как показано, например, здесь.
И проверьте с помощью ls -al /etc/udev/rules.d/
есть ли какое-нибудь правило udev, которое может сказать Network Manager прекратить контролировать интерфейс