min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi 3 にSoftEther VPN Clientインストール→VPNGateに接続→東京のサーバから通信→radikoで東京のラジオを受信する

 

RaspberryPiにradikoをインストールしたはいいが、自分が住んでいる地域のラジオしか聞けない。どうもIPアドレスで位置情報を特定されて、その地域のラジオに絞られているらしい。

それなら、VPNで例えば東京のサーバに繋いで、そこから繋げば東京のラジオが聞ける理屈だ。

ーーー

VPNには、有名なSoftEtherVPN Gateを使う。

このサイトのとおりに進める。

なのにねぬ: Linux版 SoftEther VPN Client で VPNGate に接続

まずはSoftEtherをダウンロードする。

ダウンロード - SoftEther VPN プロジェクト

f:id:min117:20160505073348p:plain

RaspberryPi用のソフトウェアを選択する。

f:id:min117:20160505073358p:plain

現時点(2016/5/5)の最新はVer4.21のようだ。

f:id:min117:20160505073420p:plain

リンクを右クリック→リンクをコピー。

wgetでダウンロードする。

$ wget リンクアドレス

f:id:min117:20160505073444p:plain

tar で解凍。

f:id:min117:20160505073622p:plain

解凍すると vpnclient というフォルダができるのでcdする。

$ cd vpnclient/

f:id:min117:20160505074058p:plain

一応重要事項説明書を読んでおく。

f:id:min117:20160505074107p:plain

f:id:min117:20160505074115p:plain

lsで中身を確認。

このあとmakeするので、必ずsudo -sしておく。

$ ls

$ sudo -s

f:id:min117:20160505074127p:plain

makeする。

# make

f:id:min117:20160505074526p:plain

色々聞かれるので 1. Yes で進める。

f:id:min117:20160505074534p:plain

f:id:min117:20160505074548p:plain

f:id:min117:20160505074557p:plain

f:id:min117:20160505074613p:plain

make完了後のls。

# ls

f:id:min117:20160505074840p:plain

今いる vpnclientフォルダごと、/usr/local/ に移動する。

# cd ..

# mv vpnclient/ /usr/local/

f:id:min117:20160505074858p:plain

vpnclientを開始する。

# ./vpnclient start

f:id:min117:20160505074945p:plain

接続したい中継サーバを選択する。

VPN Gate 筑波大学による公開 VPN 中継サーバープロジェクト

一番上にあるのでいいや。場所がどこにあるか確認する。

# whois サーバのIPアドレス

f:id:min117:20160505084708p:plain

東京都千代田区のようだ。

f:id:min117:20160505084729p:plain

ーーー

サーバアドレスへのスタティックルートの追加。

# route add -host [VPNGateサーバーへのアドレス] gw [現在のゲートウェイ]

f:id:min117:20160505085023p:plain

スタティックルートが追加されたか確認。

# route

f:id:min117:20160505085402p:plain

赤線のとおり追加されたようだ。

ーーー

vpncmd を使ってVPNのクライアントを設定する。

# ./vpncmd

f:id:min117:20160505082621p:plain

選択肢が3つあるが、今回はSoftEther提供のサーバにRaspberryPiをクライアントとして接続するので「2.Management of VPN Client」を選ぶ。

ーーー

接続先は localhost なので空のままEnterする。

f:id:min117:20160505082904p:plain

コンソールの文字が「VPN Client>」に変わった。

ーーー

次回からvpncmdを叩いたときに聞かれるパスワードを設定する。

VPN Client> PasswordSet

f:id:min117:20160505083200p:plain

トンネル用の仮想NIC(ネットワークインターフェースカード、つまりLANの口)を作成する。名前はtun0(トンネルゼロ= tunnel0)にする。

VPN Client> NicCreate tun0

f:id:min117:20160505083343p:plain

作った仮想NICを有効化する。

VPN Client> NicEnable tun0

f:id:min117:20160505083525p:plain

ーーー

vpngate0という名前のアカウントを追加する。

VPN Client> AccountCreate vpngate0 /SERVER:VPNGateのアドレス:ポート /HUB:VPNGATE /USERNAME:vpn /NICNAME:tun0

f:id:min117:20160505090204p:plain

VNPGateにあるサーバのアドレスとポート名は先程のサイトに書かれている(以下の赤枠部分)

VPN Gate 筑波大学による公開 VPN 中継サーバープロジェクト

f:id:min117:20160505084121p:plain

vnpgate0 は匿名ログインをするように設定する。

VPN Client> AccountAnonymousSet vpngate0

f:id:min117:20160505090514p:plain

vpngate0 を使って接続する。

VPN Client> AccountConnect vpngate0

f:id:min117:20160505090545p:plain

Ctrl + CでVPN Clientを抜けて、ifconfig でVPNバイスvpn_tun0)ができているか確認する。

# ifconfig

f:id:min117:20160505090839p:plain

routeコマンドでスタティックルートの状態も確認しておく。

# route

f:id:min117:20160505091425p:plain

ifconfigの結果から、vpn_tun0 のIPアドレスが169で始まってしまっている(IPアドレスが振られていない、APIPA)のが分かる。DHCPIPアドレスを取得する。

# dhclient vpn_tun0

現在のデフォルトゲートウェイを削除して、新しいゲートウェイを追加する。

# route del default

# route add default gw 10.211.254.254 dev vpn_tun0

ゲートウェイが 10.211.254.254は固定らしい。

SoftEther VPN (SSL-VPN) を用いた VPN Gate への接続方法

f:id:min117:20160505091957p:plain

VPNをやめるとき

# route del default

# route add default gw 元のゲートウェイ dev 元のインターフェース(wlan0とか)

# route del VPNGateのサーバのアドレス

# ./vpncmd

VPN Client> AccountDisconnect vpngate0

ーーー

うまくいかない。

# dhclient

VPNサーバからIPアドレスを取ってこれるはずなのに、ifconfigしてもvpn_tun0のアドレスは169で始まる(取ってこれてない)。

最初から検証。

# sudo ./vpnclient start

f:id:min117:20160505095218p:plain

サービスは起動してる。

ーーー

./vpncmd でアカウントのDisconnectしてからConnectしなおす。

VPNClient> のコンソールに入らなくても、ワンライナーでいけるらしい。

# ./vpncmd localhost /CLIENT /CMD AccountDisconnect vpngate0

f:id:min117:20160505095110p:plain

# ./vpncmd localhost /CLIENT /CMD AccountConnect vpngate0

f:id:min117:20160505095519p:plain

# dhclient vpn_tun0

f:id:min117:20160505095828p:plain

# ifconfig

f:id:min117:20160505090839p:plain

ダメだ。まだ169のまま。繋がってはいるはずだけど。再起動してみるかな。

ーーー

VPN Client> AccountStatusGet

f:id:min117:20160505102458p:plain

Connection to VPN Server Started になった。繋がってるはずなんだが。