我们经常都会用到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通到其它的内网主机。后来发现要用管理员权限打开程序才能获取到推送的路由;