web-dev-qa-db-ja.com

UbuntuサーバーでDNSリークをチェックする

現在、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
1
Jesper.Lindberg

ネームサーバーのアドレスについては、cat /etc/resolv.confを確認してください。 127.0.0.1または127.0.0.53と表示されている場合、おそらくDNSリークがあります。 VPN DNSのIPアドレスと127.0.0.1/127.0.0.53(おそらく192.168.0.1/192.168.1.1のルーターを指している)が表示されるはずです。

ルーターは、DNSルーターの場合、おそらく8.8.8.8/8.8.4.4または208.67.222.222/208.67.220.220に設定されており、DNSリークが発生します。

サーバーにSSH接続してGUIを取得できる場合、 http://dnsleak.com または http://dnsleaktest.com をチェックしてDNSリークをチェックできます。

注:これは「スプリットトンネルVPNセットアップ」には適用されない可能性がありますが、わかりません。

#1:を更新

ユーザーはopenvpn-system-resolvedで実行しているため、私の答えのほとんどは当てはまりません。

1
heynnema