| | 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 | }}} |