web-dev-qa-db-fra.com

Vérifier les fuites DNS sur le serveur Ubuntu

J'utilise actuellement le serveur Ubuntu 18.04.1 LTS. J'ai configuré le VPN tunnel fendu et il semble bien fonctionner, mais je souhaite vérifier les fuites DNS. Existe-t-il un moyen de faire cela avec la ligne de commande? Impossible d'ouvrir un navigateur sur le serveur Ubuntu ...

Mis à jour avec info pour 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

# La section "prévention des fuites DNS" que j'ai obtenue de guide en ligne, mais le VPN ne fonctionne pas du tout pour moi si j'active cette commande.

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 .

Plus d'informations:

#! /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
1
Jesper.Lindberg

Vérifiez cat /etc/resolv.conf pour les adresses du serveur de noms. Si elle indique 127.0.0.1 ou 127.0.0.53, vous avez probablement des fuites DNS. Vous devriez voir l’adresse IP de votre DNS VPN et 127.0.0.1/127.0.0.53 (qui pointe probablement vers votre routeur à 192.168.0.1/192.168.1.1).

Le routeur est probablement défini sur 8.8.8.8/8.8.4.4 ou 208.67.222.222/208.67.220.220 pour ses routeurs DNS et vous aurez une fuite DNS.

Si vous pouvez utiliser SSH sur votre serveur et obtenir une interface graphique, vous pouvez vérifier http://dnsleak.com ou http://dnsleaktest.com pour rechercher les fuites DNS.

Remarque: cela peut ne pas s’appliquer à une "configuration de VPN à tunnel divisé", je ne le sais pas.

Mise à jour # 1:

L'utilisateur s'exécute avec openvpn-system-resolved, la plupart de mes réponses ne s'appliquent donc pas.

1
heynnema