RaspberryPiにradikoをインストールしたはいいが、自分が住んでいる地域のラジオしか聞けない。どうもIPアドレスで位置情報を特定されて、その地域のラジオに絞られているらしい。
それなら、VPNで例えば東京のサーバに繋いで、そこから繋げば東京のラジオが聞ける理屈だ。
ーーー
VPNには、有名なSoftEtherのVPN Gateを使う。
このサイトのとおりに進める。
なのにねぬ: Linux版 SoftEther VPN Client で VPNGate に接続
まずはSoftEtherをダウンロードする。
RaspberryPi用のソフトウェアを選択する。
現時点(2016/5/5)の最新はVer4.21のようだ。
リンクを右クリック→リンクをコピー。
wgetでダウンロードする。
$ wget リンクアドレス
tar で解凍。
解凍すると vpnclient というフォルダができるのでcdする。
$ cd vpnclient/
一応重要事項説明書を読んでおく。
$
lsで中身を確認。
このあとmakeするので、必ずsudo -sしておく。
$ ls
$ sudo -s
makeする。
# make
色々聞かれるので 1. Yes で進める。
make完了後のls。
# ls
今いる vpnclientフォルダごと、/usr/local/ に移動する。
# cd ..
# mv vpnclient/ /usr/local/
vpnclientを開始する。
# ./vpnclient start
接続したい中継サーバを選択する。
VPN Gate 筑波大学による公開 VPN 中継サーバープロジェクト
一番上にあるのでいいや。場所がどこにあるか確認する。
東京都千代田区のようだ。
ーーー
サーバアドレスへのスタティックルートの追加。
# route add -host [VPNGateサーバーへのアドレス] gw [現在のゲートウェイ]
スタティックルートが追加されたか確認。
# route
赤線のとおり追加されたようだ。
ーーー
vpncmd を使ってVPNのクライアントを設定する。
# ./vpncmd
選択肢が3つあるが、今回はSoftEther提供のサーバにRaspberryPiをクライアントとして接続するので「2.Management of VPN Client」を選ぶ。
ーーー
接続先は localhost なので空のままEnterする。
コンソールの文字が「VPN Client>」に変わった。
ーーー
次回からvpncmdを叩いたときに聞かれるパスワードを設定する。
VPN Client> PasswordSet
トンネル用の仮想NIC(ネットワークインターフェースカード、つまりLANの口)を作成する。名前はtun0(トンネルゼロ= tunnel0)にする。
VPN Client> NicCreate tun0
作った仮想NICを有効化する。
VPN Client> NicEnable tun0
ーーー
vpngate0という名前のアカウントを追加する。
VPN Client> AccountCreate vpngate0 /SERVER:VPNGateのアドレス:ポート /HUB:VPNGATE /USERNAME:vpn /NICNAME:tun0
VNPGateにあるサーバのアドレスとポート名は先程のサイトに書かれている(以下の赤枠部分)
VPN Gate 筑波大学による公開 VPN 中継サーバープロジェクト
vnpgate0 は匿名ログインをするように設定する。
VPN Client> AccountAnonymousSet vpngate0
vpngate0 を使って接続する。
VPN Client> AccountConnect vpngate0
Ctrl + CでVPN Clientを抜けて、ifconfig でVPNデバイス(vpn_tun0)ができているか確認する。
# ifconfig
routeコマンドでスタティックルートの状態も確認しておく。
# route
ifconfigの結果から、vpn_tun0 のIPアドレスが169で始まってしまっている(IPアドレスが振られていない、APIPA)のが分かる。DHCPでIPアドレスを取得する。
# 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 への接続方法
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
サービスは起動してる。
ーーー
./vpncmd でアカウントのDisconnectしてからConnectしなおす。
VPNClient> のコンソールに入らなくても、ワンライナーでいけるらしい。
# ./vpncmd localhost /CLIENT /CMD AccountDisconnect vpngate0
# ./vpncmd localhost /CLIENT /CMD AccountConnect vpngate0
# dhclient vpn_tun0
# ifconfig
ダメだ。まだ169のまま。繋がってはいるはずだけど。再起動してみるかな。
ーーー
VPN Client> AccountStatusGet
Connection to VPN Server Started になった。繋がってるはずなんだが。