Я в настоящее время выполняю сервер Ubuntu 18.04.1 LTS. У меня есть раздельное туннелирование установки VPN, и это, кажется, хорошо работает, однако я хочу проверить на утечки DNS. Существует ли способ сделать это с командной строкой? Не может действительно открыть браузер в сервере Ubuntu...
Обновленный с информацией для heynnema:
ls -al /etc/openvpn
total 52
drwxrwxrwx 4 root root 4096 Nov 2 21:32 .
drwxr-xr-x 99 root root 4096 Nov 3 12:40 ..
-rwxrwxrwx 1 root root 1403 Nov 2 20:35 ca.crt
drwxrwxrwx 2 root root 4096 Sep 5 14:43 client
-rwxrwxrwx 1 root root 1597 Nov 2 20:39 iptables.sh
-rwxrwxrwx 1 root root 18 Nov 2 20:36 login.txt
-rwxrwxrwx 1 root root 670 Nov 2 21:29 openvpn.conf
-rwxrwxrwx 1 root root 623 Nov 2 20:40 routing.sh
drwxrwxrwx 2 root root 4096 Sep 5 14:43 server
-rwxrwxrwx 1 root root 636 Nov 2 20:35 tls.key
-rwxrwxrwx 1 root root 11773 Nov 12 2017 update-systemd-resolved
#
grep -i hosts /etc/nsswitch.conf
hosts: files resolve [!UNAVAIL=return] dns
# Раздел "предотвращает утечку DNS", я добрался от руководства онлайн, однако VPN не работает вообще для меня, если я включаю ту команду.
up/down/down-pre
#up and down scripts to be executed when VPN starts or stops
up /etc/openvpn/iptables.sh
down /etc/openvpn/update-systemd-resolved
down-pre
# prevent DNS leakage
#dhcp-option DOMAIN-ROUTE .
Подробнее:
#! /bin/bash
# Niftiest Software – www.niftiestsoftware.com
# Modified version by HTPC Guides – www.htpcguides.com
export INTERFACE="tun0"
export VPNUSER="vpn"
export LOCALIP="192.168.1.10"
export NETIF="enp1s0"
# flushes all the iptables rules, if you have other rules to use then add them into the script
iptables -F -t nat
iptables -F -t mangle
iptables -F -t filter
# mark packets from $VPNUSER
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT ! --dest $LOCALIP -m owner --uid-owner $VPNUSER -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT --dest $LOCALIP -p udp --dport 53 -m owner --uid-owner $VPNUSER -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT --dest $LOCALIP -p tcp --dport 53 -m owner --uid-owner $VPNUSER -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT ! --src $LOCALIP -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT -j CONNMARK --save-mark
# allow responses
iptables -A INPUT -i $INTERFACE -m conntrack --ctstate ESTABLISHED -j ACCEPT
# block everything incoming on $INTERFACE to prevent accidental exposing of ports
iptables -A INPUT -i $INTERFACE -j REJECT
# let $VPNUSER access lo and $INTERFACE
iptables -A OUTPUT -o lo -m owner --uid-owner $VPNUSER -j ACCEPT
iptables -A OUTPUT -o $INTERFACE -m owner --uid-owner $VPNUSER -j ACCEPT
# all packets on $INTERFACE needs to be masqueraded
iptables -t nat -A POSTROUTING -o $INTERFACE -j MASQUERADE
# reject connections from predator IP going over $NETIF
iptables -A OUTPUT ! --src $LOCALIP -o $NETIF -j REJECT
# Start routing script
/etc/openvpn/routing.sh
exit 0
Что я сделал:
ssh -X VPNuser@server
firefox
Затем зашел на сайт для проверки DNS-утечки.
Проверить cat /etc/resolv.conf
для адресов сервера имен. Если это говорит 127.0.0.1 или 127.0.0.53, то у Вас, вероятно, есть утечки DNS. Необходимо видеть IP-адрес DNS VPN и 127.0.0.1/127.0.0.53 (которые, вероятно, указывают на маршрутизатор в 192.168.0.1/192.168.1.1).
Маршрутизатор, вероятно, установлен на 8.8.8.8/8.8.4.4 или 208.67.222.222/208.67.220.220 для его маршрутизаторов DNS, и у Вас будет утечка DNS.
Если Вы можете SSH в свой сервер и получать GUI, можно проверить http://dnsleak.com или http://dnsleaktest.com для проверки на утечки DNS.
Примечание: это не может относиться к "раздельному туннелированию установка VPN", я не знаю.
Обновление № 1:
Пользователь работает с openvpn-system-resolved
, таким образом, большая часть моего ответа не применяется.