トップ > OpenVPNの設定 > 拠点間VPNの設定 >
VPNクライアント機(支社)の設定

  

VPNクライアント機(支社)の設定

続いて、VPNクライアント機(支社)で作業を行います。 ログインしていなければログインし、以下の各ステップを実施してOpenVPNの設定を行います。

鍵の配布

VPNサーバ機で作成し、作業用USBフラッシュメモリへ複製した、

  1. 認証局証明書(ca.crt)
  2. TLS認証鍵(ta.key)
  3. クライアント証明書(clientl.crt)
  4. クライアント秘密鍵(clientl.key)

を、

  1. /etc/openvpn/

へ格納します。

OpenVPNの設定

OpenVPNの設定を行います。

OpenVPNの設定ファイルの作成

OpenVPNの設定ファイルである/etc/openvpn/clientl.confファイルを作成します。

以下の要領で/etc/openvpn/clientl.confファイルを作成します。

  1. client

  2. dev tap0
  3. link-mtu 1400
  4. proto tcp

  5. remote <接続先> 443
  6. resolv-retry infinite
  7. nobind

  8. ca ca.crt
  9. cert clientl.crt
  10. key clientl.key
  11. remote-cert-tls server
  12. tls-auth ta.key 1
  13. cipher BF-CBC

  14. comp-lzo

  15. user nobody
  16. group nogroup
  17. persist-key
  18. persist-tun

  19. log /etc/openvpn/openvpn.log
  20. verb 3
 

それぞれの設定項目の意味は以下の通りです。

編集内容 補足
client

クライアントとして動作させるための指定です。

dev tap0

VPNサーバ機の説明を参照ください。

link-mtu 1400

VPNサーバ機の説明を参照ください。

proto tcp

VPNサーバ機の説明を参照ください。

remote <接続先> 443

接続先のホスト名、およびOpenVPNがTCP/IP通信に使用するポート番号を設定します。

接続先ホスト名は、VPNサーバ側のルータがDDNSへ登録するホスト名と一致させます。

ポート番号はVPNサーバ機と一致させなくてはなりません。

resolv-retry infinite

接続先のホスト名の名前解決を永久に試みるかどうかを指定します。

有効にします。

nobind

クライアント側のOpenVPNがTCP/IP通信に使用するポート番号を動的に決定するかどうかを指定します。 有効にすると、ポート番号が動的に決定されます(VPNサーバ機側は443で固定されます)。

有効にします。

ca ca.crt

VPNサーバ機の説明を参照のこと。

cert clientl.crt

自身の証明書のファイル名を指定します。

key clientl.key

自身の暗号鍵のファイル名を指定します。

remote-cert-tls server

VPNサーバ機から送られた証明書を検証するかどうかを指定します。

tls-auth ta.key 1

サーバ側は0を設定しますがクライアントは1を設定します。

cipher BF-CBC

VPNサーバ機と一致させなくてはなりません。

comp-lzo

VPNサーバ機の説明を参照ください。

user nobody
group nogroup

VPNサーバ機の説明を参照ください。

persist-key
persist-tun

VPNサーバ機の説明を参照ください。

log /etc/openvpn/openvpn.log

VPNサーバ機の説明を参照ください。

verb 3

VPNサーバ機の説明を参照ください。

  

ブリッジ接続のための設定

続いて、VPNクライアント機(支社)でも、仮想LANカードと物理LANカードがブリッジ接続されるための設定を行います。

システム構成図(ブリッジ接続)
システム構成図(ブリッジ接続)

実際の作業は以下の通りです。

ブリッジ接続開始用シェルスクリプトファイルの作成

ブリッジ接続開始用のシェルスクリプトファイルである/etc/openvpn/bridge-startファイルを作成します。

以下の要領で/etc/openvpn/bridge-startファイルを作成します。

  1. #!/bin/sh

  2. br="br0"
  3. tap="tap0"
  4. eth="eth0"
  5. eth_ip="<VPNクライアント機(支社)のIPアドレス>"
  6. eth_netmask="255.255.255.0"
  7. eth_broadcast="<ブロードキャストアドレス>"

  8. for t in $tap; do
  9. openvpn --mktun --dev $t
  10. done

  11. brctl addbr $br
  12. brctl addif $br $eth

  13. for t in $tap; do
  14. brctl addif $br $t
  15. done

  16. for t in $tap; do
  17. ifconfig $t 0.0.0.0 promisc up
  18. done

  19. ifconfig $eth 0.0.0.0 promisc up

  20. ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

  21. route add default gw <支社LAN側のルータのIPアドレス> br0
 

ブリッジ接続終了用シェルスクリプトファイルの作成

ブリッジ接続終了用のシェルスクリプトファイルである/etc/openvpn/bridge-stopファイルを作成します。

以下の要領で/etc/openvpn/bridge-stopファイルを作成します。

  1. #!/bin/sh

  2. br="br0"
  3. tap="tap0"

  4. ifconfig $br down
  5. brctl delbr $br

  6. for t in $tap; do
  7. openvpn --rmtun --dev $t
  8. done
 
  
VPNサーバ機と同じ内容です。

パーミッションの付与

作成したブリッジ接続開始用のシェルスクリプトファイルおよびブリッジ接続終了用のシェルスクリプトファイルに実行許可を与えます。


chmod 755 /etc/openvpn/bridge-start
chmod 755 /etc/openvpn/bridge-stop

 

OpenVPNの起動ファイルの編集

VPNサーバ機と同様に、OpenVPNの起動ファイルである/etc/init.d/openvpnファイルを編集します。 以下の要領で/etc/init.d/openvpnファイルを編集します。

編集内容 補足
${DAEMON} --daemon `basename ...(省略)
  ↓(修正)
/etc/openvpn/bridge-start
${DAEMON} --daemon `basename ...(省略)

VPNサーバ機の説明を参照ください。

killproc ${DAEMON}
  ↓(修正)
killproc ${DAEMON}
/etc/openvpn/bridge-stop

VPNサーバ機の説明を参照ください。

  
VPNサーバ機と同じ内容です。

パケット転送の許可

VPNサーバ機と同様に、以下の要領で/etc/sysctl.confファイルを編集します。

編集内容 補足
  ↓(追加) ファイルの末尾に追加する
# Allow Forward Packet
net.ipv4.ip_forward = 1

VPNサーバ機の説明を参照ください。

  

設定の保存

UDEVの識別子ファイルを削除します。


rm /etc/udev/rules.d/*

 

続けて、設定情報をUSBフラッシュメモリに保存します。


save-config

 

これにより、設定情報がUSBフラッシュメモリに保存されます。

  
Do you still want to save? (y/n) というメッセージに y と答えると保存されます。
  
CDから起動した場合は、設定情報の格納用のUSBフラッシュメモリに設定情報が保存されます。
  
USBフラッシュメモリから起動した場合は、起動用のUSBフラッシュメモリに設定情報が保存されます。

以上で、VPNクライアント機(支社)での作業は終了となります。

 
メニュー