6
29
2012
3

openVPN

服务器端

准备工作

检查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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Category: linux | Tags: | Read Count: 3119
Avatar_small
依云 说:
2012年6月29日 22:38

玉儿也弄 openvpn 了呀。

Jade 说:
2012年7月03日 09:47

@依云: 火大,搞不定

seo service UK 说:
2024年1月16日 17:21

You are really a very high talented singer!!! I really love your music!!


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com