Changes between Version 1 and Version 2 of TipAndDoc/network/vpn/openvpn


Ignore:
Timestamp:
Nov 15, 2009 2:06:19 AM (14 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TipAndDoc/network/vpn/openvpn

    v1 v2  
    11[[PageOutline]] 
    22 
     3 = HOWTO = 
    34 * [http://freescitech.net/2/wiki/index.php?OpenVPN%202%20HOWTO%20%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3 OpenVPN 2 HOWTO 日本語訳 - OpenVPN Japanese Information (wiki)] 
    45 * [http://freescitech.net/2/wiki/index.php?OpenVPN%202%20Ethernet%20Bridging%20%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3 OpenVPN 2 Ethernet Bridging 日本語訳 - OpenVPN Japanese Information (wiki)] 
     
    67 * [http://blog.cheki.net/archives/1558 CentOS5.3にOpenVPNを導入(ブリッジモード)] 
    78   * VMware ESXi上でopenvpnをブリッジモードで起動させる場合、プロミスキャスモードを許可してあげる必要があります。 
     9 
     10 = 設定ファイルについて = 
     11 * /etc/openvpn/*.conf がそれぞれ読み込まれる 
     12   * /etc/init.d/openvpn 
     13{{{ 
     14(snip) 
     15 
     16CONFIG_DIR=/etc/openvpn 
     17 
     18(snip) 
     19 
     20case "$1" in 
     21start) 
     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{{{ 
     50ca.crt 
     51dh1024.pem 
     52server.conf 
     53server.crt 
     54server.key 
     55}}} 
     56 
     57 === デフォルトで出来るTUN === 
     58{{{ 
     59tun0      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{{{ 
     77ca.crt 
     78client.conf 
     79client.crt 
     80client.key 
     81}}} 
     82 
     83 === デフォルトで出来るTUN === 
     84{{{ 
     85tun0      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{{{ 
     123No subnet declaration for eth0 (0.0.0.0). 
     124}}} 
     125 * /etc/default/dhcp3-server を以下のように修正して回避する 
     126{{{ 
     127INTERFACES="br0" 
     128}}}