5: 2010-03-14 (Sun) 22:43:03 maruo  |
Cur: 2010-07-05 (Mon) 00:13:21 maruo  |
| 少々お待ちくださいね… | | 少々お待ちくださいね… |
| **TLSのHMAC認証用共有鍵作成 [#h77443fa] | | **TLSのHMAC認証用共有鍵作成 [#h77443fa] |
- | 別に作成しなくてもよいのですが、後で述べる暗号強度を強める設定を行う場合は、共有鍵を作成します。 | + | 別に作成しなくてもよいのですが、後で述べる[[暗号強度を強める設定>Gentoo Linuxな生活/OpenVPNで悩む#r6a3b622]]を行う場合は、共有鍵を作成します。 |
| openvpn --genkey --secret ta.key | | openvpn --genkey --secret ta.key |
| | | |
| *OpenVPNを設定してみよう(TAPモード) [#l984cd92] | | *OpenVPNを設定してみよう(TAPモード) [#l984cd92] |
| #ref(TAP.jpg,around,right) | | #ref(TAP.jpg,around,right) |
- | TAPモードは、アクセス先ネットワークとクライアントが同じアドレスとなります。TAPインタフェースの設定がめんどくさいんだけど、ルーティングなんかは設定しなくていいから楽なんだよね。ただ、アクセスコントロールをしたいときは難しいですわ。 | + | TAPモードは、アクセス先ネットワークとクライアントが同じサブネットとなります。TAPインタフェースの設定がめんどくさいんだけど、ルーティングなんかは設定しなくていいから楽なんだよね。ただ、アクセスコントロールをしたいときは難しいですわ。 |
| + | |
| + | こちらで設定した場合の方が、NW通信は早いみたい。 |
| | | |
| #clear | | #clear |
| + | |
| **サーバ側 [#aa08ed07] | | **サーバ側 [#aa08ed07] |
- | :dev|tap指定ね。 | + | :dev|tap指定ね。特に、TAPデバイスを作成している場合は、そのままデバイス名(例えばtap0等)を指定すると良い |
- | :server-bridge|TAPの場合はこちら。ブリッジIFのアドレス、ネットマスク、クライアントに付与するアドレスの範囲を指定。 | + | :server-bridge|TAPの場合はこちら。ブリッジIFのアドレス、ネットマスク、クライアントに付与するアドレスの範囲を指定。ちなみに、何もオプションを指定しない場合は、DHCPProxyモードになります。向こう側のネットワークにDHCPサーバとかいる場合は、そちらのDHCPにNW設定をお任せできます。 |
| **クライアント側 [#f5343d4c] | | **クライアント側 [#f5343d4c] |
| :dev|tap指定ね。 | | :dev|tap指定ね。 |
| #eth0にはアドレス付与しない | | #eth0にはアドレス付与しない |
| config_eth0=( "null" ) | | config_eth0=( "null" ) |
- | #tun0はTAPモードで動かす | + | #tap0はTAPモードで動かす |
- | tuntap_tun0="tap" | + | tuntap_tap0="tap" |
- | #tun0にはアドレス付与しない | + | #tap0にはアドレス付与しない |
- | config_tun0=("null") | + | config_tap0=("null") |
- | #eth0とtun0をブリッジする | + | #eth0とtap0をブリッジする |
- | bridge_br0="eth0 tun0" | + | bridge_br0="eth0 tap0" |
- | #net.eth0とnet.tun0を実行してからbr0を動かす | + | #net.eth0とnet.tap0を実行してからbr0を動かす |
| + | #また、NW設定の一番頭で動かす。 |
| depend_br0() { | | depend_br0() { |
- | need net.eth0 net.tun0 | + | need net.eth0 net.tap0 |
| + | before net |
| } | | } |
| さらに、/etc/init.dに移って | | さらに、/etc/init.dに移って |
| ln -sfn net.lo net.br0 | | ln -sfn net.lo net.br0 |
- | ln -sfn net.lo net.tun0 | + | ln -sfn net.lo net.tap0 |
| さらにさらに、初期設定で自動起動するように、 | | さらにさらに、初期設定で自動起動するように、 |
| rc-update add net.br0 default | | rc-update add net.br0 default |
| #Listen 443 | | #Listen 443 |
| Listen 444 | | Listen 444 |
| + | |
| #<VirtualHost _default_:443> | | #<VirtualHost _default_:443> |
| <VirtualHost _default_:444> | | <VirtualHost _default_:444> |
| | | |
| として再起動。 | | として再起動。 |
- | こうすると、127.0.0.1のポート444に転送してくれるんですよ。httpを。 | + | こうすると、httpは127.0.0.1のポート444に転送してくれて、VPN接続も443で実行できるってわけです。便利ねー |
| + | |
| + | **通信速度の高速化 [#v1fac745] |
| + | ***通信パケットの圧縮 [#y0196690] |
| + | 通信時に、データパケットを通信元で圧縮し、通信先で解凍すると、通信回線の速さよりもCPUが勝っていれば、通信速度が向上します。 |
| + | クライアント、サーバ側にcomp-lzoオプションを追加してやって。 |
| + | ***インタフェースのMTU長 [#pf891575] |
| + | MTU長とは、IPパケット上に載せられるデータサイズの事。ふつーのEthernetは、1500バイトです。これを超えたデータを転送しようとするとパケットを分割しようとします。これをフラグメントと言いますが、ものすごく転送速度が落ちます。 |
| + | |
| + | さて、このVPN、IPトンネルを使用します。IPトンネルもEthernetと同じくデバイスに見えます。このデバイスに入ったパケットは、IPヘッダをつけて、さらにEthernetの1500バイトのIPデータに変換されます。分かりました?IPトンネルは、余計にくっつけるヘッダサイズ分、MTU長が小さくなるのです。なので、これを調整してやると、飛躍的に転送速度が上がります。 |
| + | tun-mtu 1280 |
| + | mssfix 1280 |
| + | fragment 1280 |
| + | こんなオプションを、サーバ側、クライアント側の設定ファイルに追加すると…うちでは転送速度が2倍に向上したよ。fragmentはproto udpの時のみ有効です~。 |
| + | |
| + | ゲートウェイのブロードバンドルータレベルで、約100Mbyteほどの転送速度。で、設定前と設定後で、100Mbyte程度のデータをVPN経由して転送してみました。 |
| + | :設定前|2.5Mbyte/sec=約20Mbps |
| + | :設定後|5.2Mbyte/sec=約41Mbps |
| + | :さらにTAPモードにすると|6.9Mbyte/sec=約55Mbps |
| + | これは劇的な変化でしょ!!TAPモードにするとルーティングしない分、さらに早いみたいです。 |
| | | |
| **BitLocker to Go [#j8f352de] | | **BitLocker to Go [#j8f352de] |
| +クライアント暗号キーのパスフレーズ入力(パスフレーズ付きのクライアントキー認証) | | +クライアント暗号キーのパスフレーズ入力(パスフレーズ付きのクライアントキー認証) |
| +サーバと接続確立 | | +サーバと接続確立 |
- | | |
| +あとはおうちで使用するのと同じように、サーバにSSHやら、共有ドライブアクセスやら、IMAP使用したりできる | | +あとはおうちで使用するのと同じように、サーバにSSHやら、共有ドライブアクセスやら、IMAP使用したりできる |
| | | |
| うっふっふ♪こいつぁ便利な上に、SDカードとセットでないとアクセスできない。SDキーをなくしても、暗号化されている上に何のキーかわからないから、安心ってわけね。 | | うっふっふ♪こいつぁ便利な上に、SDカードとセットでないとアクセスできない。SDキーをなくしても、暗号化されている上に何のキーかわからないから、安心ってわけね。 |