Я использую клиент 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 в целом:
ipv6.disable=1
при использовании Личинки (если Вы не установили свой собственный загрузчик, тогда Вы используете Личинку), Ваша строка ядра должна выглядеть примерно так:
linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ipv6.disable=1
рекомендуемый подход, для добавления чего-то к строке ядра, должен добавить желаемый параметр ядра к GRUB_CMDLINE_LINUX_DEFAULT
переменная в /etc/default/grub
файл:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
, Как только Вы добавили, что к [1 111], выполнял следующую команду для регенерации Вашего grub.cfg
:
sudo grub-mkconfig -o /boot/grub/grub.cfg
, С другой стороны, добавление ipv6.disable_ipv6=1
вместо этого сохранит стек IPv6 функциональным, но не присвоит адреса IPv6 ни одному из Ваших сетевых устройств.
Для отключения IPv6 через sysctl поместите следующее в Ваш /etc/sysctl.conf
файл:
net.ipv6.conf.all.disable_ipv6 = 1
не забывают комментировать любые хосты IPv6 в Вашем /etc/hosts
файл:
#::1 localhost.localdomain localhost
ПРИМЕЧАНИЕ
перезагрузка может требоваться для sysctl метода, и перезагрузка определенно требуется для подхода строки ядра.
К [1 119] временно отключают ipv6:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
К [1 120] временно включают его:
sysctl -w net.ipv6.conf.all.disable_ipv6=0
Поэтому, если необходимо отключить ipv6 на, учитывая [1 121] условие , затем запишите сценарий удара где-нибудь вдоль этих строк:
#!/bin/bash
ipv6_disabled="$(sysctl net.ipv6.conf.all.disable_ipv6 | awk '{print $NF}')"
if (connected_to_vpn &> /dev/null); then
(($ipv6_disabled)) || sysctl -w net.ipv6.conf.all.disable_ipv6=1
else
(($ipv6_disabled)) && sysctl -w net.ipv6.conf.all.disable_ipv6=0
fi
ПРИМЕЧАНИЕ
Вы, возможно, должны были бы отключить любые хосты ipv6 в Вашем /etc/hosts
файл для этого метода также, как я рекомендовал в предыдущем методе.
Можно отключить ipv6 на клиентском уровне для определенного Администратора сети соединение путем установки опции ipv6.method IPv6 "проигнорировать"
//SOP: Воссоздайте мое соединение LAN с помощью ЗАФИКСИРОВАННОГО IP 192.168.0.95 к Ethernet''''.
nmcli connection delete lan-ethernet
nmcli connection add con-name lan-ethernet \
ifname enp0s31f6 \
type ethernet \
ip4 192.168.0.95/24 gw4 192.168.0.1
nmcli connection modify lan-ethernet ipv6.method "ignore"
nmcli connection modify lan-ethernet ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up lan-ethernet
sleep 1
nmcli device status
nmcli connection show
ifconfig enp0s31f6
''''
sysctl
) не повторно включает IPv6 для WiFi правильно. Необходимо снова соединиться с точкой доступа для включения его. – Wan Bachtiar 18.05.2020, 03:21nmcli
, чтобы проверить, если Ваше связанное с Вашей VPN; если это doesn' t работают тогда I' m верный there' s утилита сети командной строки там, которая предоставит доступ к той информации. – Jonathan Leffler 18.05.2020, 03:22