Centos7安装配置openvpn

最近需要用到openvpn,所以在服务器上装了一个,把过程记录一下,也给有需要的朋友参考下(注:如果你想使用openvpn 翻墙的话目前已经不适合了,很容易被墙)。

首先安装Extra Packages for Enterprise Linux的资源库,默认在centos里是不包含这个库的。

1
yum install epel-release

 

紧接着安装openvpn。

1
yum install openvpn

安装完成后可以对openvpn进行配置,openvpn已经提供了配置的模板文件,我们只需要把模板文件拷贝到/etc/openvpn目录下,并且按自己的需求修改即可。

1
2
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
vi /etc/openvpn/server.conf

以下是我的服务端配置,使用这个配置客户端可以通过openvpn访问外网。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#监听端口
port 12345

#通讯协议
proto udp

#tunnel模式
dev tun

#证书及密钥文件(如何生成证书本文未介绍,有需要的朋友可以自行搜索)
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem

#工作模式
mode server

#VPN所创建网段IP及子网掩码
server 10.8.0.0 255.255.255.0

#记录客户端IP
ifconfig-pool-persist ipp.txt

#转发客户端流量到VPN(上外网的关键)
push "redirect-gateway def1 bypass-dhcp"

#心跳检测,10秒发一次包,120秒未收到响应则判定掉线
keepalive 10 120

#加密方式
cipher AES-256-CBC

客户端配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
client

dev tun

proto udp

remote www.aabbcc.com 12345

resolv-retry infinite

nobind

persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

cipher AES-256-CBC

verb 3

redirect-gateway def1

最后在服务端使用以下命令创建NAT就可以正常使用了,注意把etho更换成服务器网卡

1
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE