LoginSignup
2
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-03-12

タイトルが分かりにくいですがつまりこういうことです。
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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1