グローバルIPが付与されていないルーターの配下にあるネットワークに(RaspberryPiなどを使い)OpenVPNのクライアントを置くことでOpenVPNサーバー経由でインターネットからLAN内の端末にアクセスできるようになります。
(ということなのでインターネット上にOpenVPNのサーバを用意できることが前提となります。)
TL;DR
OpenVPNの基本的な設定は終わっているものとします。
# 下記を追記する
# "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
iroute 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
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のネットワークがあることを教えています。
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
はサーバーからクライアントへのルーティングを設定します。
あとがき
今回は自分が使用している設定を参考にしました。
設定したときの記憶がもうないのですがおそらくうまくいくと思います。
もし間違いなどがあればご指摘いただければ幸いです。