ページへ戻る
印刷
Gentoo Linuxな生活/OpenVPNで悩む
をテンプレートにして作成 ::
Nest Of Hawk
xpwiki
:Gentoo Linuxな生活/OpenVPNで悩む をテンプレートにして作成
開始行:
*OpenVPNとは
[[OpenVPN:http://www.openvpn.jp/]]は、インターネットやLAN...
VPNを構築することにより、インターネット上であってもデータ...
ちなみに、OpenVPNでは、SSL/TLSトンネルをサーバ/クライアン...
*OpenVPNをインストールしてみよう
**サーバ側
サーバ側には24時間稼働している、Linuxサーバ君にインストー...
# emerge -vuD openvpn
おしまい。
**クライアント側
クライアントにLinuxを使用する場合は、サーバと一緒。今回は...
*暗号鍵を作成
OpenVPNインストール時、大体/usr/share/openvpn等のどこかに...
**CA局を作成
# source ./vars
# clean-all
# 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...
into your certificate request.
What you are about to enter is what is called a Distingu...
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) []...
Email Address [me@myhost.mydomain]:
なんでも、好きなもの、識別できるものを入れておくとよいで...
**サーバ暗号鍵の作成
続いて、サーバ暗号鍵を作成します。
# build-key-server server
CA局と同じように聞かれていきますが、識別可能な奴を入れて...
**クライアント暗号鍵の作成
クライアント鍵の作成は、
# build-key クライアント名
暗号鍵をパスワード保護したい場合は、
# build-key-pass クライアント名
同じようにいろいろ聞かれますが、同じように識別可能な奴を...
**Diffie hellmanパラメータ作成
# build-dh
少々お待ちくださいね…
**TLSのHMAC認証用共有鍵作成
別に作成しなくてもよいのですが、後で述べる[[暗号強度を強...
openvpn --genkey --secret ta.key
**鍵をコピー
そうすると、keysサブディレクトリ配下に、以下があるはず。
ca.crt
ca.key
dh1024.pem
クライアント名.crt
クライアント名.csr
クライアント名.key
server.crt
server.csr
server.key
ta.key
で、これらのうち、ca.crt(CA証明書),クライアント名.crt,ク...
*OpenVPNを設定してみよう(共通設定)
OpenVPNは、TUN/TAPの2種類の設定モードがありますが、まずは...
**サーバ側
/usr/share/doc/openvpn-XXX/examples/sample-config-files/...
サーバ側ですので、この下にあるserver.conf.bz2を、/etc/ope...
:port|openvpnで通信するポートを指定します(クライアント側...
:proto|tcpか、udpかを指定します。(クライアント側と合わせる)
:ca|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:cert|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む...
:key|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#...
:dh|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:push|接続してきたクライアントに自動設定するパラメータを...
**クライアント側
Windowsだと、c:\Program Files(64ビット版の場合は、c:\Prog...
:proto|tcpか、udpかを指定します。(サーバ側と合わせる)
:remote|接続先のサーバ名と、ポート(サーバ側のport項で指定...
:ca|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:cert|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む...
:key|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#...
Windowsは、ファイルパスに\を使用しますが、OpenVPNは、\の...
**ブロードバンドルータ側の設定
普通は、ブロードバンドルータで、ポートを閉じていると思い...
**Linuxサーバの設定
***Sysctl
Sysctlの、ip_forwardをONにします。
# echo "1" > /proc/sys/net/ipv4/ip_forward
*OpenVPNを設定してみよう(TUNモード)
#ref(TUN.jpg,around,right)
TUNモードは、ルーティングモードです。VPNのネットワークは...
#clear
**サーバ側
先ほどのopenvpn.confの項目で、以下の項目を設定するですよ。
:dev|tunを指定します。
:server|サーバモードで設定する、openvpn空間でのネットワー...
**クライアント側
先ほどのclient.ovpnの、以下の項目を編集します。
:dev|tunを指定します。
**その他の設定
***iptables等
iptablesを指定している場合は、openvpn用のNWアドレスを通過...
***各種サーバ
openvpn用のNWアドレスからのリクエストを受け付けるようにし...
***ブロードバンドルータ等
基本は、デフォルトゲートウェイにブロードバンドルータを指...
*OpenVPNを設定してみよう(TAPモード)
#ref(TAP.jpg,around,right)
TAPモードは、アクセス先ネットワークとクライアントが同じサ...
こちらで設定した場合の方が、NW通信は早いみたい。
#clear
**サーバ側
:dev|tap指定ね。特に、TAPデバイスを作成している場合は、そ...
:server-bridge|TAPの場合はこちら。ブリッジIFのアドレス、...
**クライアント側
:dev|tap指定ね。
**OpenVPNのサーバ
ブリッジ設定を追加してやります。
***bridge-utilsのインストール
emerge bridge-utils
***ブリッジインタフェースを作成する
/etc/conf.d/netをこんな感じで設定。
config_br0=("br0に振るIPアドレス")
routes_br0=(
"default via ゲートウェイアドレス"
)
#eth0にはアドレス付与しない
config_eth0=( "null" )
#tap0はTAPモードで動かす
tuntap_tap0="tap"
#tap0にはアドレス付与しない
config_tap0=("null")
#eth0とtap0をブリッジする
bridge_br0="eth0 tap0"
#net.eth0とnet.tap0を実行してからbr0を動かす
#また、NW設定の一番頭で動かす。
depend_br0() {
need net.eth0 net.tap0
before net
}
さらに、/etc/init.dに移って
ln -sfn net.lo net.br0
ln -sfn net.lo net.tap0
さらにさらに、初期設定で自動起動するように、
rc-update add net.br0 default
*接続確認
サーバ側で、openvpnを起動してみます。
# /etc/init.d/openvpn start
クライアント側で、openvpnクライアントを起動してみましょう...
*もう一工夫
**暗号化強度を上げてみる
***OpenVPNの設定
OpenVPNの設定で、以下を追加すると、暗号強度が増しますよ。
:tls-auth|TLSによる暗号化をプラスする場合、使用する。暗号...
:cipher|暗号化アルゴリズムを指定します。サーバ、クライア...
:user,group|Windowsではない場合、openvpnが動作するユーザ...
***鍵長を変えてみる
/usr/share/openvpn/easy-rsaの下に、varsというファイルがあ...
export KEY_SIZE=2048
にすると、2048bitの鍵長になり、SSLキー自体の暗号強度が上...
**SSL等とポートを共有する
例えば、apacheサーバ等の暗号化ポート(https:443番)を、Open...
***apache側
SSL等のListenポートをずらしてやります。apacheの設定ファイ...
#Listen 443
Listen 444
#<VirtualHost _default_:443>
<VirtualHost _default_:444>
等ね。で、再起動
***OpenVPN側
port-shareってオプションを使用します。これを行うと、http...
port 443
port-share 127.0.0.1 444
として再起動。
こうすると、httpは127.0.0.1のポート444に転送してくれて、V...
**通信速度の高速化
***通信パケットの圧縮
通信時に、データパケットを通信元で圧縮し、通信先で解凍す...
クライアント、サーバ側にcomp-lzoオプションを追加してやっ...
***インタフェースのMTU長
MTU長とは、IPパケット上に載せられるデータサイズの事。ふつ...
さて、このVPN、IPトンネルを使用します。IPトンネルもEthern...
tun-mtu 1280
mssfix 1280
fragment 1280
こんなオプションを、サーバ側、クライアント側の設定ファイ...
ゲートウェイのブロードバンドルータレベルで、約100Mbyteほ...
:設定前|2.5Mbyte/sec=約20Mbps
:設定後|5.2Mbyte/sec=約41Mbps
:さらにTAPモードにすると|6.9Mbyte/sec=約55Mbps
これは劇的な変化でしょ!!TAPモードにするとルーティングしな...
**BitLocker to Go
Windows側のVPNクライアントを見ていると、USBのアクセスキー...
うちのdv3500君は、SDカードスロットを持っています。うちに1...
Windows7 Ultimateには、BitLockerというドライブ暗号化ツー...
そして、出来上がった暗号化ドライブに、暗号キーを放り込ん...
+SDカードスロットに暗号キーを差し込む
+SD暗号キーのパスワード認証(BitLocker側)
+OpenVPN GUIで『接続』を選択
+クライアント暗号キーのパスフレーズ入力(パスフレーズ付き...
+サーバと接続確立
+あとはおうちで使用するのと同じように、サーバにSSHやら、...
うっふっふ♪こいつぁ便利な上に、SDカードとセットでないとア...
終了行:
*OpenVPNとは
[[OpenVPN:http://www.openvpn.jp/]]は、インターネットやLAN...
VPNを構築することにより、インターネット上であってもデータ...
ちなみに、OpenVPNでは、SSL/TLSトンネルをサーバ/クライアン...
*OpenVPNをインストールしてみよう
**サーバ側
サーバ側には24時間稼働している、Linuxサーバ君にインストー...
# emerge -vuD openvpn
おしまい。
**クライアント側
クライアントにLinuxを使用する場合は、サーバと一緒。今回は...
*暗号鍵を作成
OpenVPNインストール時、大体/usr/share/openvpn等のどこかに...
**CA局を作成
# source ./vars
# clean-all
# 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...
into your certificate request.
What you are about to enter is what is called a Distingu...
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) []...
Email Address [me@myhost.mydomain]:
なんでも、好きなもの、識別できるものを入れておくとよいで...
**サーバ暗号鍵の作成
続いて、サーバ暗号鍵を作成します。
# build-key-server server
CA局と同じように聞かれていきますが、識別可能な奴を入れて...
**クライアント暗号鍵の作成
クライアント鍵の作成は、
# build-key クライアント名
暗号鍵をパスワード保護したい場合は、
# build-key-pass クライアント名
同じようにいろいろ聞かれますが、同じように識別可能な奴を...
**Diffie hellmanパラメータ作成
# build-dh
少々お待ちくださいね…
**TLSのHMAC認証用共有鍵作成
別に作成しなくてもよいのですが、後で述べる[[暗号強度を強...
openvpn --genkey --secret ta.key
**鍵をコピー
そうすると、keysサブディレクトリ配下に、以下があるはず。
ca.crt
ca.key
dh1024.pem
クライアント名.crt
クライアント名.csr
クライアント名.key
server.crt
server.csr
server.key
ta.key
で、これらのうち、ca.crt(CA証明書),クライアント名.crt,ク...
*OpenVPNを設定してみよう(共通設定)
OpenVPNは、TUN/TAPの2種類の設定モードがありますが、まずは...
**サーバ側
/usr/share/doc/openvpn-XXX/examples/sample-config-files/...
サーバ側ですので、この下にあるserver.conf.bz2を、/etc/ope...
:port|openvpnで通信するポートを指定します(クライアント側...
:proto|tcpか、udpかを指定します。(クライアント側と合わせる)
:ca|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:cert|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む...
:key|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#...
:dh|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:push|接続してきたクライアントに自動設定するパラメータを...
**クライアント側
Windowsだと、c:\Program Files(64ビット版の場合は、c:\Prog...
:proto|tcpか、udpかを指定します。(サーバ側と合わせる)
:remote|接続先のサーバ名と、ポート(サーバ側のport項で指定...
:ca|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#y...
:cert|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む...
:key|[[ここの暗号鍵作成>Gentoo Linuxな生活/OpenVPNで悩む#...
Windowsは、ファイルパスに\を使用しますが、OpenVPNは、\の...
**ブロードバンドルータ側の設定
普通は、ブロードバンドルータで、ポートを閉じていると思い...
**Linuxサーバの設定
***Sysctl
Sysctlの、ip_forwardをONにします。
# echo "1" > /proc/sys/net/ipv4/ip_forward
*OpenVPNを設定してみよう(TUNモード)
#ref(TUN.jpg,around,right)
TUNモードは、ルーティングモードです。VPNのネットワークは...
#clear
**サーバ側
先ほどのopenvpn.confの項目で、以下の項目を設定するですよ。
:dev|tunを指定します。
:server|サーバモードで設定する、openvpn空間でのネットワー...
**クライアント側
先ほどのclient.ovpnの、以下の項目を編集します。
:dev|tunを指定します。
**その他の設定
***iptables等
iptablesを指定している場合は、openvpn用のNWアドレスを通過...
***各種サーバ
openvpn用のNWアドレスからのリクエストを受け付けるようにし...
***ブロードバンドルータ等
基本は、デフォルトゲートウェイにブロードバンドルータを指...
*OpenVPNを設定してみよう(TAPモード)
#ref(TAP.jpg,around,right)
TAPモードは、アクセス先ネットワークとクライアントが同じサ...
こちらで設定した場合の方が、NW通信は早いみたい。
#clear
**サーバ側
:dev|tap指定ね。特に、TAPデバイスを作成している場合は、そ...
:server-bridge|TAPの場合はこちら。ブリッジIFのアドレス、...
**クライアント側
:dev|tap指定ね。
**OpenVPNのサーバ
ブリッジ設定を追加してやります。
***bridge-utilsのインストール
emerge bridge-utils
***ブリッジインタフェースを作成する
/etc/conf.d/netをこんな感じで設定。
config_br0=("br0に振るIPアドレス")
routes_br0=(
"default via ゲートウェイアドレス"
)
#eth0にはアドレス付与しない
config_eth0=( "null" )
#tap0はTAPモードで動かす
tuntap_tap0="tap"
#tap0にはアドレス付与しない
config_tap0=("null")
#eth0とtap0をブリッジする
bridge_br0="eth0 tap0"
#net.eth0とnet.tap0を実行してからbr0を動かす
#また、NW設定の一番頭で動かす。
depend_br0() {
need net.eth0 net.tap0
before net
}
さらに、/etc/init.dに移って
ln -sfn net.lo net.br0
ln -sfn net.lo net.tap0
さらにさらに、初期設定で自動起動するように、
rc-update add net.br0 default
*接続確認
サーバ側で、openvpnを起動してみます。
# /etc/init.d/openvpn start
クライアント側で、openvpnクライアントを起動してみましょう...
*もう一工夫
**暗号化強度を上げてみる
***OpenVPNの設定
OpenVPNの設定で、以下を追加すると、暗号強度が増しますよ。
:tls-auth|TLSによる暗号化をプラスする場合、使用する。暗号...
:cipher|暗号化アルゴリズムを指定します。サーバ、クライア...
:user,group|Windowsではない場合、openvpnが動作するユーザ...
***鍵長を変えてみる
/usr/share/openvpn/easy-rsaの下に、varsというファイルがあ...
export KEY_SIZE=2048
にすると、2048bitの鍵長になり、SSLキー自体の暗号強度が上...
**SSL等とポートを共有する
例えば、apacheサーバ等の暗号化ポート(https:443番)を、Open...
***apache側
SSL等のListenポートをずらしてやります。apacheの設定ファイ...
#Listen 443
Listen 444
#<VirtualHost _default_:443>
<VirtualHost _default_:444>
等ね。で、再起動
***OpenVPN側
port-shareってオプションを使用します。これを行うと、http...
port 443
port-share 127.0.0.1 444
として再起動。
こうすると、httpは127.0.0.1のポート444に転送してくれて、V...
**通信速度の高速化
***通信パケットの圧縮
通信時に、データパケットを通信元で圧縮し、通信先で解凍す...
クライアント、サーバ側にcomp-lzoオプションを追加してやっ...
***インタフェースのMTU長
MTU長とは、IPパケット上に載せられるデータサイズの事。ふつ...
さて、このVPN、IPトンネルを使用します。IPトンネルもEthern...
tun-mtu 1280
mssfix 1280
fragment 1280
こんなオプションを、サーバ側、クライアント側の設定ファイ...
ゲートウェイのブロードバンドルータレベルで、約100Mbyteほ...
:設定前|2.5Mbyte/sec=約20Mbps
:設定後|5.2Mbyte/sec=約41Mbps
:さらにTAPモードにすると|6.9Mbyte/sec=約55Mbps
これは劇的な変化でしょ!!TAPモードにするとルーティングしな...
**BitLocker to Go
Windows側のVPNクライアントを見ていると、USBのアクセスキー...
うちのdv3500君は、SDカードスロットを持っています。うちに1...
Windows7 Ultimateには、BitLockerというドライブ暗号化ツー...
そして、出来上がった暗号化ドライブに、暗号キーを放り込ん...
+SDカードスロットに暗号キーを差し込む
+SD暗号キーのパスワード認証(BitLocker側)
+OpenVPN GUIで『接続』を選択
+クライアント暗号キーのパスフレーズ入力(パスフレーズ付き...
+サーバと接続確立
+あとはおうちで使用するのと同じように、サーバにSSHやら、...
うっふっふ♪こいつぁ便利な上に、SDカードとセットでないとア...
ページ名: