Help us understand the problem. What is going on with this article?

グローバルIPがないLANでOpenVPNを使い外部から接続する

タイトルが分かりにくいですがつまりこういうことです。
nw.png

グローバルIPが付与されていないルーターの配下にあるネットワークに(RaspberryPiなどを使い)OpenVPNのクライアントを置くことでOpenVPNサーバー経由でインターネットからLAN内の端末にアクセスできるようになります。

(ということなのでインターネット上にOpenVPNのサーバを用意できることが前提となります。)

TL;DR

OpenVPNの基本的な設定は終わっているものとします。

/etc/openvpn/server.conf
# 下記を追記する
# "192.168.1.0"と"255.255.255.0"は適当なものに変更する
push "route 192.168.1.0 255.255.255.0"

client-config-dir ccd
route 192.168.1.0 255.255.255.0

raspiはクライアント名にあわせる

/etc/openvpn/ccd/raspi

/etc/openvpn/ccd/raspi
iroute 192.168.1.0 255.255.255.0

解説

実際にやっていることはそんなに難しいことではありません。
ルーティング設定を追加しているだけです。

/etc/openvpn/server.conf
push "route 192.168.1.0 255.255.255.0"

client-config-dir ccd
route 192.168.1.0 255.255.255.0

push "route 192.168.1.0 255.255.255.0"はクライアントに設定を追加するように通知するものです。
192.168.1.0/24のネットワークがVPNにあることを教えています。

client-config-dir ccdはクライアントごとの設定を適用する際に使用します。クライアントが接続してきた時にccdというディレクトリ内にクライアントと同じ名前のファイルがあれば追加でそれも読み込みます。

route 192.168.1.0 255.255.255.0はVPNに192.168.1.0/24のネットワークがあることを教えています。

/etc/openvpn/ccd/raspi
iroute 192.168.1.0 255.255.255.0

iroute 192.168.1.0 255.255.255.0は192.168.1.0/24のトラフィックをクライアントに流す設定です。

routeはクライアントからサーバーへ、irouteはサーバーからクライアントへのルーティングを設定します。

あとがき

今回は自分が使用している設定を参考にしました。
設定したときの記憶がもうないのですがおそらくうまくいくと思います。
もし間違いなどがあればご指摘いただければ幸いです。

Reference

wancom
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away