RaspbianからOpenVPNに接続する

RaspbianからOpenVPNに接続する

Raspbianを使用してRaspberry Pi 3でVPN接続を確立しようとしています。しかし、私はこれを行うことはできません。

私はVPNBookを使用しており、OpenVPNを使用するために.ovpnファイルをダウンロードしました。

.ovpn ファイルの内容は次のとおりです。

client
dev tun3
proto tcp
remote 176.126.237.217 80
remote euro217.vpnbook.com 80
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass pass.txt
comp-lzo
verb 3
cipher AES-128-CBC
fast-io
pull
redirect-gateway
script-security 2

これは私が得た結果です。

pi@raspberrypi:/etc/openvpn/vpnbook $ sudo openvpn --config vpnbook-euro1-tcp80.ovpn
Wed Feb  8 00:07:45 2017 OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jan 23 2016
Wed Feb  8 00:07:45 2017 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
Wed Feb  8 00:07:45 2017 WARNING: file 'pass.txt' is group or others accessible
Wed Feb  8 00:07:45 2017 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Feb  8 00:07:45 2017 NOTE: --fast-io is disabled since we are not using UDP
Wed Feb  8 00:07:45 2017 Socket Buffers: R=[87380->131072] S=[16384->131072]
Wed Feb  8 00:07:45 2017 Attempting to establish TCP connection with [AF_INET]176.126.237.217:80 [nonblock]
Wed Feb  8 00:07:46 2017 TCP connection established with [AF_INET]176.126.237.217:80
Wed Feb  8 00:07:46 2017 TCPv4_CLIENT link local: [undef]
Wed Feb  8 00:07:46 2017 TCPv4_CLIENT link remote: [AF_INET]176.126.237.217:80
Wed Feb  8 00:07:46 2017 TLS: Initial packet from [AF_INET]176.126.237.217:80, sid=f8773375 a8e3c418
Wed Feb  8 00:07:46 2017 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Feb  8 00:07:47 2017 VERIFY OK: depth=1, C=CH, ST=Zurich, L=Zurich, O=vpnbook.com, OU=IT, CN=vpnbook.com, name=vpnbook.com, [email protected]
Wed Feb  8 00:07:47 2017 VERIFY OK: depth=0, C=CH, ST=Zurich, L=Zurich, O=vpnbook.com, OU=IT, CN=vpnbook.com, name=vpnbook.com, [email protected]
Wed Feb  8 00:07:48 2017 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Feb  8 00:07:48 2017 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Feb  8 00:07:48 2017 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Feb  8 00:07:48 2017 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Feb  8 00:07:48 2017 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Wed Feb  8 00:07:48 2017 [vpnbook.com] Peer Connection Initiated with [AF_INET]176.126.237.217:80
Wed Feb  8 00:07:50 2017 SENT CONTROL [vpnbook.com]: 'PUSH_REQUEST' (status=1)
Wed Feb  8 00:07:50 2017 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS  89.233.43.71,dhcp-option DNS  91.239.100.100,route 10.12.0.1,topology net30,ping 5,ping-restart 30,ifconfig 10.12.0.6 10.12.0.5'
Wed Feb  8 00:07:50 2017 OPTIONS IMPORT: timers and/or timeouts modified
Wed Feb  8 00:07:50 2017 OPTIONS IMPORT: --ifconfig/up options modified
Wed Feb  8 00:07:50 2017 OPTIONS IMPORT: route options modified
Wed Feb  8 00:07:50 2017 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Feb  8 00:07:50 2017 ROUTE_GATEWAY 192.168.0.1/255.255.255.0 IFACE=wlan0 HWADDR=b8:27:eb:e3:f8:56
Wed Feb  8 00:07:50 2017 TUN/TAP device tun3 opened
Wed Feb  8 00:07:50 2017 TUN/TAP TX queue length set to 100
Wed Feb  8 00:07:50 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Feb  8 00:07:50 2017 /sbin/ip link set dev tun3 up mtu 1500
Wed Feb  8 00:07:50 2017 /sbin/ip addr add dev tun3 local 10.12.0.6 peer 10.12.0.5
Wed Feb  8 00:07:50 2017 /sbin/ip route add 176.126.237.217/32 via 192.168.0.1
Wed Feb  8 00:07:50 2017 /sbin/ip route add 0.0.0.0/1 via 10.12.0.5
Wed Feb  8 00:07:50 2017 /sbin/ip route add 128.0.0.0/1 via 10.12.0.5
Wed Feb  8 00:07:50 2017 /sbin/ip route add 10.12.0.1/32 via 10.12.0.5
Wed Feb  8 00:07:50 2017 Initialization Sequence Completed

現時点では、どのウェブサイトにもアクセスできません(名前またはIPアドレスを入力して)。ただし、一部のIPアドレス(216.58.212.99など)はpingできますが、ホスト名(www.google.frなど)はpingできません。

DNSの問題だと思い、検索しようとした後、.ovpnファイルを次の行に更新しました。

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

これは何も変えません。

[編集]ホスト名をpingできないため、まだDNSの問題があるようです。インターネットで見た様々なフォーラム資料を試しましたが、何も機能しませんでした。私のDNSが機能しない理由を理解するために最初に見なければならないことはありますか?実際、DNS要求がトンネルを通過してVPNサーバーから送信されないのはなぜですか? [/編集する]

他のVPN(VPNGate)も試してみましたが、同じ問題が発生しました。

openvpnが起動すると、ネットワーク上のすべてが非常に遅くなります。トンネルが正常に機能しているかどうかはわかりません。

[編集]実際にトンネルが機能しているようですが、単一のウェブサイトを読み込めないことをどのように確認できますか?すべてがとても遅く、なぜそうなのかわかりません。 VPNBookを使用している唯一の人ではなく、他のVPNプロバイダを使用しても同じ結果が出たため、私の設定から来ている可能性があります。 [/編集する]

[2回目の編集]

それでもこの問題は引き続き発生しており、ネットワークのしくみを完全に理解するためにチュートリアルを読んでいます。これまで申し上げることができるのは、VPNが有効になると構成に2つの奇妙な点があるということです。

まず、VPN接続用に作成された「tun3」インターフェイスでは、MACアドレスはすべて0です。他のインターフェースと同じではありませんか?

tun3      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.12.0.170  P-t-P:10.12.0.169  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:126 errors:0 dropped:0 overruns:0 frame:0
          TX packets:358 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:16864 (16.4 KiB)  TX bytes:35559 (34.7 KiB)

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:e3:f8:56
          inet addr:192.168.0.17  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6dfb:5d45:2ae7:fe43/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24791 errors:0 dropped:7790 overruns:0 frame:0
          TX packets:19963 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4974169 (4.7 MiB)  TX bytes:2843776 (2.7 MiB)

2.ルーティングテーブル(VPNがオンのときに非常に遅く表示されます):

VPNがない場合:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    303    0        0 wlan0
192.168.0.0     *               255.255.255.0   U     303    0        0 wlan0

VPNを使用してください:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.12.0.169     128.0.0.0       UG    0      0        0 tun3
default         192.168.0.1     0.0.0.0         UG    303    0        0 wlan0
10.12.0.1       10.12.0.169     255.255.255.255 UGH   0      0        0 tun3
10.12.0.169     *               255.255.255.255 UH    0      0        0 tun3
128.0.0.0       10.12.0.169     128.0.0.0       UG    0      0        0 tun3
176.126.237.217 192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.0.0     *               255.255.255.0   U     303    0        0 wlan0

ピンでさえできないゲートウェイが1つあります:10.12.0.169。実際、私は私の新しいIPアドレスがネットワークの残りのIPアドレスと完全に異なる理由でさえ理解していません。 「tun3」にも192.168.0.xxxのようなIPアドレスを持たなければなりませんか?このIPアドレス10.12.0.170はどこから来ましたか?そして、私のローカルネットワークへのルートを除くすべての目的地のゲートウェイは192.168.0.1(私のインターネットプロバイダ)でなければなりませんか?

今は奇妙だと思われるものですが、まだWebチュートリアルを読んでいて、答えがあれば答えを持って戻ってきます。

[/2番目の編集]

ベストアンサー1

resolvconfパッケージをインストールし、更新してアップグレードして動作させました。奇妙なことは、紛失したというメッセージを全く受け取っていないということですresolvconf。をインストールする際にresolvconf必須とされており、uninstall openresolvおそらくこれを代わりに使用しているでしょうresolvconf

とにかく、これは当時動作し、再起動後も動作します。その後、デバイスをシャットダウンしても何も変更しない限り、ホスト名を解決できません。resolvconf何もしないようです。

編集:「dnsmasqパッケージ」も削除し、次のファイルに次の行を追加しました。

/etc/host.conf

order hosts,bind # was missing
multi off # was on

/etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files myhostname mdns4_minimal [NOTFOUND=return] dns
networks:       files dns # dns was missing

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

しかし、今ではいくつかの名前を解決できますが、すべては解決できません。私はそれを解決できますが、例えばそうではwww.google.comありませんtorrent.ubuntu.com。使用するDNSを指定するコマンドを使用してもVPNに接続すると確認できませんdigtorrent.ubuntu.comVPNに接続していない場合は問題を解決することも、VPNサーバーのDNSを使用して問題を解決することもできます。

おすすめ記事