Я использую клиента OpenVPN через плагин OpenVPN Network Manager в двойном стеке (то есть настроен как для подключения к IPv4, так и для подключения к IPv6) Ubuntu 13.10 для перенаправления всего трафика через VPN (redirect-gateway). Как правило, работает нормально.
Однако из-за того, что система предпочитает IPv6, VPN «протекает», и при подключении к сайтам, которые также доступны через IPv6 (например, Google или Википедия), браузер подключается напрямую.
Одним из решений было бы настроить сервер OpenVPN для обеспечения подключения IPv6. Хотя это возможно с OpenVPN, плагин для Network Manager в настоящее время не поддерживает его.
Поскольку подключение IPv6 через VPN не является строго необходимым, я хотел бы просто отключить IPv6 на клиенте при подключении к серверу OpenVPN. Является ли это возможным? Если так, как я могу это сделать?
источник
Ответы:
Добавьте это в строку вашего ядра в загрузчике, чтобы полностью отключить IPv6:
Если вы используете Grub (если вы не установили собственный загрузчик, то вы используете Grub), строка вашего ядра должна выглядеть примерно так:
Рекомендуемый подход для добавления чего-либо в строку ядра заключается в добавлении нужного параметра ядра в
GRUB_CMDLINE_LINUX_DEFAULT
переменную в/etc/default/grub
файле:Как только вы добавите это к
/etc/default/grub
, запустите следующую команду, чтобы восстановитьgrub.cfg
:Кроме того, добавление
ipv6.disable_ipv6=1
вместо этого сохранит работоспособность стека IPv6, но не назначит адреса IPv6 ни одному из ваших сетевых устройств.ИЛИ
Чтобы отключить IPv6 через sysctl, поместите в свой
/etc/sysctl.conf
файл следующее:Не забудьте закомментировать любые хосты IPv6 в вашем
/etc/hosts
файле:НОТА
перезагрузка может потребоваться для метода sysctl, и перезагрузка определенно требуется для подхода строки ядра.
ИЛИ
Чтобы временно отключить ipv6:
Чтобы временно включить его:
Так что если вам нужно отключить ipv6 при заданном условии , тогда напишите сценарий bash где-нибудь по следующим направлениям:
НОТА
Возможно, вам также потребуется отключить любые хосты ipv6 в вашем
/etc/hosts
файле для этого метода, как я рекомендовал в предыдущем методе.источник
nmcli
проверить, подключен ли ваш VPN; если это не сработает, я уверен, что есть сетевая утилита командной строки, которая даст доступ к этой информации.sysctl
) не позволяет правильно повторно включить IPv6 для WiFi. Вам необходимо повторно подключиться к точке доступа, чтобы включить ее.Вы можете отключить ipv6 на уровне клиента для определенного подключения Network Manager , установив для параметра IPv6 ipv6.method значение «игнорировать».
// SOP: воссоздать соединение с локальной сетью, используя ИСПРАВЛЕНО IP 192.168.0.95 для Ethernet. `` `` `
`` `` `
источник
Я на Ubuntu 16.04.03 LTS, подключаюсь к серверу Pi-Hole через PiVPN.
Вот что я сделал для автоматического включения и выключения IPv6 при подключении к VPN через Network Manager:
Создать скрипт в
/etc/NetworkManager/dispatcher.d
:Добавьте следующее содержимое в файл (измените содержимое в соответствии с вашими требованиями):
Сделайте скрипт исполняемым:
Вот и все. Мне пришлось вручную добавить свой Pi-Hole DNS из-за
dnsmasq
ошибки, которая не позволяетresolv.conf
корректно обновляться, поэтому измените указанные строки, если обнаружите утечку DNS.источник
Я думаю, что менее навязчиво отключить ip6 в клиентском файле (отредактируйте client_conf_file.ovpn), который модифицирует стек tcp ядра.
Откройте свой conf_file.ovpn и добавьте следующие строки:
Я попробовал и после этого ipv6 исчезает.
До. Я бегу
ip a |grep global
и результат:После. Я бегу
ip a |grep global
и результат:источник
Отредактируйте профиль OpenVPN в NetworkManager, откройте вкладку IPv6 и вручную добавьте маршрут:
Адрес: 2000 Префикс: 3 Шлюз: 0100 :: 1
2000 :: / 3 перехватывает все общедоступные IPv6-адреса. Префикс 0100 :: / 64 - это специальный префикс, предназначенный для отбрасывания трафика. По сути, вы будете отправлять весь трафик IPv6 на несуществующий шлюз.
Сверху: легко и полностью автоматически.
Недостаток: некоторые приложения, а именно инструменты командной строки, могут не откатиться к IPv4 так быстро, как хотелось бы при использовании этого метода.
источник
Попробуйте мой простой сценарий, который я только что сделал, это будет,
Если на определенных интерфейсах все еще есть адрес ipv6, клиент все еще пробует маршрутизацию ipv6, но поскольку DNS использует UDP, есть вероятность утечки DNS, которую TCPwrapper не может отключить.
Этот сценарий также хорошо работает с другими интерфейсами, потому что он больше не зависит от аргумента NetworkManager, такого как vpn-up vpn-down.
создать исполняемый файл в /etc/NetworkManager/dispatcher.d/
вставьте код ниже
затем сделайте его исполняемым
PS OpenVPN с Network Manager теряет множество опций преимуществ OpenVPN из версий командной строки.
источник