Включение соединения VPN от Администратора сети автоматически адрес IPv6 add к Проводному соединению DHCP, даже если это отключено на настройках. Это заставляет VPN протекать на всех запросах адреса DNS, которые являются для адресов IPv6.
Как я могу предотвратить это поведение?
Sam
Это - единственный путь, который на самом деле работает над базирующимся дистрибутивом Debian.
sysctl-w сеть ipv6.conf.all.disable_ipv6=1
sysctl-w сеть ipv6.conf.all.disable_ipv6=0
Это подробное сообщение в блоге могло бы быть большой справкой: https://aaronhorler.com/articles/openvpn-17.10-dns-leak.html
Вот решение, которое они предоставили:
УСТАНОВИТЕ UPDATE-SYSTEMD-RESOLVED JONATHANIO. update-systemd-resolved, сценарий помощника, который непосредственно обновляет настройки DNS системы на соединении с сервером OpenVPN и сбрасывает их на разъединении.
Инструкции по установке подробно изложены здесь, но для простоты я повторю точно, что я сделал.
Обратите внимание, что я разветвил этот репозиторий и добавил, уничтожают функциональность переключателя с помощью UFW. Если Вы интересуетесь переключателем уничтожения, можно использовать мое ветвление вместо этого.
Клонируйте respository и компиляцию.sudo apt update sudo apt install git make openvpn git clone https://github.com/jonathanio/update-systemd-resolved.git cd update-systemd-resolved sudo make
Удостоверьтесь, что systemd-разрешенный включен и выполнение.
sudo systemctl enable systemd-resolved.service sudo systemctl start systemd-resolved.service
Теперь, обновление/etc/nsswitch.conf.
sudo nano /etc/nsswitch.conf
Найдите строку, запускающуюся с хостов: и измените его как ниже.
hosts: files resolve dns myhostname
ИЗМЕНИТЕ СВОЙ КОНФИГУРАЦИОННЫЙ ФАЙЛ OPENVPN/S. Конфигурационный файл OpenVPN обычно использует .ovpn расширение файла и используется для соединения с определенным сервером.
Найдите его и откройте его в текстовом редакторе.nano example.ovpn
Добавьте следующие строки.
dhcp-option DNSSEC allow-downgrade dhcp-option DOMAIN-ROUTE . script-security 2 setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin up /etc/openvpn/scripts/update-systemd-resolved down /etc/openvpn/scripts/update-systemd-resolved down-pre dhcp-option
DNSSEC allow-downgrade
включит DNSSEC, если сервер будет поддерживать его. Если Вы знаете, что Ваш сервер поддерживает DNSSEC (и Вы не хотите позволять снижения), можно изменитьсяallow-downgrade
кому:yes
.
dhcp-option DOMAIN-ROUTE .
направит все запросы DNS через OpenVPN-указанный сервер DNS.
Все другие строки требуются для того, чтобы запустить скрипт.ПОДКЛЮЧЕНИЕ ИСПОЛЬЗУЯ ТЕРМИНАЛ. Не соединяйтесь с OpenVPN с помощью Администратора сети (network-manager-openvpn-gnome). Это гарантирует утечки DNS.
Вместо этого выполните OpenVPN из командной строки.sudo openvpn --config example.ovpn
Если Вы обеспокоены тем, чтобы не быть уведомленным относительно разъединений, я советую использовать мое ветвление update-systemd-resolved, который реализует простой UFW killswitch.
Вы больше не должны испытывать утечки DNS! Протестируйте здесь.