LoginSignup
3
3

More than 5 years have passed since last update.

Orange Pi PCでVPNルーターを作ってみた

Last updated at Posted at 2018-01-20

まえがき

ROKUを入手したので、OrangePiでVPNルーターを作ってみた。

今回のネットワークの構成は、ブロードバンドルーターの下にVPNルーター(OrangePi)を有線接続し、その下にROKUをwifi接続する。

LEDE/OpenWRTにはOrange Pi用のファームウエアイメージがあるが、Wifiが実装された基板のイメージファイルのみで、OrangePi PCのようにWifiが実装されていない基板のイメージファイルは提供されていない。

しかしながら、Wifi付きのOrangePiは技適未認証のため、これをWirelessルーターに使うことは電波法上の問題がある。

今回はOrangePi PCにUSB Wifiドングルを装着してVPNルーターを作る。国内販売されているUSB Wifiドングルを使えば電波法上の問題は回避できる。

1.OpenWRTイメージの作成(Armbianの準備)

OrangePi PC用のイメージは提供されていないため、カーネルとドライバはArmbianのものを使い、その上にOpenWRT(LEDE)環境を載せる。
詳細は下記リンクを参照のこと。

OpenWRT環境の構築に先立ってArmbianを実行させ、手持ちのUSB Wifiドングルが使えること、そのときにカーネルにロードされるカーネルモジュールを確認しておくとよい。

今回は
Armbian_5.35_Orangepipc_Ubuntu_xenial_default_3.4.113_desktop.img
を用いた。

また、USBドングルはLogitecのLAN-W150N/U2を使った。LinuxでもUSBポートに挿すだけで使えるもので、lsmodで見るとrt2800ドライバを使っていることがわかる。

lsusb出力:
Bus 001 Device 008: ID 0789:0168 Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter

lsmod出力:
Module Size Used by
rt2800usb 28672 0
rt2x00usb 20480 1 rt2800usb
rt2800lib 114688 1 rt2800usb
rt2x00lib 53248 3 rt2800lib,rt2800usb,rt2x00usb

ArmbianイメージをMicroSDカードに書き込んで、
/boot、/lib/module、/lib/firmware以外のフォルダをすべて削除する。

2.OpenWRT環境の構築

OrangePi PCにはH3プロセッサが搭載されているので、OrangePi用のOpenWRTイメージから、H3用のイメージを入手する。今回は開発版の
openwrt-sunxi-cortexa7-sun8i-h3-orangepi-plus-ext4-sdcard.img
を使った。安定版は動かなかった。

OpenWRTイメージを別のSDカードに書き込み、その中身をすべて1.で作ったSDカードにコピーする。
/libのコピー時に重複するものは、フォルダはマージ、ファイルはスキップしてコピーする。

この状態でSDカードをOrangePi PCに差し込み、OpenWRTが起動するか確認する。HDMIポートをディスプレイに繋いでいるなら、まずArmbianの起動画面が出て、次にOpenWRTの画面に切り替わるはずである。(Enterキーを一度押す必要がある)

この状態ではGUI設定(Luci)、wifiが動作しないので、必要なパッケージをダウンロードする。

OrangePiにrootでログイン(初期設定ではパスワードは設定されていない)し、/etc/config/networkを自宅のネット接続環境に合わせて書き換える。

デフォルトのOrangePi(OpenWRT)のIPアドレスは192.168.1.1である。

まずディスプレイとキーボードをOrangePiに繋ぎ、さらにOrangePiとブロードバンドルーターをLANケーブルで直接繋ぐ。
この状態で追加パッケージがダウンロードできるはずだが、繋がらなかった。
このため、OrangePiに固定IP(192.168.0.175)を割り当て、OrangePiの/etc/config/networkを次のように書き換え、パッケージリストをダウンロードした。

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd95:0289:2498::/48'

config interface 'lan'
    option type 'bridge'
    option proto 'static'
#   option ifname 'eth0' (コメントアウト)
    option ipaddr '192.168.0.175' (192.168.1.1から変更)
    option netmask '255.255.255.0'
    option ip6assign '60'
        option _orig_ifname 'eth0' (以下追加)
        option _orig_bridge 'true'

config interface 'wan'
        option proto 'dhcp'
        option ifname 'eth0'

追加パッケージは次のようにインストールした。

opkg update (ログイン毎に必要)
opkg install luci (OpenWRT設定用GUI)
opkg install kmod-rt2800-usb (USB Wifiドングルドライバ)
opkg install wireless-tools
opkg install wpad (WPA2認証に必要)
opkg install wpan-tools
opkg iwinfo

ありがたいことにH3用のArmbianとOpenWRTはカーネルモジュールも含めて互換性がある。
このまま再起動して、LuciからOpenWRTを設定する。

3.Wifiルーターの設定

まず、OrangePiをワイヤレスルーターとして設定する。

あらかじめwifiをupしておく。LEDの点灯状態が変化するはずである。

ifconfig wlan0 up

詳細はここを参照。この手順通りにWANとwlan0を設定する。

WifiでLuciの設定に入れるように設定してからWANとeth0を切り離すこと。もし開かずの箱になったら、SDカードをLinuxPCに差し込んで/etc/config/networkを編集する。

ここまでの設定を済ませたイメージファイルを以下からダウンロードできるようにした。

(350MB/展開後1.5GB)

OrangePi PCにイメージを書き込んだSDカードを挿して、RT2800系のチップが載ったUSB Wifiドングルを挿して起動すればワイヤレスルーターとして機能するはずである。
※ひょっとするとドングルを挿す位置(二つ縦に並んだ下側のUSBポートに挿している)によってはドングルが動かないかもしれない。

Luciの設定画面は、192.168.100.1に接続し、
ID:root, PASS:passwordでログインできる。
また、無線アクセスポイントはSSID:OpenWRT, PASS:passwordで接続できる。

ssl認証が必要な場合は、ntpclientのインストールが必要なので、追加でおこなうこと。

opke install ntpclient

他のチップが載ったUSB Wifiドングルも、適切なドライバパッケージをLuciの画面から指定してインストールすれば使える可能性がある。

4.OpenVPNの設定

3.で準備したワイヤレスルーターにOpenVPNパッケージをインストールし、VPNサービスに接続する。VPNサービスにはExpressVPNを使った。30日間無料である。

詳細は下記を参照のこと。

ExpressVPNにログインすると、左側に各プラットホームでの設定方法が記されたページへのボタンがあるので、クリックしてそこへ進む。
Manual Configを選び、VPNサービスのIDとパスワードを確認し、地域を選んでVPN接続設定が記されたovpnファイルをダウンロードする。

IDとPasswordを二行に分けて入力し、pass.txtとして保存したファイルを作る。
pass.txtとovpnファイルをOrangePiの/etc/openvpn/にコピーする。scpでも、SDカードに直書きでもかまわない。

OrangePiにログインして、/etc/openvpnに降りて
openvpn --config my_expressvpn_*****_udp.ovpn
を実行し、エラーが出なければVPN接続されているはずである。

最後にROKUをこのwifiルーターに接続し、アメリカ内のみで視聴できるチャンネル(CRACKLEなど)が視聴できればOK。
ROKUのアカウントはアメリカ内の住所で登録し、支払いはPaypalでおこなうこと。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3