クラウドサーバと結ぶVPN環境を「OpenVPN」で構築する(後編):DRBDの仕組みを学ぶ(9)(2/3 ページ)
災害対策システムのための「VPN環境を構築する方法」を解説する本稿。前編は、「OpenVPN」のインストールと設定方法を解説しました。後編では、その設定を済ませ、実際にシステムを稼働させるまでを解説します。
OpenVPNを起動する
これで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接続のテストは完了です。
ログ出力の設定を追加する
テスト起動が済んだら、それぞれの設定ファイルにログ出力先の記述も追加しておきます。
- 一号機の作業 「/etc/openvpn/server.conf」の301行目
log /var/log/openvpn.log
- 二号機の作業 「/etc/openvpn/client.conf」の122行目
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から利用することにします。
(暫定版)OpenVPNの起動スクリプトを作る
暫定版のスクリプトを作成しましょう。……と言っても簡単なものです。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でサービス登録する
作成したスクリプトを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.
関連記事
- 障害時にサブサーバへ自動で切り替える「高可用性WordPressシステム」の作り方 前編
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、CMSツールとして多くのWebサイトで利用されている「WordPressサーバ」の高可用性をDRBDで確保する方法を解説します。前編は、必要なソフトウェアのインストールと初期設定までを説明します。 - DRBD(Distributed Replicated Block Device)とは何か
障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 本連載では、DRBDの動作や使いどころを順を追って紹介していきます。 - ミラーリングツール「DRBD」によるデータ保護
「Heartbeat」の適切な導入によってHAクラスタを構成し、Linux上で動作しているサービスの可用性を上げることができます。続いて、肝心のデータそのものを保護できるツール「DRBD」について紹介しましょう。 - ここが変わったCentOS 7──「新機能の概要とインストール」編
「CentOS 7」を皆さんどれだけ理解していますでしょうか。CentOS 7は、以前のバージョンから使い勝手がかなり変わりました。本連載では、今さら聞けない/おさらいしたいというインフラエンジニアに向け、CentOS 7の概要と基礎から活用Tipsまでを紹介していきます。 - DRBD+iSCSI夢の共演(前編)〜 Windowsドライブをミラーリングで保護 〜
Linux上で動作するオープンソースソフトウエア「DRBD」とiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう - OSSとLinuxで高可用システム構築を支援、サードウェア
- Sambaサーバー構築、5つのべからず− 若葉マーク管理者に捧げる
LinuxやUNIXをWindowsのファイルサーバー/プリントサーバーとしてしまうことができる「Samba」は、手軽にファイル共有環境を構築することができ、サーバー管理入門にもぴったりです。インターネット上の関連情報も豊富ですが、しっかり出所を確かめないと誤った設定を招く恐れがあります。