Mini CentOS6.3 32位配置openvpn2.2.2笔记
时间:2015-12-06 18:04 来源:linux.it.net.cn 作者:IT
Mini CentOS6 3 32位配置openvpn2 2 2笔记 发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试! GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6 3 mini安装版 大致步骤也挺简单的
Mini CentOS6.3 32位配置openvpn2.2.2笔记
发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试!
GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6.3 mini安装版.
1.kernel 需要支持 tun 设备, 需要加载 iptables 模块.
检查 tun 是否安装:
modinfo tun
filename: /lib/modules/2.6.32-279.el6.i686/kernel/drivers/net/tun.ko
alias: char-major-10-200
license: GPL
author: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
description: Universal TUN/TAP device driver
srcversion: 5A72C0DB4EBDF9E4B1D5016
depends:
vermagic: 2.6.32-279.el6.i686 SMP mod_unload modversions 686
估计是支持了...( 这个第一步抄的网上的。结果输出的是俺VPS上的. )
2.安装一些依赖包
yum install iptables openssl lzo pam openssl-devel lzo-devel pam-devel
如果你是rpm安装,后面的三个开发包可以不用安装,这儿我们编译安装。。。。
3.下载openvpn的源码!!
从http://openvpn.net/index.php/open-source/downloads.html下载。
国内打不开,你懂的,我下载了一个tar.gz包在VPS上,2.2.2的,自己有办法从官网下就下载,没有可以暂时用我这个连接,不要外传哟!!
wget http://d.lvtao.net/linux/lib/openvpn-2.2.2.tar.gz
当前的目录是/root/懒得动....(^_^)
4.安装openvpn
tar zxvf openvpn-2.2.2.tar.gz
cd openvpn-2.2.2
./configure
make && make install
说明一下,有些人这步还提示错误,如果你要是安装的centos6.3 mini版,请记得安装gcc 和 make
yum install gcc make
至于原因,不解释
4.制作证书
先把easy-rsa拷贝到/etc/openvpn下
mkdir –p /etc/openvpn
cp -R easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa/2.0
用自己熟悉的编辑工具打开vars文件,根据实际情况修改以下几个变量:
export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”CA”
export KEY_CITY=”BJ”
export KEY_ORG=”MY_ORG”
export KEY_EMAIL="admin@lvtao.net"
什么意思,不清楚,自己猜去吧。。哈哈
配置openssl,根据系统所安装的openssl版本,把对应的openssl-version.cnf文件拷贝一份,目标文件名为openssl.cnf,或建个文件链接
查看版本
rpm -q openssl
openssl-1.0.0-25.el6_3.1.i686
cp openssl-1.0.0.cnf openssl.cnf
然后执行以下命令 . ./vars 前有两个点,且中间有一个空格
. ./vars
./clean-all
./build-ca
一路按回车就可以
ls keys 看是否生成了一些文件
ca.crt ca.key index.txt serial
生成server key
./build-key-server ttvps 这里的ttvps是指定的名字标签,如果没指定,执行过程中会提示输入
一路回车到
Sign the certificate? [y/n]:y [这儿请y]
1 out of 1 certificate requests certified, commit? [y/n]y [这儿也请y]
生成client端key
./build-key client1 其中client1是客户端的名字,如果有多个客户端,就需要生成多个key
一路回车到
Sign the certificate? [y/n]:y [这儿请y]
1 out of 1 certificate requests certified, commit? [y/n]y [这儿也请y]
生成Diffie Hellman参数 这一步在服务端需要,可能耗时比较长:
#./build-dh
到目前,我们已经建立了完整的密钥和证书文件,在keys目录下
将服务端证书拷到/etc/openvpn/目录下 www.ahlinux.com
cd keys
cp ca.crt ca.key ttvps.crt ttvps.key dh1024.pem /etc/openvpn/
将客户端文件打包或直接下载本地
ca.crt ca.key client1.crt client1.csr client1.key
以便客户端vpn
5.配置服务端
拷贝配置文件
cp /root/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/openvpn.conf
port 1194
proto tcp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/ttvps.crt
key /etc/openvpn/ttvps.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 172.16.0.0 255.255.255.0"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 4
script-security 3
编辑
/etc/sysctl.conf
找到net.ipv4.ip_forward = 0 改成net.ipv4.ip_forward = 1保存
然后执行
sysctl –p
添加路由规则:172.16.0.65为你的服务器IP
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 172.16.0.65
或者
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
这样也可以
www.ahlinux.com
#iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
开放openvpn端口:
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT
保存iptables规则并重启服务
/etc/init.d/iptables save
/etc/init.d/iptables restart
启动openvpn
/usr/local/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf
使用netstat -ln 查看1194openvpn的端口是否已经起来
6.客户端
将下载的5个文件拷贝到OpenVPN\config目录下.
然后新建一个文件 client1.ovpn 内容如下.其中*.*.*.* 为你的服务器IP
client
dev tun
proto tcp
remote *.*.*.* 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 4
route-method exe
route-delay 2
然后连接即可!
我在第一次安装使用的时候,遇到过几个问题,第一个是不能正常连接到openvpn服务端,经核查是因为服务端的iptables 设置问题
然后就是连接上了,不能访问facebook youtue 等一些GFW屏蔽的网站,这个原因比较多,我所遇到的是 server端没有设置
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway def1 bypass-dhcp"
(责任编辑:IT)
Mini CentOS6 3 32位配置openvpn2 2 2笔记 发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试! GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6 3 mini安装版 大致步骤也挺简单的 发现以前PPTP的VPN不能用了,于是呼自己想OPENVPN来试试! GOOGLE了一翻之后开始动手,测试环境ttvps的 512内存VPS,32位centos6.3 mini安装版.
1.kernel 需要支持 tun 设备, 需要加载 iptables 模块. 检查 tun 是否安装: modinfo tun filename: /lib/modules/2.6.32-279.el6.i686/kernel/drivers/net/tun.ko alias: char-major-10-200 license: GPL author: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> description: Universal TUN/TAP device driver srcversion: 5A72C0DB4EBDF9E4B1D5016 depends: vermagic: 2.6.32-279.el6.i686 SMP mod_unload modversions 686 估计是支持了...( 这个第一步抄的网上的。结果输出的是俺VPS上的. ) 2.安装一些依赖包 yum install iptables openssl lzo pam openssl-devel lzo-devel pam-devel 如果你是rpm安装,后面的三个开发包可以不用安装,这儿我们编译安装。。。。 3.下载openvpn的源码!! 从http://openvpn.net/index.php/open-source/downloads.html下载。 国内打不开,你懂的,我下载了一个tar.gz包在VPS上,2.2.2的,自己有办法从官网下就下载,没有可以暂时用我这个连接,不要外传哟!! wget http://d.lvtao.net/linux/lib/openvpn-2.2.2.tar.gz 当前的目录是/root/懒得动....(^_^) 4.安装openvpn tar zxvf openvpn-2.2.2.tar.gz cd openvpn-2.2.2 ./configure make && make install 说明一下,有些人这步还提示错误,如果你要是安装的centos6.3 mini版,请记得安装gcc 和 make yum install gcc make 至于原因,不解释 4.制作证书 先把easy-rsa拷贝到/etc/openvpn下 mkdir –p /etc/openvpn cp -R easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa/2.0 用自己熟悉的编辑工具打开vars文件,根据实际情况修改以下几个变量: export KEY_COUNTRY=”CN” export KEY_PROVINCE=”CA” export KEY_CITY=”BJ” export KEY_ORG=”MY_ORG” export KEY_EMAIL="admin@lvtao.net" 什么意思,不清楚,自己猜去吧。。哈哈 配置openssl,根据系统所安装的openssl版本,把对应的openssl-version.cnf文件拷贝一份,目标文件名为openssl.cnf,或建个文件链接 查看版本 rpm -q openssl openssl-1.0.0-25.el6_3.1.i686 cp openssl-1.0.0.cnf openssl.cnf 然后执行以下命令 . ./vars 前有两个点,且中间有一个空格 . ./vars ./clean-all ./build-ca 一路按回车就可以 ls keys 看是否生成了一些文件 ca.crt ca.key index.txt serial 生成server key ./build-key-server ttvps 这里的ttvps是指定的名字标签,如果没指定,执行过程中会提示输入 一路回车到 Sign the certificate? [y/n]:y [这儿请y] 1 out of 1 certificate requests certified, commit? [y/n]y [这儿也请y] 生成client端key ./build-key client1 其中client1是客户端的名字,如果有多个客户端,就需要生成多个key 一路回车到 Sign the certificate? [y/n]:y [这儿请y] 1 out of 1 certificate requests certified, commit? [y/n]y [这儿也请y] 生成Diffie Hellman参数 这一步在服务端需要,可能耗时比较长: #./build-dh 到目前,我们已经建立了完整的密钥和证书文件,在keys目录下 将服务端证书拷到/etc/openvpn/目录下 www.ahlinux.com cd keys cp ca.crt ca.key ttvps.crt ttvps.key dh1024.pem /etc/openvpn/ 将客户端文件打包或直接下载本地 ca.crt ca.key client1.crt client1.csr client1.key 以便客户端vpn 5.配置服务端 拷贝配置文件 cp /root/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/openvpn.conf port 1194 proto tcp dev tun ca /etc/openvpn/ca.crt cert /etc/openvpn/ttvps.crt key /etc/openvpn/ttvps.key dh /etc/openvpn/dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" push "route 172.16.0.0 255.255.255.0" client-to-client keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 4 script-security 3 编辑 /etc/sysctl.conf 找到net.ipv4.ip_forward = 0 改成net.ipv4.ip_forward = 1保存 然后执行 sysctl –p 添加路由规则:172.16.0.65为你的服务器IP iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 172.16.0.65 或者 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE 这样也可以 www.ahlinux.com #iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE 开放openvpn端口: iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT 保存iptables规则并重启服务 /etc/init.d/iptables save /etc/init.d/iptables restart 启动openvpn /usr/local/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf 使用netstat -ln 查看1194openvpn的端口是否已经起来 6.客户端 将下载的5个文件拷贝到OpenVPN\config目录下. 然后新建一个文件 client1.ovpn 内容如下.其中*.*.*.* 为你的服务器IP client dev tun proto tcp remote *.*.*.* 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key ns-cert-type server comp-lzo verb 4 route-method exe route-delay 2 然后连接即可! 我在第一次安装使用的时候,遇到过几个问题,第一个是不能正常连接到openvpn服务端,经核查是因为服务端的iptables 设置问题 然后就是连接上了,不能访问facebook youtue 等一些GFW屏蔽的网站,这个原因比较多,我所遇到的是 server端没有设置 push "dhcp-option DNS 8.8.8.8" push "redirect-gateway def1 bypass-dhcp"
|