Centos安装 Openvpn

Centos安装 Openvpn

已经写过一个配置文档,但没发上来。然后后来重装系统,放桌面上就没了,然后按记忆从搞以便,发现不行。每天晚上下班回家就搞这个东西了,后来得出要么是服务商问题,要么是国家破墙问题,昨晚上换端口后可以正常访问。唯独1194端口不行,所以一般爬墙的人都懂了!
在自己服务器上搭建完全是想手机翻个Qiang,上个推特。但不太会用openvpn客户端里面的配置,弄好后在手机端一直报错,估计是因为tun的原因,服务器上不支持。很悲催,有时间后还是试试pptp吧,最少pptp可以直接在手机设置里配置,简单。

系统配置:
cat  /etc/issue
CentOS release 6.4 (Final)
需要支持tap、tun等(我的好像不支持tun,无法创建,很奇怪)
软件: openvpn lzo openssl

下载安装rpm源等
里面用到却无法在国.内下载的,可以到与当前文章对应的微盘目录下下载
微盘路径:"rpmforge-release-0.5.2-2.el6.rf.x86_64.zip"
http://vdisk.weibo.com/s/uCPG4

wget
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum makecache
yum  install  lzo openssl* openvpn
拷贝easy-rsa,有两种情况
第一种
cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/
第二种
cd  /usr/share/doc/openvpn-2.2.2/easy-rsa /etc/openvpn/ 
cd /etc/openvpn/easy-rsa/2.0 
chmod +x ./*
source ./vars

#如果出现下面这种情况

**************************************************************
  No /etc/openvpn/easy-rsa/2.0/openssl.cnf file could be found
  Further invocations will fail
#解决方法:
ln -s openssl-1.0.0.cnf openssl.cnf

同样可以修改vars文件内最后那几行的内容

	KEY_COUNTRY=CN
	KEY_PROVINCE=BJ
	KEY_CITY=BeiJing
	KEY_ORG="KingGoo"
	KEY_OU="KingGoo.com"
	KEY_EMAIL="supper#163.com"


#    生成key等文件,最后两个选y,其余的回车默认

./clean-all 

#    创建CA

./build-ca server 

#    创建CA之后来生成服务器证书,输入

./build-key-server server 

#    生成客户端证书,最后两个选y,其余的回车默认

./build-key kinggoo 
./build-key com 

#    最后生成Diffie Hellman参数:

./build-dh 

拷贝配置文件及证书

cp -rf /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/
tar -cvf kinggoo.vpn.tar /etc/openvpn/keys/*

将其下载到本地改名为config文件

编辑server.conf文件

cat /etc/openvpn/server.conf |grep -E -v ‘^[$|#|;]’

port 443  #它大爷的gwf,把1194封掉了估计,反正我是没办法用这个端口连上,可以自己调整
proto tcp 
dev tap #看你自己ifconfig 里面那个设备,有tun好像不行我这
ca /etc/openvpn/keys/ca.crt 
cert /etc/openvpn/keys/server.crt 
key /etc/openvpn/keys/server.key 
dh /etc/openvpn/keys/dh1024.pem 
server 10.8.0.0 255.255.255.0 # 可以做多个服务或端口
route 10.8.0.0 255.255.255.0
push "redirect-gateway def1" 
;push "dhcp-option DNS 208.67.222.222" #我发现push过去也没用,还是需要手动修改
;push "dhcp-option DNS 208.67.220.220" 
client-to-client
keepalive 10 120
duplicate-cn    #允许多个客户端使用同一个证书,懒人必备
comp-lzo 
persist-key 
persist-tun 
verb 3
log   /var/log/openvpn.log
log-append  /var/log/openvpn.log

将客户端配置文件,将如下内容保存为以".ovpn"(不包括")为扩展名的文件,保存到本地openvpn安装目录下的config下


client
dev tap
proto tcp
remote 你服务器外网ip 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert kinggoo.crt
key kinggoo.key
ns-cert-type server
comp-lzo
verb 3

设置防火墙:是不是还可以添加其它好的规则策略?

iptables -A INPUT -i venet0:1 -p tcp -m tcp --dport 443 -j ACCEPT #(venet0:1是你的外网网口)不这样做也可以
iptables  -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables   -A INPUT -i tap -j ACCEPT
iptables -A OUTPUT -o tap -j ACCEPT
iptables -A FORWARD -i tap -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source  你服务器外网ip

其中tap是你的设备好,如果你的是tun也可以

安装客户端的openvpn客户端, "openvpn-2.2.2-install.zip"
http://vdisk.weibo.com/s/uCNse

或者http://openvpn.net/index.php/open-source/downloads.html

最后在电脑上设置你tap设备的dns就可以了

更多参考可到:http://openvpn.net/index.php/open-source/documentation/howto.html

- THE END -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/app-openvpntap.htm
发表评论?

3 条评论。

  1. openvpn,不能访问外网?
    在服务器端的配置内看看是不是添加了这行
    route 10.8.0.0 255.255.255.0
    ip地址要根据自己配置的ip段来设置

  2. 这个写完好久了,一直没发

发表评论