OpenVPNドキュメント
サンプル設定ファイル
設定ファイルを作成する時は、サンプル設定ファイルの使用をお勧めします。
サンプル設定ファイルファイルは以下から入手可能です。
- OpenVPNソースファイル内にあるsample-config-filesディレクトリ
- RPMまたはDEBパッケージからインストールした場合は、/usr/share/doc/packages/openvpnもしくは/usr/share/doc/openvpnのsample-config-filesディレクトリ
- Windows版の場合は[スタートメニュー]->[すべてのプログラム]->[OpenVPN]->[OpenVPN Sample Configuration Files]
Linux/BSD/Unix系OSの場合、サンプル設定ファイルのファイル名はserver.confとclient.confになります。
Windows版ではserver.ovpnと client.ovpnになります。
サーバー設定ファイルの編集
サンプルサーバー設定ファイルをベースに、サーバー設定ファイルを編集します。
このファイルは、ルーティング用の仮想TUNネットワークインターフェースを使用してVPNを作成し、UDPポート1194(OpenVPNの標準ポート番号)でクライアント接続を受け付け、 10.8.0.0/24サブネットから接続するクライアントに仮想アドレスを配布します。
サンプルサーバー設定ファイルを使用する前に、まずca,cert,key,およびdhの各パラメータを編集して、PKIのセクションで生成した実際のファイルの場所に設定し直す必要があります。
この時点でサーバー設定ファイルを使用する事も可能ですが、更にカスタマイズ設定をおこなう必要がある場合があります。
- Ethernetブリッジを使用している場合はserverとdev tunの代わりにserver-bridgeとdev tapを設定する必要があります。
- OpenVPNサーバーの接続をUDPポートではなくTCPポートで受け付けたい場合はproto udpではなくproto tcpを設定します。
UDPポートとTCPポートの両方で受け付けたい場合は別々のOpenVPNインスタンスを実行する必要があります。 - 10.8.0.0/24以外の仮想IPアドレスを使用する場合は、serverディレクティブを変更する必要があります。
この場合、仮想IPアドレス範囲はネットワーク上で使用されていないプライベートな範囲である必要があります。 - VPN経由でクライアント同士が相互アクセスできるようにするにはclient-to-clientのコメントを外します。
デフォルトでは各クライアントはサーバーにのみアクセスが可能です。 - Linux/BSD/Unix系OSの場合、user nobody及びgroup nobodyのコメントを外す事でセキュリティを強化させる事が可能です。
1台のマシンで複数のOpenVPNインスタンスを実行し、それぞれで異なる設定ファイルを使用する場合は、さらに以下の設定が必要となります。
- 各インスタンス毎に異なるポート番号を設定する必要があります。
UDPプロトコルとTCPプロトコルは別々のポートスペースを使用するため、ひとつのデーモンでUDP-1194を、別のデーモンでTCP-1194を受け付ける事が可能になります。 - Windowsを使用している場合、各OpenVPN設定ごとにTAP-Windowsアダプタが必要になります。
アダプタは[スタートメニュー]->[すべてのプログラム]->[TAP-Windows]->[Add a new TAP-Windows virtual ethernet adapter]から追加します。 - 複数のOpenVPNインスタンスを同じディレクトリで実行する場合は、それぞれのインスタンスが互いの出力ファイルを上書きしないよう、出力ファイルの作成ディレクティブを編集してください。
log, log-append, status, and ifconfig-pool-persist等の設定が関係しています。
クライアント設定ファイルの編集
サンプルクライアント設定ファイル(Linux/BSD/Unix系OSの場合はclient.conf、Windows版では client.ovpn)は、サンプルサーバー設定ファイルでの設定に対応しています。
- サーバー設定ファイルの時と同様に、まずca,cert,keyの各パラメータを編集して、PKIのセクションで生成した実際のファイルの場所に設定し直す必要があります。
各クライアントは個別のcert / keyペアを持つ必要があることに注意してください。
サーバーと全てのクライアントに共通なのはcaファイルのみです。 - 次に、remoteディレクティブを編集して、OpenVPNサーバーのホスト名もしくはIP アドレスとポート番号を設定します。
サーバーがファイアウォール/NATゲートウェイの背後にある単一NICマシンで実行される場合は、ゲートウェイのパブリックIPアドレスとゲートウェイがサーバーに転送するよう構成したポート番号を使用します。 - 最後に、クライアント設定ファイルとサーバー設定ファイルでディレクティブが一致しているか、整合性を確認してください。
特に確認すべき点はdev(tun or tap)とproto(udp or tcp)が一致しているかどうかです。
また、使用する場合はcomp-lzoとfragmentもクライアントとサーバーの両方で設定されているか確認してください。