Raspberry PiにOpenVpnを導入
はじめに
自宅でRaspberry Piを使用してVPN環境を構築できたので、備忘録も兼ねて書いておきます。
使用した物
- Raspberry Pi 3 model b+
- ルータ(Buffalo WXR-1750DHP2)
- MacBook Air Mid2012
目次
- OpenVPN導入
- ルータの設定変更
- クライアントの設定
OpenVpn導入
TODO
IPアドレス固定化
IPを固定するには/etc/dhcpcd.confを編集します。
vi /etc/dhcpcd.conf
自分の環境に合わせて、dhcpcd.confを以下のように書きます。
interface eth0 # 対象のNIC(無線ならwlan0) static ip_address=192.168.11.181/24 # Raspberry Piに割り当てるIPアドレス static routers=192.168.11.1 # 自宅のルータのIPアドレス static domain_name_servers=192.168.11.1 # 基本的にはルータのIPアドレスでいい(GoogleのDNSなら8.8.8.8とか)
IPアドレスを設定後は反映させるためにシステム再起動 or ネットワーク再起動をしてください。
sudo service network restart
稼動確認
ifconfigを実施して、IPアドレスが設定されてたらOKです。
ifconfig
OpenVPNインストール & 証明証の発行
OpenVPNをインストールして、証明書と認証鍵を作成します。
PiVPNでしたら、自動でOpenVPNのインストールと証明書認証用の設定をやってくれるので、今回はPiVPNを使用します。 (OpenVPNをインストールして、自前で証明書を発行するやり方もあるがこっちのが簡単)
以下のコマンドを実行すると、PiVPNのインストール画面が表示され
いくつか質問に解答するだけで簡単にOpenVpnを導入できる。
curl -L https://install.pivpn.io | bash
PiVPN公式
Qiita (英語読みたくない人はこちらを参考に)
稼動確認
再起動後、下記のコマンドを実施して、openvpnが稼動していたらとりあず成功
ps -ef | grep vpn
ルータの設定を変更
TODO
- ポート開放
PiVPNインストール時に設定したポートを開放します。
やり方はルータによって違いますので、google先生に「ルータ型名 ポート開放」と聞いてください。
参考までに私が使用しているBuffaloのルータの設定方法を載せておきます。
手順
- ブラウザからルータの設定画面にアクセスする。
[詳細設定]をクリック
左のメニューから[セキュリティー]、[ポート変換]を順にクリック
- ポート変換の新規追加の項目を埋める
クライアントの設定
TODO
- ovpnプロファイルの作成
- クライントからVPNサーバ(Raspberry Pi)に接続
ovpnプロファイルの作成
下記コマンドを実施すると、クライント用のプロファイルを作成できます。 ホームディレクトリにovpnファイルができるので、使用したいマシンに転送する。
pivpn add
クライントからVPNサーバ(Raspberry Pi)に接続
ovpnプロファイルをMacやスマホに転送後、下記のVPNクライントソフトで接続できるか確認する。
ログファイルは/var/log/openvpn.logに吐かれるので、接続を確認する。
iPhone
https://itunes.apple.com/jp/app/openvpn-connect/id590379981?mt=8
おわりに
私は最初IPv6プラス(IPv4 over IPv6)の環境で稼動させていましたが、時折繋がらないことがありました。(ポート開放を制限されているため)
そのため、IPv4環境に切り替えて稼動させています。
IPv4に切り替えてから、2週間様子を見ていますが今のところ順調です。
また、DDNSの設定を行って様子を見ています。安定稼動が確認できたら載せます。