docker の内部ネットワークへVPNで接続する
こんな感じのネットワークを構築します。
※筆者はVPNについてまるで素人なので、言いたいことがあれば是非是非コメント欄やついったへオナシャス><
0. 前提
- リモート…Ubuntu Server 14.04.4 LTS
- ※dockerはインストール済
- ローカル…Windows10 64bit
1.SoftEtherVPNのdockerコンテナをセットアップ
|
|
「ユーザ名」「パスワード」「事前共有鍵」の値はおこのみで設定してください。
また、ポート転送するポートは、必要なものだけにしておいたほうが良さそうです。
2.ufwでポートを開く
|
|
※設定方法の詳細は 「docker run -p hostPort:containerPort」で転送したポートへのアクセスをufwで制限する - くんすとの備忘録 を参照
3.VPN Clientのインストールと設定
インストール
ここからダウンロードしてインストール
http://www.softether-download.com/ja.aspx?product=softether「SoftEther VPN Client」を選択
セットアップ
「SoftEther VPN クライアント接続」で、仮想LANカードと接続をひとつ作成する
4.Dockerコンテナの作成
JenkinsとRedmineのコンテナを作成する
|
|
※ポートの外部公開はしない
5.DockerコンテナのIPアドレスを調べる
|
|
|
|
こんな感じで、予定通りのIPアドレスが振られています。
6.DockerコンテナへVPN越しに接続する
疎通確認
当然ながら、VPNを接続していない状態では、pingは通りません。
|
|
しかし、VPN接続を有効にしてからpingすると…
|
|
つながりました!
ブラウザからの接続確認
こっちもOKです!
注意点など
- SoftEtherVPNについて
- 今回は443ポートを使いましたが、実運用では変えておいた方がよさそうです。
- 今回利用したSoftEtherVPNのdockerコンテナは、サーバー管理マネージャは使えないっぽい。
- dockerコンテナ作成時、サーバ管理用のパスワードにランダム文字列を割り当ててるっぽいので。
参考URL
使用したdockerイメージ
- https://hub.docker.com/r/siomiz/softethervpn/
- https://hub.docker.com/r/blacklabelops/jenkins/
- https://hub.docker.com/r/74th/redmine-all-in-one/