Я только что настроил сервер OpenVPN. Он подключается нормально и все такое, но после проверки на dnsleaktest.com я обнаружил, что есть утечка DNS. Я искал решения и нашел только несколько строк:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Они не помогли ситуации. Вот мой файл конфигурации клиента:
client
dev tun
proto udp
remote **SERVER IP ADDRESS CENSORED** 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
cipher AES-128-CBC
auth SHA256
comp-lzo
verb 3
key-direction 1
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Вот мой resolv.conf
файлы как для моего клиента, так и для сервера:
Клиент:
nameserver 127.0.0.1
Сервер:
nameserver 8.8.8.8
P.S. Я не использую сетевой менеджер gnome, я использую CLI. Что меня смущает, почему у меня утечка DNS.
В вашей конфигурации нет ничего, что указывало бы на то, как вы на самом деле направляете запросы DNS вашего клиента через соединение vpn. Вы можете установить серверы имен клиента на localhost / 127.0.0.1, но независимо от того, какой преобразователь прослушивает 127.0.0.1:53, все равно потребуется пересылать запросы DNS на внешний преобразователь.
В конфигурации вашего клиента вы можете использовать комбинацию
--redirect-шлюз
--dhpc-option DNS 10.8.0.1 (или другой адрес сервера)
Или для более детального управления, и если вы не хотите направлять весь трафик через туннель vpn, вы можете использовать цепочку mangle / prerouting, чтобы пометить пакеты с портом назначения 53, а затем добавить правило (ip rule add fwmark (mark value ) table VPN_TABLE), который направляет помеченные пакеты в таблицу маршрутизации, шлюз по умолчанию которой настроен на адрес однорангового узла tun вашего клиента.