はじめに
図解!UbuntuでOpenVPNを使う:2. 証明書と認証鍵の作成の続きです.
前回までで接続に必要な証明書と認証鍵の作成が完了しました.
今回は,実際に接続するための設定について説明します.サーバ側とクライアント側それぞれについて設定を行います.
図解!UbuntuでOpenVPNを使う:目次
- 準備
- VPNの接続方式
-
OpenVPN
のインストール - ファイアウォール設定
- VPNサーバ側のルータのグローバルIP確認
- ルータからVPNサーバへのポートフォワード設定
- 証明書と認証鍵の作成
- 簡易認証局(
easy-rsa
)関連 - VPNサーバ関連
- VPNクライアント関連
- 設定 ← イマココ
-
OpenVPN
サーバ設定 -
OpenVPN
クライアント設定 - 接続確認
-
OpenVPN
の起動 - 仮想
tun
デバイスの確認 -
ping
確認 -
netcat
確認
環境
- OS: VPNサーバ/クライアント共に Ubuntu 14.04
- VPNアプリケーション:OpenVPN 2.3.2
0. システム構成のおさらい
目標となるシステム構成をおさらいしておきましょう.
この構成を目指して設定ファイルを編集していくことになります.
なお,本エントリで掲載した設定ファイルのサンプルはこちらのGitHubリポジトリに格納しました.
1. OpenVPN
VPNサーバ設定
自身の環境でOpenVPNが動作するように設定ファイルを編集する必要があります.
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
にサンプルがあるので,/etc/openvpn/server.conf
に展開します.
$ gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
また,server.conf
ではサーバ側の実ドメインを入力する必要があるので,確認しておきましょう.
$ ifconfig
wlan0 Link encap:イーサネット ハードウェアアドレス hogehoge
inetアドレス:192.168.179.7 ブロードキャスト:192.168.179.255 マスク:255.255.255.0
では,実際に編集をします.
vim server.conf
# OpenVPNのポート番号.
port 1194
# 通信プロトコル: UDP.
proto udp
# VPNプロトコル:ルーティング方式.
dev tun
# 認証局証明書/サーバ証明書・認証鍵/DHパラメータ./etc/openvpn からのパス.
ca ca.crt
cert mysrv.crt
key mysrv.key
dh dh2048.pem
# VPN接続時のネットワークセグメント.他と衝突しないようにうする.
server 10.8.0.0 255.255.255.0
# 再接続用のテーブル.
ifconfig-pool-persist ipp.txt
# サーバ側のLANのセグメント.ifconfigで認識されるLANに接続させる.
push "route 192.168.179.0 255.255.255.0"
# セッション継続頻度.
keepalive 10 120
# 再起動後の処理.
persist-key
persist-tun
# ステータスログ.
status openvpn-status.log
# ログファイル.
log openvpn.log
# LZO圧縮を有効に
comp-lzo
# ログレベル.
verb 3
-
push "route 192.168.179.0 255.255.255.0"
の部分に,先ほど確認した実LANのドメインが入ります.
2. OpenVPN
VPNクライアント設定
クライアント側でも同様に設定ファイルを編集する必要があります./usr/share/doc/openvpn/examples/sample-config-files/client.conf
にサンプルがあるので,/etc/openvpn/client.conf
にコピーします.
$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf
図解 UbuntuでOpenVPNを使う:1. 準備でVPNサーバ側に接続されたルータのグローバルIPを調べことは記憶に新しいと思います.このIPの入力がここで必要となるので,控えを取り出してください.
設定ファイルを編集します.
$ vim client.conf
# クライアントモードであることを宣言
client
# VPNプロトコル:ルーティング方式.
dev tun
# 通信プロトコル: UDP.
proto udp
# グローバルIPアドレスを指定する.「1. 準備」で調べたIP.
remote 101.102.103.xxx 1194
# 接続の継続.
resolv-retry infinite
# ポート番号をバインドしない.ほとんどの場合はこうらしい.
nobind
# 切断後の動作指定
persist-key
persist-tun
# 認証局証明書/クライアント証明書・認証鍵./etc/openvpn からのパス.
ca ca.crt
cert mycli.crt
key mycli.key
# LZO圧縮を有効に
comp-lzo
# ログレベル
verb 3
-
remote 101.102.103.xxx 1194
の部分がVPNサーバ側に接続されたルータのグローバルIPとなります.ネットワークの再接続等でサーバのグローバルIPが変わったら変更が必要なので要注意です. -
comp-lzo
の有効無効は,サーバとクライアントで合わせる必要があります.
おわりに
これで設定は完了です.
次回図解!UbuntuでOpenVPNを使う:4. 接続確認ではいよいよ実際にVPNで繋ぎます^^ 楽しみですね♪