封尘网

让学习成为一种习惯!

Centos6.5配置openvpn笔记

我们经常都会用到vpn,比如梯子、连接内网等,面对节假日对于运维人员来说更加必不可少的;本次仅简单记录一下openvpn的配置过程,方便简单;

1、安装EPEL源:

rpm -ivh http://mirrors.yun-idc.com/epel/epel-release-latest-6.noarch.rpm

2、安装openvpn和easy-rsa

yum install openvpn easy-rsa -y

说明:easy-rsa是用来制作ca证书,服务端证书,客户端证书;

3、制作相关证书:

cd /usr/share/easy-rsa/2.0/

在开始制作CA证书之前,我们还需要编辑vars文件,修改如下相关选项内容即可:

# Don't leave any of these fields blank.
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="DongGuang"
export KEY_ORG="MyOrganization"
export KEY_EMAIL="abcd@qq.com"
export KEY_OU="MyOrganizationalUnit"

加载一下配置:

[root@vpnserver 2.0]# source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/share/easy-rsa/2.0/keys

执行clean-all命令会删除,当前目录下keys文件夹里证书等文件:

[root@vpnserver 2.0]# ./clean-all

开始制作CA证书,一直回车即可;

./build-ca

制作Server端证书,一直回车最后按两次Y即可;

./build-key-server vpnserver

生成服务器加密交换时的Diffie-Hellman文件:

./build-dh   #需要等待一会

把keys目录下的ca.crt、vpnserver.crt、vpnserver.key、dh2048.pem复制到/etc/openvpn/目录下:

cp ca.crt dh2048.pem vpnserver.crt vpnserver.key /etc/openvpn/

制作Client端证书:

./build-key --batch client1
./build-key --batch client2

配置Server端配置server.conf:

port 1194
proto tcp
dev tun
ca ca.crt
cert vpnserver.crt
key vpnserver.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 114.114.114.114"
push "dhcp-option DNS 202.96.128.86"
push "dhcp-option DNS 202.96.128.134"
push "route 192.168.18.0 255.255.255.0"     #这里是服务器的内网IP所处的网段
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3

修改完成后启动openvpn:

chkconfig openvpn on
service openvpn start

添加路由转发功能,不然vpn连接上来后是无法上网的;当然前提是openvpn服务器能上网;

sed -i '/net.ipv4.ip_forward/cnet.ipv4.ip_forward = 1' /etc/sysctl.conf
sysctl -p

配置防火墙,别忘记保存

iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save

配置Client端:回到win10系统下操作;
1、下载安装一个openvpn-install-2.3.3-I002-x86_64.exe

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.3-I002-x86_64.exe

2、把刚才创建和client的证书文件下载到本机:

ca.crt client1.crt client1.key
保存到openvpn的安装目录下的config目录下:
C:\Program Files\OpenVPN\config

3、同样在config目录下添加一个配置文件:client.ovpn

client
dev tun
proto tcp
remote 外网的IP地址 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 3

其实每个客户端就要这几个文件:
client.ovpn、客户端.crt 、客户端.key、和ca.crt;根据不同的客户端名修改client.ovpn里对应的名字即可;

如果服务器没有外网IP就要在路由器或者防火墙上添加一个端口映射;1194指定到这台openvpn服务器的内网IP;

完成上面的配置后就可以点击OpenVPN GUI启动vpn连接了,默认的Ip段为10.8.0.0;

特别说明:
之前试过在win10普通用户直接打开OpenVPN GUI ,发现是可以接下到vpn服务器,但是无法Ping通到其它的内网主机。后来发现要用管理员权限打开程序才能获取到推送的路由;

提醒:本文最后更新于 2339 天前,文中所描述的信息可能已发生改变,请谨慎使用。