| 9 | |
| 10 | = 設定ファイルについて = |
| 11 | * /etc/openvpn/*.conf がそれぞれ読み込まれる |
| 12 | * /etc/init.d/openvpn |
| 13 | {{{ |
| 14 | (snip) |
| 15 | |
| 16 | CONFIG_DIR=/etc/openvpn |
| 17 | |
| 18 | (snip) |
| 19 | |
| 20 | case "$1" in |
| 21 | start) |
| 22 | |
| 23 | (snip) |
| 24 | |
| 25 | for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do |
| 26 | NAME=${CONFIG%%.conf} |
| 27 | start_vpn |
| 28 | done |
| 29 | }}} |
| 30 | |
| 31 | = router mode = |
| 32 | * 基本的に[#HOWTO]の通りでよい |
| 33 | |
| 34 | == server side settings == |
| 35 | * sudo aptitude install -R openvpn |
| 36 | * cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz . |
| 37 | * vim server.conf |
| 38 | * 適宜編集 |
| 39 | |
| 40 | === 各種鍵 === |
| 41 | * [#HOWTO]で「自分でCA(認証局)を作り,OpenVPNサーバとクライアントのために証明書と鍵を生成する」となっているセクションは、代わりに[../../ssl]に従って作成する |
| 42 | * rootCAを新しく作るのは管理が面倒になるため |
| 43 | * Apache向けのSSL certを作るのとやり方は変わらない |
| 44 | * rootCAのCA証明書とDHパラメータが、生成されないので、二つだけ個別に作る |
| 45 | * openssl x509 -in demoCA/cacert.pem -out ca.crt |
| 46 | * openssl dhparam -out dh1024.pem 1024 |
| 47 | |
| 48 | * sudo mv ca.crt dh1024.pem server.* /etc/openvpn/ |
| 49 | {{{ |
| 50 | ca.crt |
| 51 | dh1024.pem |
| 52 | server.conf |
| 53 | server.crt |
| 54 | server.key |
| 55 | }}} |
| 56 | |
| 57 | === デフォルトで出来るTUN === |
| 58 | {{{ |
| 59 | tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 |
| 60 | inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 |
| 61 | UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 |
| 62 | RX packets:4 errors:0 dropped:0 overruns:0 frame:0 |
| 63 | TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 |
| 64 | collisions:0 txqueuelen:100 |
| 65 | RX bytes:336 (336.0 B) TX bytes:504 (504.0 B) |
| 66 | }}} |
| 67 | |
| 68 | == client side == |
| 69 | * serverと同様に各種鍵を作る。ca.crtはserverと同じ物を使用。 |
| 70 | |
| 71 | * cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf . |
| 72 | * vim client.conf |
| 73 | * 適宜編集 |
| 74 | |
| 75 | * sudo mv * /etc/openvpn/ |
| 76 | {{{ |
| 77 | ca.crt |
| 78 | client.conf |
| 79 | client.crt |
| 80 | client.key |
| 81 | }}} |
| 82 | |
| 83 | === デフォルトで出来るTUN === |
| 84 | {{{ |
| 85 | tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 |
| 86 | inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255 |
| 87 | UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 |
| 88 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
| 89 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
| 90 | collisions:0 txqueuelen:100 |
| 91 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
| 92 | }}} |
| 93 | |
| 94 | = bridge mode = |
| 95 | * server側は物理NICとTAPデバイスのブリッジを造る必要がある。 |
| 96 | * sudo aptitude install -R bridge-utils |
| 97 | * クライアント側はconfを編集してTUNをTAPに変更するのみ |
| 98 | |
| 99 | == bridge script == |
| 100 | * bridge-startはUbuntuではパッケージに含まれていないようなので、http://openvpn.net/index.php/open-source/downloads.html からDLすること。 |
| 101 | |
| 102 | * sudo cp bridge-start /etc/init.d/ |
| 103 | * sudo update-rc.d bridge-start start 99 S . |
| 104 | {{{ |
| 105 | Adding system startup for /etc/init.d/bridge-start ... |
| 106 | /etc/rcS.d/S99bridge-start -> ../init.d/bridge-start |
| 107 | }}} |
| 108 | |
| 109 | * OS起動時に、networking -> bridge-start -> ufw の順でサービスが起動する |
| 110 | |
| 111 | == customize ufw == |
| 112 | * 以下の追加を忘れると、サーバ<->クライアント間でpingしか通らないので注意 |
| 113 | {{{ |
| 114 | -A ufw-before-input -i tap0 -j ACCEPT |
| 115 | -A ufw-before-input -i br0 -j ACCEPT |
| 116 | -A ufw-before-forward -i br0 -j ACCEPT |
| 117 | }}} |
| 118 | |
| 119 | = misc = |
| 120 | == error on dhcp3-server == |
| 121 | eth0とtap0をブリッジした場合、eth0がプロミスキャスモードでIPが振られなくなるため(ブリッジデバイスのbr0にIPが来る)、以下のようなエラーが出てdhcpdが起動しなくなる。 |
| 122 | {{{ |
| 123 | No subnet declaration for eth0 (0.0.0.0). |
| 124 | }}} |
| 125 | * /etc/default/dhcp3-server を以下のように修正して回避する |
| 126 | {{{ |
| 127 | INTERFACES="br0" |
| 128 | }}} |