Version 3 (modified by mitty, 15 years ago) (diff) |
---|
HOWTO
- OpenVPN 2 HOWTO 日本語訳 - OpenVPN Japanese Information (wiki)
- OpenVPN 2 Ethernet Bridging 日本語訳 - OpenVPN Japanese Information (wiki)
- Network/VPN/OpenVPNでSSL-VPN環境を構築する - きのさいと
- CentOS5.3にOpenVPNを導入(ブリッジモード)
- VMware ESXi上でopenvpnをブリッジモードで起動させる場合、プロミスキャスモードを許可してあげる必要があります。
設定ファイルについて
- /etc/openvpn/*.conf がそれぞれ読み込まれる
- /etc/init.d/openvpn
(snip) CONFIG_DIR=/etc/openvpn (snip) case "$1" in start) (snip) for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do NAME=${CONFIG%%.conf} start_vpn done
- /etc/init.d/openvpn
router mode
- 基本的に#HOWTOの通りでよい
server side settings
- sudo aptitude install -R openvpn
- cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz .
- vim server.conf
- 適宜編集
各種鍵・証明書
#HOWTOで「自分でCA(認証局)を作り,OpenVPNサーバとクライアントのために証明書と鍵を生成する」となっているセクションは、代わりにssl?に従って作成するrootCAを新しく作るのは管理が面倒になるためApache向けのSSL certを作るのとやり方は変わらない
rootCAのCA証明書とDHパラメータが、生成されないので、二つだけ個別に作るopenssl x509 -in demoCA/cacert.pem -out ca.crtopenssl dhparam -out dh1024.pem 1024
- openssl.cnfに対する編集([3#file2])のため、Apache用SSL証明書と同様に作成した鍵・証明書を用いると、サーバ側で「VERIFY ERROR: depth=0, error=unsupported certificate purpose: 」というエラーになり接続が維持されない。
- sudo mv ca.crt dh1024.pem server.* /etc/openvpn/
ca.crt dh1024.pem server.conf server.crt server.key
デフォルトで出来るTUN
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:336 (336.0 B) TX bytes:504 (504.0 B)
client side
- serverと同様に各種鍵を作る。ca.crtはserverと同じ物を使用。
- cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .
- vim client.conf
- 適宜編集
- sudo mv * /etc/openvpn/
ca.crt client.conf client.crt client.key
デフォルトで出来るTUN
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
bridge mode
- server側は物理NICとTAPデバイスのブリッジを造る必要がある。
- sudo aptitude install -R bridge-utils
- クライアント側はconfを編集してTUNをTAPに変更するのみ
bridge script
- bridge-startはUbuntuではパッケージに含まれていないようなので、http://openvpn.net/index.php/open-source/downloads.html からDLすること。
- sudo cp bridge-start /etc/init.d/
- sudo update-rc.d bridge-start start 99 S .
Adding system startup for /etc/init.d/bridge-start ... /etc/rcS.d/S99bridge-start -> ../init.d/bridge-start
- OS起動時に、networking -> bridge-start -> ufw の順でサービスが起動する
customize ufw
- 以下の追加を忘れると、サーバ<->クライアント間でpingしか通らないので注意
-A ufw-before-input -i tap0 -j ACCEPT -A ufw-before-input -i br0 -j ACCEPT -A ufw-before-forward -i br0 -j ACCEPT
misc
error on dhcp3-server
eth0とtap0をブリッジした場合、eth0がプロミスキャスモードでIPが振られなくなるため(ブリッジデバイスのbr0にIPが来る)、以下のようなエラーが出てdhcpdが起動しなくなる。
No subnet declaration for eth0 (0.0.0.0).
- /etc/default/dhcp3-server を以下のように修正して回避する
INTERFACES="br0"