ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

05_network:04_vyatta:vyatta_openvpn_server

Vyatta OpenVPN Server/Client

環境

Global側eth010.10.100.1
Local側eth1192.168.1.1
仮想LANvtun0172.16.100.1

Vyatta OpenVPN Server

CA証明書・秘密鍵作成

# sudo su -
# cd /usr/share/doc/openvpn/examples/easy-rsa/
# cp -r 2.0 /etc/openvpn/easy-rsa/
# cd /etc/openvpn/easy-rsa/
# vi vars
  ---- 以下修正 ----
  export KEY_COUNTRY="US"
  export KEY_PROVINCE="CA"
  export KEY_CITY="SanFrancisco"
  export KEY_ORG="Fort-Funston"
  export KEY_EMAIL="me@myhost.mydomain"
# source vars
# ./clean-all
# ./build-ca
全部空エンターで

CA証明書をコピーしておく

# cp keys/ca.crt /config/auth/

サーバー証明書・秘密鍵作成

# ./build-key-server server
全部空エンターで
・
・
・
Sign the certificate? [y/n]:y ← y応答


1 out of 1 certificate requests certified, commit? [y/n]y ← y応答
Write out database with 1 new entries
Data Base Updated

サーバー証明書・秘密鍵作成をコピーしておく

# cp keys/server.crt /config/auth/
# cp keys/server.key /config/auth/

DH(Diffie Hellman)パラメータ作成

# ./build-dh
# cp keys/dh1024.pem /config/auth/

TLS認証鍵を作成

# openvpn --genkey --secret /config/auth/ta.key

コマンド

# set interfaces openvpn vtun0 encryption 'aes128'
# set interfaces openvpn vtun0 mode 'server'
# set interfaces openvpn vtun0 openvpn-option '--tls-auth /etc/openvpn/ta.key 0'
# set interfaces openvpn vtun0 protocol 'udp'
# set interfaces openvpn vtun0 server name-server '8.8.8.8'
# set interfaces openvpn vtun0 server push-route '192.168.1.0/24'
# set interfaces openvpn vtun0 server subnet '172.16.100.0/24'
# set interfaces openvpn vtun0 server topology 'subnet'
# set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
# set interfaces openvpn vtun0 tls cert-file '/config/auth/server.crt'
# set interfaces openvpn vtun0 tls dh-file '/config/auth/dh1024.pem'
# set interfaces openvpn vtun0 tls key-file '/config/auth/server.key'

「–tls-auth /etc/openvpn/ta.key 0」オプションの最後の“0”は、サーバ側であることを示す。

クライアント証明書・秘密鍵作成

クライアントの証明書と鍵を作成しておく

※クライアント証明書は、クライアント毎に作成する必要があります。

# cd /etc/openvpn/easy-rsa/
# source vars
# ./build-key-pass client1
private keyのパスワード以外、全エンターで

private keyのパスワードをなしにする。

# cd /etc/openvpn/easy-rsa/keys/
# openssl rsa -in client1.key -out client1.key

Vyatta OpenVPN Client

サーバー側から下記の4つをコピーしてくる。

「/config/auth/」以下に保存する。

CA証明書(/config/auth/ca.crt)
クライアント証明書(/etc/openvpn/easy-rsa/keys/client1.crt)
クライアント秘密鍵(/etc/openvpn/easy-rsa/keys/client1.key)
TLS認証鍵(/config/auth//ta.key) 

コマンド

# set interfaces openvpn vtun0 encryption 'aes128'
# set interfaces openvpn vtun0 mode 'client'
# set interfaces openvpn vtun0 openvpn-option '--tls-auth /config/auth/ta.key 1'
# set interfaces openvpn vtun0 protocol 'udp'
# set interfaces openvpn vtun0 remote-host '10.10.100.1'
# set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
# set interfaces openvpn vtun0 tls cert-file '/config/auth/client2.crt'
# set interfaces openvpn vtun0 tls key-file '/config/auth/client2.key'

「–tls-auth /etc/openvpn/ta.key 1」オプションの最後の”0”は、クライアント側であることを示す。

接続の確認

Server側

サーバ側から、クライアント側の仮想IP 172.16.100.2 にPingが飛ぶ事を確認

$ sh openvpn server status 
OpenVPN server status on vtun0 [] 

Client CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
client1         10.10.100.2     172.16.100.2    13.0K   11.7K Mon Dec 17 23:27:26 2012

Client側

クライアント側から、サーバ側の仮想IP 172.16.100.1 と Local側IP 192.168.1.1 にPingが飛ぶ事を確認

$ sh openvpn client status 
OpenVPN client status on vtun0 []

Server CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
N/A             10.10.100.1     N/A               14.3K   15.7K N/A
05_network/04_vyatta/vyatta_openvpn_server.txt · 最終更新: 2012/12/18 16:47 by matsui