Raspberry PiにOpenVpnを導入

はじめに

自宅でRaspberry Piを使用してVPN環境を構築できたので、備忘録も兼ねて書いておきます。

使用した物

目次

  • 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のルータの設定方法を載せておきます。

手順

  1. ブラウザからルータの設定画面にアクセスする。
  2. [詳細設定]をクリック

    f:id:yuki9431:20190304194829p:plain
    Buffaloルータの設定画面

  3. 左のメニューから[セキュリティー]、[ポート変換]を順にクリック

  4. ポート変換の新規追加の項目を埋める

クライアントの設定

TODO
- ovpnプロファイルの作成
- クライントからVPNサーバ(Raspberry Pi)に接続

ovpnプロファイルの作成

下記コマンドを実施すると、クライント用のプロファイルを作成できます。 ホームディレクトリにovpnファイルができるので、使用したいマシンに転送する。

pivpn add

クライントからVPNサーバ(Raspberry Pi)に接続

ovpnプロファイルをMacスマホに転送後、下記のVPNクライントソフトで接続できるか確認する。
ログファイルは/var/log/openvpn.logに吐かれるので、接続を確認する。

Mac
https://tunnelblick.net

iPhone
https://itunes.apple.com/jp/app/openvpn-connect/id590379981?mt=8

おわりに

私は最初IPv6プラス(IPv4 over IPv6)の環境で稼動させていましたが、時折繋がらないことがありました。(ポート開放を制限されているため)
そのため、IPv4環境に切り替えて稼動させています。 IPv4に切り替えてから、2週間様子を見ていますが今のところ順調です。
また、DDNSの設定を行って様子を見ています。安定稼動が確認できたら載せます。