2011-06-13

[OPENVPN TIPS] VPNクライアントに固定IPアドレスを割り当てる

By Taro Yamazaki  |  23:10 No comments

OpenVPNでは、接続してきたクライアントのVPNアドレスは動的に割り振られます(その際に割り振られる際のアドレス範囲はOpenVPNサーバー側設定ファイルに基づきます)。特定のVPNクライアントに特定のVPNアドレスを割り振りたい場合、OpenVPNでは以下の2つの方法で設定することができます。

  1. client-connectディレクティブで指定されたスクリプトによって生成される設定ファイルを使う
  2. client-config-dirディレクティブで指定されたディレクトリにクライアント構成ファイルを配置する
簡単なのは 2. の方法で、特定のVPNアドレスを指定するだけであればこちらで十分です。では、この方法について説明しましょう。

まず、サーバー設定ファイルのclient-config-dirディレクティブでクライアント構成ディレクトリを指定します。クライアント構成ディレクトリは、VPNクライアントごとの個別の設定ファイルを格納するディレクトリです。たとえば、クライアント構成ディレクトリを /etc/openvpn/ccd にする場合は、以下のようにディレクティブを設定します。
client-config-dir /etc/openvpn/ccd

次に、クライアント構成ファイルを作成します。クライアント構成ファイルは、特定のVPNクライアントにのみ適用したい設定を記述しておくファイルで、ファイル名はその設定を適用したいクライアントの証明書の共通名と同じものにします。たとえば、クライアント構成ディレクトリは前述のように /etc/openvpn/ccd で、設定したいクライアントの共通名が「client1」であれば、クライアント構成ファイルは /etc/openvpn/ccd/client1 になります。

このクライアント構成ファイルに、クライアントに割り当てるVPNアドレスを設定するためのipconfig-pushディレクティブを記述します。TAPを使用している場合で、そのクライアントに 192.168.5.123 を割り当てたい時には
ifconfig-push 192.168.5.123 255.255.255.0
のようにIPアドレスとネットマスクを記述します。TUNを使用している場合は、クライアントに割り当てたいアドレスとサーバー側にあたるアドレスをセットで指定し、
ifconfig-push 10.8.2.5 10.8.2.6
のように記述します。

クライアント構成ファイルを使う際の注意点を。クライアントごとに適用したい設定ファイルを証明書の共通名で判別するため、複数のVPNクライアントが同一の証明書(同じ共通名の証明書)を使って接続することはできません。したがって、duplicate-cnディレクティブとの併用はできません。

Author: Taro Yamazaki

0 コメント:

© 2015 yamata::memo | Distributed By My Blogger Themes | Created By BloggerTheme9
TOP