コメントを追加 [1] 公衆無線LANからより安全にインターネットにアクセスするために NAS TS-109)にOpenVPNを建ててAndroidから繋げ るようにしました 自宅のルータはWHR-HP-G300Nという機種でもともとPPTP機能が付いているのですが あいにくspモードはPPTPに接続 できません そこで自分でNASにOpenVPNを設定することにしました 最近のQNAPのNASはもともとOpenVPN機能が備わっていて管理画面からちょいちょいと設定できるようなのですが うち のTS-109は古い機種なのでそのような新しいファームウェアには対応していません ですから自分でやる必要があります そこで参考にしたページはこちらです Install OpenVPN on QNAP [2] Androidからのアクセスについてはこちらも さくらのVPSにOpenVPNを建ててAndroidから繋げるようにした [3] ダイナミックDNSの設定 まず インターネットからNASにアクセスできるように DDNSの設定が必要です 昔はQNAPのDDNSといえばDynDNSだっ たのですが最近有料になってしまったようです 調べてみると一旦Free Trialに申し込んでから解約すれば1ホストだけは無 料で使い続けられるようなのですが クレジットカード情報の登録が必要なのでやめました TS-109にはDynDNSの他にもいくつかのDDNSサービスの設定ができるようになっています そこで no-ip を使うことにしました http://www.noip.com/ [4] ドメイン登録後 試しにアクセスしてみるとルータのログイン画面がでました アクセスできているみたいです OpenVPNのインストールと設定 インストール自体は簡単です ipkg update ipkg list grep openvpn openvpn - 2.2.0-1 - SSL based VPN server with Windows client support ipkg install openvpn ここで openvpn を実行してみると openvpn OpenVPN 2.2.0 arm-none-linux-gnueabi [SSL] [LZO2] [EPOLL] [eurephia] built on Feb 17 2012 General Options: --config file : Read configuration options from file. --help : Show options. --version : Show copyright and version information. Page 1 of 6 -- サイト内検索 -- -- プライバシーポリシー --
以下省略 確かにインストールはできたみたいです 次に cd /opt/etc/openvpn mkdir log cd log touch openvpn.log touch status.log mkdir /opt/etc/openvpn/modules そして次に行うのは tun.ko モジュールのインストールです 以下のリンクから tun.ko モジュールをダウンロードします http://www.box.net/shared/68nynucztf [5] 解凍後のtun.ko というファイルを /opt/etc/openvpn/modules へコピーします それから autorun.sh を編集します mount -t ext2 /dev/mtdblock5 /tmp/config /tmp/config/autorun.sh に以下の行を追加します install tun.ko mkdir /dev/net; mknod /dev/net/tun c 10 200; (sleep 20;insmod /opt/etc/openvpn/modules/tun.ko)& 再起動してから lsmod を実行してみて tun 8896 1 - Live 0xbf07a00 というような行が見えればOK だめなときは sleep をもう少し増やしてみます 鍵の生成 鍵の生成はPC上で行います PCに OpenVPN GUI をインストールします ダウンロードは以下のリンクから http://openvpn.se/ [6] 次にインストール先の easy-rsaフォルダで init-config します cd C:\Program Files (x86)\openvpn\easy-rsa init-config 次に vars.bat を編集します Page 2 of 6
set KEY_COUNTRY=JP set KEY_PROVINCE=Kanagawa set KEY_CITY=XXX set KEY_ORG=XXXXXXXX set KEY_EMAIL=XXXXXXXXXXX 編集できたら次は vars clean-all build-ca いろいろ聞かれますが さっき編集した vars.bat の値がデフォルト値になっているのでReturnキーをたたきます Common Name のところはサーバー名をいれます 次に サーバ用の鍵を生成します 引数の のところはさっきいれたCommon Nameに置き換えます build-key-server 同様にクライアント用の鍵を生成します のところは適当な名前でどうぞ build-key そういえば 鍵生成の途中でパスワードを聞かれたような気がしますが そこは何も入力せずにReturnです さらに ディフィー ヘルマン鍵共有パラメータを生成します build-dh できあがった鍵 ca.crt, dh1024.pem, server.crt, server.key をNASの /opt/etc/openvpn/keys に置きます さらに TLS-AUTH HMAC 共有鍵も使うことにしました $ /opt/sbin/openvpn --genkey --secret /opt/etc/openvpn/keys/ta.key サーバーコンフィグファイルの設定 /opt/etc/openvpn/easy.conf というファイルを作りました 中身はこんな感じ OpenVPN server configuration QNAP NAS basic settings port 1194 proto udp dev tun Page 3 of 6
detect mtu if the connection is slow. ;mtu-test define mtu, if necessary ;tun-mtu 1280 ;mssfix 1280 ;fragment 1280 define the ip-addresses of the underlying tunnel server 10.8.0.0 255.255.255.0 Route push "route XXX.XXX.XXX.XXX 255.255.255.0" <--- Enter the ip-address of your home network here! push "redirect-gateway def1" push "dhcp-option DNS XXX.XXX.XXX.XXX" DNS ip-address certificates & keys dh /opt/etc/openvpn/keys/dh1024.pem ca /opt/etc/openvpn/keys/ca.crt cert /opt/etc/openvpn/keys/server.crt key /opt/etc/openvpn/keys/server.key tls-auth /opt/etc/openvpn/keys/ta.key 0 data compression comp-lzo push "comp-lzo yes" allow, that several clients with the same common name log on ; duplicate-cn different clients can "see" each other through the tunnel. ; client-to-client Keepalive keepalive 15 120 verbosity of status messages in the console. Activate for debugging (1-9 possible) verb 5 Log files status /opt/etc/openvpn/log/status.log log-append /opt/etc/openvpn/log/openvpn.log Run as daemon (activate, after everything is set up properly) daemon Management Interface. Access with "telnet localhost 7505" management localhost 7505 ;tun-mtu 1280 ;mssfix 1280 ;fragment 1280 のところはうまく調整すると高速化できるらしいのですが デフォルトの1500のままにしてあります 1280じゃなくて 1426 とか 1435とかそんな値がいいみたい Page 4 of 6
クライアントコンフィグファイルの設定 以下のような中身のファイル client.ovpnを作ります connect to QNAP OpenVPN Server proto udp dev tun client tls-auth ta.key 1 remote XXX.XXX.XXX 1194 <--- enter your no-ip host name here! pull set mtu, if necessary ;tun-mtu 1280 ;mssfix 1280 ;fragment 1280 resolv-retry infinite nobind persist-key persist-tun certificates and keys Note the double \\ in the path for a windows config ca ca.crt cert client.crt key client.key comp-lzo ルータの設定 ルータの設定で Port 1194 へのアクセスをNASに転送するようにします WHR-HP-G300Nの場合 管理メニューの ゲー ム&アプリ"というタブの中の ポート変換 という設定があります この設定名はなかなか気づかないよ 発見するのがちょっ と大変だったよ テスト サーバーを起動します 最初はテストなので手動で起動します さきほどのサーバーコンフィグファイルの中の daemon という行をコメントアウトしてデーモンモードで起動しないようにしておきます cd /opt/etc/openvpn openvpn easy.conf そうするといろいろ出力がでてきて 最後に Initialization Sequence Completed となれば成功です 次はAndroidの設定です AndroidのSDカードに以下のファイルをコピーします client.ovpn ca.crt client1.crt client1.key ta.key Androidには以下のアプリをインストールしておきます Page 5 of 6
https://play.google.com/store/apps/details?id=de.blinkt.openvpn [7] アプリを起動します 左下のフォルダアイコンをタップし SDカードにコピーした client.ovpnを選択します インポートが完了したらFDアイコンをタップして保存します インポートしたプロファイル名をタップするとVPNサーバへの接続が始まります Androidのターミナルアプリから10.8.0.1へpingが通れば成功です サーバから10.8.0.X へのping もやってみましょう やった つながったぁ と思ったらどうもブラウジングできません さんざん悩んだあげく echo "1" > /proc/sys/net/ipv4/ip_forward これで解決 速度ですが 下りはざっと3割減くらい なぜか上りは速くなった サーバの自動起動 テストが済んだら サーバを自動起動するために autorun.sh に以下の行を追加しておきます (sleep 12; /opt/sbin/openvpn /opt/etc/openvpn/easy.conf)& android [8] NAS [9] TS-109 [10] QNAP [11] software [12] English 日本語 Source URL: https://nyanchew.com/?q=jp/ts-109%e3%81%abopenvpn%e3%82%92%e5%bb%ba%e3% 81%A6%E3%81%A6android%E3%81%8B%E3%82%89%E7%B9%8B%E3%81%92%E3%82%8B%E3%82%8 8%E3%81%86%E3%81%AB%E3%81%97%E3%81%9F リンク [1] https://nyanchew.com/?q=jp/comment/reply/693comment-form [2] http://wiki.nas-portal.org/index.php/install_openvpn_on_qnap [3] http://komugi.net/archives/2013/02/14142643 [4] http://www.noip.com/ [5] http://www.box.net/shared/68nynucztf [6] http://openvpn.se/ [7] https://play.google.com/store/apps/details?id=de.blinkt.openvpn [8] https://nyanchew.com/?q=jp/category/digital-life-j/android [9] https://nyanchew.com/?q=jp/category/digital-life-j/nas [10] https://nyanchew.com/?q=jp/category/digital-life-j/ts-109 [11] https://nyanchew.com/?q=jp/category/digital-life-j/qnap [12] https://nyanchew.com/?q=jp/category/digital-life-j/software Page 6 of 6 -- サイト内検索 -- -- プライバシーポリシー -Powered by TCPDF (www.tcpdf.org)