OpenVPNクライアントのセットアップ(Linux編)

対象リージョン:東日本第1/第2、西日本第1/第2

始める前に

  • SSL-VPN接続環境の構築、およびクライアントのセットアップに必要な以下の証明書を入手します。

    • サーバ証明書のCA局証明書
    • クライアント証明書
    • クライアント秘密鍵
  • 本セットアップ手順における弊社での動作確認環境は以下のとおりです。

    • OS : CentOS 7.4 64bit
    • OpenVPN : 2.3.X(X : 10以降)、OpenVPN : 2.6.X(X : 10以降)
    注:
    • 上記の動作確認環境と異なるLinuxディストリビューション、またはOpenVPNのバージョンを利用する場合は、それらのバージョンに応じたセットアップ手順の確立、および動作確認を実施してください。
    • OpenVPN 2.3.9以前を利用している場合には、アンインストール後、以降の手順に従い、再度インストールしてください。

このタスクについて

CentOSがインストールされたPC端末から、SSL-VPN接続を行うためのセットアップ手順を以下に示します。

手順

  1. OpenVPNクライアントの入手

    OpenVPNの Linuxディストリビューション向けのダウンロードページ (https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos)から使用する *.rpmを取得します。

    例)openvpn-2.6.10-1.el7.x86_64.rpm

    注: 本入手先は、 OpenVPNコミュニティが提供しているページであるため不定期に変更されます。

    目的の OpenVPNクライアントが見つからない場合は、OpenVPNのトップページ(https://openvpn.net/)から辿って入手してください。

  2. OpenVPNクライアントのインストール

    以下のコマンドを実行し、OpenVPNクライアントをインストールします。

    # rpm -ivh openvpn-2.6.10-1.el7.x86_64.rpm

タスクの結果

以上でOpenVPNクライアントのインストールは終了です。

次のタスク

注:
  • 1つのIPsec VPNトンネルで仮想ルータに直接接続される1つのサブネットと、対向IPsecゲートウェイに接続される1つのサブネット間の通信ができます。
  • 1つの仮想ルータにつき、作成できるVPNサービスは1つだけです。複数のIPsec VPNトンネルを作成したい場合は、1つのVPNサービス上に複数のIPsecサイトコネクションを作成してください。

OpenVPNクライアントの設定を実施します。

  1. 証明書および鍵ファイルの格納

    /etc/openvpn

    上記フォルダーへ事前に準備した以下のファイルを格納します(ファイル名は例です)。

    • ca.crt : CA局証明書
    • client.crt : クライアント証明書
    • client.key : クライアント秘密鍵
  2. クライアント設定ファイルの作成

    テキストでクライアント設定ファイルを作成します。

    テキストファイルに以下の内容を記載します。テキストをコピーし、利用してください

    client
    dev tun
    proto tcp
    remote xxx.xxx.xxx.xxx 443
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca /etc/openvpn/ca.crt
    cert /etc/openvpn/client.crt
    key /etc/openvpn/client.key
    ns-cert-type server
    cipher AES-128-CBC
    http-proxy xxx.xxx.xxx.xxx 8080 stdin basic

    このテキストファイルをSSL-VPN Connectionリソースの情報に合わせて、以下のとおりに編集します。

    編集箇所

    (行頭文字)

    編集内容
    proto 書式

    proto [プロトコル ( tcp/udp ) ]

    SSL-VPN接続時にHTTPプロキシサーバを経由する場合は、"tcp"を指定してください。

    記載例

    proto tcp(tcpの場合)

    proto udp(udpの場合)

    remote 書式

    remote [接続先サーバアドレス(SSL-VPN ConnectionリソースのグローバルIPアドレス)] [接続先ポート ( 443/1194 ) ]

    SSL-VPN Connectionリソースが冗長構成の場合、remoteから始まる行を2行にして、それぞれの接続先を指定してください

    記載例

    remote xxx.xxx.xxx.xxx 443(tcpの場合)

    remote xxx.xxx.xxx.xxx 1194(udpの場合)

    ca 書式 ca [認証局証明書ファイル名]
    記載例 ca ca.crt
    cert 書式 cert [クライアント証明書ファイル名]
    記載例 cert client.crt
    key 書式 key [クライアント秘密鍵ファイル名]
    記載例 key client.key
    http-proxy 書式

    http-proxy [HTTPプロキシサーバのアドレス] [HTTPプロキシのポート番号] stdin basic

    stdin: HTTPプロキシサーバ接続時に、ユーザー名とパスワードの入力を要求されます。

    basic: 認証方式は基本認証です

    SSL-VPN接続時にHTTPプロキシサーバを経由しない場合は、本設定を削除してください。

    記載例 http-proxy xxx.xxx.xxx.xxx 8080 stdin basic
    注:

    OpenVPN : 2.4以降を利用している場合、以下の行を追加してください。

    tls-cipher DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:CAMELLIA128-SHA:ECDH-RSA-AES128-GCM-SHA256:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-RSA-AES128-SHA:ECDH-ECDSA-AES128-SHA
  3. 修正済みファイルの保存

    修正が完了したファイルを以下のフォルダーおよびファイル名で保存します。

    /etc/openvpn/client.ovpn
    ヒント: ファイル名「client.ovpn」の「client」部分は、任意の文字列に変更しても構いません。接続先ごとに複数のファイルを用意しておくことも可能です。