OpenVPN のための Solaris 用 TAP ドライバ 目次†TAP デバイスを使った設定例†OpenVPN のための Solaris 用 TAP ドライバで作成した TAP デバイスを利用した簡単な設定例をご紹介します。
証明書の発行†基本的にサーバ上の /etc/openvpn/easy-rsa/ ディレクトリで作業します。 準備†# cd /etc/openvpn/easy-rsa # . ./vars NOTE: when you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys # ./clean-all 認証局(CA)の証明書とプライベートキーを発行†# ./build-ca Generating a 1024 bit RSA private key .....++++++ ......++++++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]: <--- そのままエンターキーを押す State or Province Name (full name) [NA]: <--- そのままエンターキーを押す Locality Name (eg, city) [BISHKEK]: <--- そのままエンターキーを押す Organization Name (eg, company) [OpenVPN-TEST]: <--- そのままエンターキーを押す Organizational Unit Name (eg, section) []: <--- そのままエンターキーを押す Common Name (eg, your name or your server's hostname) []:server <--- サーバのホスト名を入力 Email Address [me@myhost.mydomain]: <--- そのままエンターキーを押す もちろん、それぞれの項目にちゃんと答えてもかまいません。ここでは手順の簡略化のために「Common Name」だけを入力しています。 サーバの証明書とプライベートキーを発行†# ./build-key-server server Generating a 1024 bit RSA private key ..................................++++++ ...................++++++ writing new private key to 'server.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]: <--- そのままエンターキーを押す State or Province Name (full name) [NA]: <--- そのままエンターキーを押す Locality Name (eg, city) [BISHKEK]: <--- そのままエンターキーを押す Organization Name (eg, company) [OpenVPN-TEST]: <--- そのままエンターキーを押す Organizational Unit Name (eg, section) []: <--- そのままエンターキーを押す Common Name (eg, your name or your server's hostname) []:server <--- 「server」と入力 Email Address [me@myhost.mydomain]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'KG' stateOrProvinceName :PRINTABLE:'NA' localityName :PRINTABLE:'BISHKEK' organizationName :PRINTABLE:'OpenVPN-TEST' commonName :PRINTABLE:'server' emailAddress :IA5STRING:'me@myhost.mydomain' Certificate is to be certified until Apr 23 14:14:55 2016 GMT (3650 days) 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 クライアントの証明書とプライベートキーを発行†# ./build-key client1 Generating a 1024 bit RSA private key ........................................................++++++ ....++++++ writing new private key to 'client1.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]: <--- そのままエンターキーを押す State or Province Name (full name) [NA]: <--- そのままエンターキーを押す Locality Name (eg, city) [BISHKEK]: <--- そのままエンターキーを押す Organization Name (eg, company) [OpenVPN-TEST]: <--- そのままエンターキーを押す Organizational Unit Name (eg, section) []: <--- そのままエンターキーを押す Common Name (eg, your name or your server's hostname) []:client1 <--- クライアントのホスト名を入力 Email Address [me@myhost.mydomain]: <--- そのままエンターキーを押す Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl.cnf DEBUG[load_index]: unique_subject = "yes" Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'KG' stateOrProvinceName :PRINTABLE:'NA' localityName :PRINTABLE:'BISHKEK' organizationName :PRINTABLE:'OpenVPN-TEST' commonName :PRINTABLE:'client1' emailAddress :IA5STRING:'me@myhost.mydomain' Certificate is to be certified until Apr 23 14:22:27 2016 GMT (3650 days) 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 Diffie Hellman パラメータの生成†# ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time ................................+.........................+.............. ...............+..................................... # 認証局の証明書、サーバ証明書、プライベートキーのコピー†認証局の証明書、サーバ証明書、プライベートキーを /etc/openvpn/keys/ へコピー # cd /etc/openvpn/easy-rsa/keys/ # cp ca.crt server.crt server.key dh1024.pem /etc/openvpn/keys 認証局の証明書、クライアント証明書、プライベートキーのコピー†ftp などを使ってサーバの /etc/openvpn/easy-rsa/keys/ ディレクトリにある以下のファイルをクライアントの /etc/openvpn/keys/ へコピーします
設定ファイル†サーバ用設定ファイル†サーバの /etc/openvpn/ ディレクトリに以下の内容で server.conf ファイルを作成します。 /etc/openvpn/server.conf dev tap proto tcp-server server 192.168.0.0 255.255.255.0 client-to-client ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh1024.pem ** この設定では VPN 上で使われる IP は 192.168.0.0 〜 192.168.0.255 になります。 クライアント用設定ファイル†クライアントの /etc/openvpn/ ディレクトリに以下の内容で client.conf ファイルを作成します。 /etc/openvpn/client.conf remote server proto tcp-client dev tap client ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/client1.crt key /etc/openvpn/keys/client1.key 設定ファイル内の「remote server」の server とはサーバのホスト名です。 プログラムの起動†サーバ、クライアント上で openvpn コマンドを実行します。引数として、それぞれの設定ファイルを指定します。 サーバ†# /usr/local/sbin/openvpn /etc/openvpn/server.conf Wed Apr 26 23:57:06 2006 OpenVPN 2.0.7 sparc-sun-solaris2.10 [SSL] built on Apr 26 2006 Wed Apr 26 23:57:06 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Wed Apr 26 23:57:06 2006 WARNING: --keepalive option is missing from server config Wed Apr 26 23:57:06 2006 TUN/TAP device tap0 opened Wed Apr 26 23:57:06 2006 /usr/sbin/ifconfig tap0 192.168.0.1 netmask 255.255.255.0 broadcast + up Wed Apr 26 23:57:06 2006 Listening for incoming TCP connection on [undef]:1194 Wed Apr 26 23:57:06 2006 TCPv4_SERVER link local (bound): [undef]:1194 Wed Apr 26 23:57:06 2006 TCPv4_SERVER link remote: [undef] Wed Apr 26 23:57:06 2006 Initialization Sequence Completed クライアント†# /usr/local/sbin/openvpn /etc/openvpn/client.conf Wed Apr 26 23:58:14 2006 OpenVPN 2.0.7 sparc-sun-solaris2.9 [SSL] built on Apr 26 2006 Wed Apr 26 23:58:14 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Wed Apr 26 23:58:14 2006 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Wed Apr 26 23:58:14 2006 Attempting to establish TCP connection with 172.29.73.55:1194 Wed Apr 26 23:58:14 2006 TCP connection established with 172.29.73.55:1194 Wed Apr 26 23:58:14 2006 TCPv4_CLIENT link local: [undef] Wed Apr 26 23:58:14 2006 TCPv4_CLIENT link remote: 172.29.73.55:1194 Wed Apr 26 23:58:16 2006 [server] Peer Connection Initiated with 172.29.73.55:1194 Wed Apr 26 23:58:17 2006 TUN/TAP device tap0 opened Wed Apr 26 23:58:17 2006 /usr/sbin/ifconfig tap0 192.168.0.2 netmask 255.255.255.0 broadcast + up Wed Apr 26 23:58:18 2006 Initialization Sequence Completed サーバ、クライアントともに WARNING メッセージが出てしまいましたが、とりあえず無事接続したようです。気になる方は調べて設定ファイルを変更してみてください。 ifconfig コマンドの実行結果の確認†このとき ifconfig コマンドを実行するとそれぞれ以下のように見えるはずです。
|