これでOpenVPNの初期設定は完了です。
早速、動作テストを行いましょう。一号機でVPNサーバを起動します。
# openvpn /etc/openvpn/server.conf
# openvpn /etc/openvpn/server.conf <省略> Sat Mar 5 10:43:05 2016 us=125018 Initialization Sequence Completed
実行すると多くのログメッセージが出力されますが、最後に「Initialization Sequence Completed」と表示されれば完了です。
続いて、二号機でVPNクライアントを起動します。
# openvpn /etc/openvpn/client.conf
# openvpn /etc/openvpn/client.conf <省略> Sat Mar 5 10:44:48 2016 us=162042 Initialization Sequence Completed
こちらも同様に、最後に「Initialization Sequence Completed」と表示されれば完了です。
それぞれが正常に起動したかどうかを、別のターミナルを開いて確認します。
# ip addr show
コマンド実行後、「tun0」というデバイスが表示され、それぞれで指定した「10.0.0.1」と「10.0.0.2」が見えていますでしょうか。
念のため、お互いpingコマンドを打って疎通確認もしておきましょう。一号機からは「ping 10.0.0.2」、二号機からは「ping 10.0.0.1」を入力します。疎通も問題がなければ、VPN接続のテストは完了です。
テスト起動が済んだら、それぞれの設定ファイルにログ出力先の記述も追加しておきます。
log /var/log/openvpn.log
log /var/log/openvpn.log
テストで問題なくVPN接続ができることを確認できました。次は運用のためにsystemctlコマンドで起動し、さらに自動起動の設定をしていきます。
# systemctl start openvpn
しかし……
# systemctl start openvpn Failed to start openvpn.service: Unit openvpn.service failed to load: No such file or directory.
と表示され、起動できません。2016年3月現在、systemctlからOpenVPNはうまく起動できないようです。こちらは今後改善されると思いますので、今回は暫定的にスクリプトを作成し、このスクリプトをsystemctlから利用することにします。
暫定版のスクリプトを作成しましょう。……と言っても簡単なものです。viエディタなどで「/opt/openvpn-server.sh」を作成し、先ほどのテスト起動で用いたコマンドを記述するだけです。
# vi /opt/openvpn-server.sh #!/bin/bash openvpn /etc/openvpn/server.conf
作成したスクリプトに実行権限を付与します。
# chmod 755 /opt/openvpn-server.sh
なお、今回の例では「/opt」ディレクトリにファイルを置きましたが、任意の場所で構いません。
二号機も同様にスクリプトを作り、実行権限を付与します。
# vi /opt/openvpn-client.sh #!/bin/bash openvpn /etc/openvpn/client.conf
# chmod 755 /opt/openvpn-client.sh
作成したスクリプトをsystemdのサービスとして登録しましょう。一号機では「/etc/systemd/system/openvpn-server.service」を、二号機では「/etc/systemd/system/openvpn-client.service」を作成して登録します。
# vi /etc/systemd/system/openvpn-server.service [Unit] Description = OpenVPN-Server daemon [Service] ExecStart = /opt/openvpn-server.sh Restart = always Type = simple [Install] WantedBy=multi-user.target
# vi /etc/systemd/system/openvpn-client.service [Unit] Description = OpenVPN-Client daemon [Service] ExecStart = /opt/openvpn-client.sh Restart = always Type = simple [Install] WantedBy=multi-user.target
Copyright © ITmedia, Inc. All Rights Reserved.