服务器端
准备工作
检查Tun/Tap是否开通:
cat /dev/net/tun
如果返回内容为: cat: /dev/net/tun: File descriptor in bad stat,表明已经成功启用TUN支持。不然到BurstNET的控制台上打开TUN支持。
检查iptables_nat模块是否支持:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回内容为:iptables: Unknown error 4294967295,表明系统还不支持,需要联系客服开通。
生成证书
复制一个例子出来:
mkdir ~/easy-rsa cp /usr/share/openvpn/easy-rsa/2.0 ~/easy-rsa cd ~/easy-rsa
编辑环境变量vars文件:
# vim vars export KEY_COUNTRY="CN" export KEY_PROVINCE="SC" export KEY_CITY="ChengDu" export KEY_ORG="FreedomUnion" export KEY_EMAIL="admin@xiaozhou.net"
导出环境变量:
source vars ./clean-all ./build-ca
生成服务器端证书和密钥,如起名为“morgan-vps”:
./build-key-server morgan-vps
生成客户端证书和密钥(如果给多个人用就生成多个),如起名为“jade”:
./build-key jade
生成证书:
./build-dh
把keys下面的证书文件复制到openvpn目录下:
mkdir /etc/openvpn/keys cp ~/easy-rsa/keys/* /etc/openvpn/keys/
编辑配置文件:
# vim /etc/openvpn/server.conf port 9090 proto tcp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/morgan-vps.crt key /etc/openvpn/keys/morgan-vps.key dh /etc/openvpn/keys/dh1024.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" client-to-client keepalive 10 60 comp-lzo max-clients 10 persist-key persist-tun status openvpn-status.log log-append openvpn.log verb 3 mute 20
修改:
# sudo vim /etc/sysctl.conf net.ipv4.ip_forward = 1
添加iptables规则:
iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
如果报错: iptables: No chain/target/match by that name 。则改为:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 本机的IP
启动服务:
/usr/sbin/openvpn --config /etc/openvpn/server.conf
用启用脚本启动VPN与网络:
/etc/init.d/openvpn restart /etc/init.d/networking restart
客户端
复制密钥到配置目录下:
# ls /etc/openvpn/jade-vpn/keys ca.crt jade.crt jade.key
配置文件:
# cat /etc/openvpn/jade-vpn/client.ovpn client dev tun proto tcp remote 服务器IP 服务器端口 resolv-retry infinite nobind persist-key persist-tun ca /etc/openvpn/jade-vpn/keys/ca.crt cert /etc/openvpn/jade-vpn/keys/jade.crt key /etc/openvpn/jade-vpn/keys/jade.key ns-cert-type server comp-lzo verb 3
可以建立一个启动脚本:
# vim jade-vpn.sh #!/bin/bash sudo openvpn --config /etc/openvpn/jade-vpn/client.ovpn
2012年6月29日 22:38
玉儿也弄 openvpn 了呀。
2012年7月03日 09:47
@依云: 火大,搞不定
2024年1月16日 17:21
You are really a very high talented singer!!! I really love your music!!