おはようございます!マネジメントオフィスいまむらの今村敦剛です。
この度、IDCフロンティアのIaaS型パブリッククラウドサービスを使い、OpenVPNサーバを構築しました。その構築方法を記録する第9回目です。今回は、VPNクライアントの設定ファイル(client.ovpn)を作成します。
スポンサーリンク
この連載の全体的な構成
この連載は、全10回を予定しています。今回は第9回目「client.ovpn作成」です。
連載記事一覧
クライアントの秘密鍵と証明書の作成
OpenVPNで通信をするには、通信相手が正しいことを確認するために、いくつかの鍵・証明書の作成が必要です(イメージは下記の図のとおり)。その上で、OpenVPNサーバとOpenVPNクライアントで通信方式をあわせる必要があります。今回はクライアント側の証明書(client.crt)の説明をします。
本連載の第6回のおさらいですが、クライアントの秘密鍵と証明書の作成(本連載の第6回)が済んでいる前提で話を進めますね。第6回で説明したとおりに、クライアントの秘密鍵と証明書の作成ができると、証明書と鍵は下記のディレクトリにできるはずです。(ディレクトリ名は、お使いのバージョンによって変わりますので気をつけてください)
- クライアントの証明書:/usr/share/easy-rsa/3.0.8/pki/issued/client.crt
- クライアントの秘密鍵:/usr/share/easy-rsa/3.0.8/pki/private/client.key
このファイルができていることを確認してくださいね。
OpenVPNクライアントソフトのインストール
OpenVPNクライアントソフトを、リモートデスクトップ元(今回のケースだと自宅で使ったり外出に持っていくノートのWindows機)とリモートデスクトップ先(事務所のWindows機)にインストールをします。本連載ではWindows版のOpenvpnをインストールする前提で解説を進めます。以下のリンクからwindows版のOpenvpnをインストールできます。(詳しいインストール方法は割愛します)
クライアントの設定ファイル(client.ovpn)作成
インストールが終われば、クライアントの設定ファイル(client.ovpn)を作成します。クライアントがwindowsの場合は OpenVPNGUI(Windows版のOpenVPNクライアントソフト)インストール後に、C:\Program Files\OpenVPN\sample-config というディレクトリにある設定ファイルのサンプルファイル(client.ovpn)を、C:\Program Files\OpenVPN\configというディレクトリへコピーします。この時、設定ファイルのファイル名は、サーバー側でクライアント証明書を作成する際に指定した名前に変更します。(今回の場合は、リモートデスクトップ先の事務所PCをclient1,リモートデスクトップ元のノートPCをclient2とする)。
その後、設定ファイル(client.ovpn)をエディタで開き、中身を修正していきます。
行数 | 対応 | 対応の具体的内容 |
---|---|---|
42 | 修正 | 接続先(今回の場合はリモートデスクトップをする先の事務所LANのDDNSで設定したホスト名(abc.hopto.org)。さらにUDPのまたポートを記述します(ポートを変更していない場合は1194) |
89~90 | 修正 | ここは、クライアント証明書(client.crt)と認証鍵(client.key)の指定をする箇所。サーバの仮想マシン(CentOS側)のetc/openvpnの直下に置いている証明書ファイル、承認鍵ファイルとファイル名とあわせる(あっていることを確認)。またクライアント側も生成されたファイル名にあわせる(あっていることを確認)(今回の場合、ファイル名はclient.crt,client.keyにしたので、confファイルの89~90行目もそれにあわせて変えます) |
116 | 修正 | 圧縮形式の指定です。サーバー側の設定にあわせます(サーバ側で圧縮をオンにしているのであれば、client.confの記述も同じにする。今回のケースだと、cipher AES-256-CBCにしています) |
client.ovpnの修正ができれば、ファイル名もクライアントの秘密鍵と証明書と合わせておきましょう。(今回のケースだとclient.ovpnに変えました)
また、仮想マシン(CentOSのOpenVPNサーバー)側で作成した [ca.crt], [client1.crt], [client1.key], [ta.key] の各証明書・鍵ファイルも、リモートデスクトップ元(今回のケースだと自宅で使ったり外出に持っていくノートPC)の同じ場所(C:\Program Files\OpenVPN\configの配下)へコピーします。configフォルダには [ca.crt], [client1.crt], [client1.key], [ta.key],[user1.ovpn]の5つが保存されているはずですね。
これと同じことを、リモートデスクトップ元(client2)でもやります。
その他Windows側の設定
その他、Windows側の設定をいくつかやります。まずはWindowsでのIPフォワーディングの有効化です。
レジストリエディターを開き、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parametersに行きます。
ここで、IPEnableRouterの値を1に変更します(デフォルトは0)
続いてレジストリエディターは閉じて、windowsの「サービス」を開き「Routing and Remote Access」に行きます。
スタートアップの種類を「自動」に変更します(デフォルトは無効)。これでリモートデスクトップ元のPCの起動時に、OpenVPNが自動で立ち上がってくれます。
この設定でwindowsのタスクトレイのOpenvpnを「接続」にすると、OpenVPNサーバに接続するはずなんですが、うまくいきましたか?😊次回はいよいよ最終回です!