前言: 一直在用PPTP VPN用的挺好的,但发现openvpn用的人很多,于是我也来安装一下看看, 192.168.0.6为外网IP
第一步 安装准备
1. 关闭 selinux 和 iptables
2. 安装 openssl
安装lzo
[root@dota ~]# tar xvf lzo-2.04.tar.gz
[root@dota ~]# cd lzo-2.04
[root@dota lzo-2.04]# ./configure
[root@dota lzo-2.04]# make && make install
3. 下载安装 openvpn
[root@dota ~]# wget http://swupdate.openvpn.org/community/releases/openvpn-2.2.1.tar.gz
[root@dota ~]# tar xvf openvpn-2.2.1.tar.gz
[root@dota ~]# cd openvpn-2.2.1
[root@dota openvpn-2.2.1]# ./configure
[root@dota openvpn-2.2.1]# make && make install
4. 检查 tun 是否安装
[root@dota openvpn-2.2.1]# modinfo tun
5. 启用IP转发
[root@dota openvpn-2.2.1]# echo 1 > /proc/sys/net/ipv4/ip_forward
这个要加到开机启动里
6. 复制配置文件
[root@dota openvpn-2.2.1]# mkdir -p /etc/openvpn
[root@dota openvpn-2.2.1]# cp -r * /etc/openvpn/
[root@dota ~]# cp -r sample-config-files/server.conf /etc/openvpn/
7. 创建主CA证书及密钥
[root@dota openvpn-2.2.1]# cd /etc/openvpn/easy-rsa/2.0/
[root@dota 2.0]# vi vars
把下面的内容改下
export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”JS”
export KEY_CITY=”Suzhou”
export KEY_ORG=”google.com”
export KEY_EMAIL=”test@google.com”
[root@dota 2.0]# . ./vars (注意. .中间有个空格,成功会出现下面的提示)
NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/openvpn-2.2.1/easy-rsa/2.0/keys
[root@dota 2.0]# ./clean-all
[root@dota 2.0]# ./build-ca
一路回车即可。
8. 为服务器创建证书和密钥
[root@dota 2.0]# ./build-key-server server
一路回车,最后2个 y 确认即可。
[root@dota 2.0]# ./build-dh
安装 server 所需的 CA 证书
[root@dota 2.0]# cp keys/ca.crt ../
[root@dota 2.0]# cp keys/dh1024.pem ../
[root@dota 2.0]# cp keys/server.key ../
[root@dota 2.0]# cp keys/server.crt ../
然后编辑配置文件
[root@dota 2.0]# cd ../..
[root@dota openvpn]# vi server.conf
修改成如下配置
dev tap
;dev tun
push “dhcp-option DNS 8.8.8.8″
push “dhcp-option DNS 8.8.4.4″
ca /etc/openvpn/easy-rsa/ca.crt
cert /etc/openvpn/easy-rsa/server.crt
key /etc/openvpn/easy-rsa/server.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/dh1024.pem
再添加1行
push “redirect-gateway def1″ #重定向客户端网关为VPN服务器的网关
9. 启动 openvpn server
[root@dota openvpn]# cp -r /etc/openvpn/sample-scripts/openvpn.init /etc/init.d/openvpn
[root@dota openvpn]# chmod 755 /etc/init.d/openvpn
[root@dota openvpn]# service openvpn restart
正在关闭openvpn:[确定]
正在启动 openvpn:[确定]
[root@dota openvpn]# chkconfig openvpn on
10. 创建客户端证书
[root@dota 2.0]# cd /root/openvpn-2.2.1/easy-rsa/2.0/build-key
[root@dota 2.0]# ./build-key client
一路回车,最后2个 y 确认即可。
[root@dota 2.0]# ./build-dh
11. 在 iptables 中开启 udp 的 1194 端口
[root@dota openvpn-2.2.1]# iptables -A INPUT -p udp -m udp –dport 1194 -m state –state NEW -j ACCEPT
12. 转发所有来自 10.8.0.0网段的流量
[root@dota openvpn-2.2.1]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
转发地址:
[root@dota keys]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT –to-source 192.168.0.6
第二步 客户端配置
把 /root/openvpn-2.2.1/easy-rsa/2.0/keys 目录下的 ca.crt、client.crt、client.key 和
/root/openvpn-2.2.1/sample-config-files 目录下的 client.conf 放到客户端安装的 config 目录下
然后 XP 上安装
openvpn-2.0.9-gui-1.0.3-install.exe
安装好后把sample-config目录下的client.ovpn拷贝到config目录下,然后编辑
client
dev tap
;dev tun
remote 192.168.0.6 1194
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
redirect-gateway def1
然后,桌面右下角,右键红色的图标,连接
附:如果不能上国外网站,请把
XP 客户端“本地连接”里,把第一DNS改成“8.8.8.8”
错误:
1. 如果提示 619 错误,则查看“本地连接”防火墙那栏,会提示有个 windows 服务没开,打开就可以了。
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)