[Centos]openvpn服务端的安装(easy-rsa3)
时间:2016-05-25
来源:红黑联盟
VPN在办公和fan墙领域有着广泛的应用, 我们小办公网最近可能会用到,先学学来着
vpn的server需要有公网ip,客户端可以在多种环境下使用
概念
PKI:Public Key Infrastructure 公钥基础设施 CA: Certificate Authority pki的核心
网卡
目的: openvpn服务搭建,并可以正常运行(这里没有对iptables设置)
看看 /etc/openvpn/easy-rsa/easyrsa3 生成的东西
再看看客户端 /home/client/easy-rsa/easyrsa3
把这些文件放到对应的一些目录下 服务端证书(放到配置文件一个目录,便于配置和查找)
client证书(只是集中到一个文件夹下,给vpn用户使用)
最难的部分已经过去了,下面就是配置服务,看看效果了
查看启动日志 Options error: Unrecognized option or missing parameter(s) in server.conf:35: kcomp-lzo (2.3.6)
配置中写错了。。 应该是 comp-lzo
重新启动
ok了。
增加了一个10网段
vpn的server需要有公网ip,客户端可以在多种环境下使用
概念
PKI:Public Key Infrastructure 公钥基础设施 CA: Certificate Authority pki的核心
实验环境
虚拟机环境下 centos6.6网卡
eth0 Link encap:Ethernet HWaddr 00:50:56:35:E7:EC inet addr:192.168.37.129 Bcast:192.168.37.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe35:e7ec/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:108531 errors:0 dropped:0 overruns:0 frame:0 TX packets:89610 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:82324349 (78.5 MiB) TX bytes:10389968 (9.9 MiB)
目的: openvpn服务搭建,并可以正常运行(这里没有对iptables设置)
安装依赖包
yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig yum install openvpn #openvpn 版本是2.3.6 easy-rsa3
生成证书
#配置文件的目录一般都在类似的目录 cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf /etc/openvpn/ #2.3版本需要独立下载个easy-rsa,该包用来制作ca证书,服务端证书,客户端证书 wget -c https://github.com/OpenVPN/easy-rsa/archive/master.zip unzip master.zip mv easy-rsa-master easy-rsa cp -rf easy-rsa /etc/openvpn easy-rsa根据github上的文档来操作 cd /etc/openvpn/easy-rsa/easyrsa3 cp vars.example vars #一般情况下,默认的配置可以满足需求,也可以根据需要修改 ./easyrsa init-pki #建立一个空的pki结构,生成一系列的文件和目录 ./easyrsa build-ca #创建ca 密码 和 cn那么需要记住 ./easyrsa gen-req server nopass #创建服务端证书 common name 最好不要跟前面的cn那么一样 ./easyrsa sign server server #签约服务端证书 ./easyrsa gen-dh #创建Diffie-Hellman #下面是客户端的证书 #首先创建一个工作的目录 cd /home/ mkdir client && cd client cp -R ~/easy-rsa/ ./ #这是解压过的easy-rsa 而不是生成了服务端证书的easy-rsa cd easy-rsa/easyrsa3/ cp vars.example vars #开始生成 ./easyrsa init-pki ./easyrsa gen-req orangleliu #用自己的名字,需要创建一个密码 和 cn name,自己用的 需要记住 #现在客户端的证书要跟服务端的交互,也就是签约,这样这个用户才能使用此vpn #切换到server证书目录下 cd /etc/openvpn/easy-rsa/easyrsa3/ ./easyrsa import-req /home/client/easy-rsa/easyrsa3/pki/reqs/orangleliu.req orangleliu #导入req ./easyrsa sign client orangleliu #用户签约,根据提示输入服务端的ca密码
看看 /etc/openvpn/easy-rsa/easyrsa3 生成的东西
[root@localhost easyrsa3]# tree pki pki ├── ca.crt ├── certs_by_serial │ ├── 01.pem │ └── 02.pem ├── dh.pem ├── index.txt ├── index.txt.attr ├── index.txt.attr.old ├── index.txt.old ├── issued │ ├── orangleliu.crt │ └── server.crt ├── private │ ├── ca.key │ └── server.key ├── reqs │ ├── orangleliu.req │ └── server.req ├── serial └── serial.old
再看看客户端 /home/client/easy-rsa/easyrsa3
pki ├── private │ └── orangleliu.key └── reqs └── orangleliu.req
把这些文件放到对应的一些目录下 服务端证书(放到配置文件一个目录,便于配置和查找)
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn/ cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/
client证书(只是集中到一个文件夹下,给vpn用户使用)
mkdir /home/myclient cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /home/myclient/ cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/orangleliu.crt /home/myclient/ cp /home/client/easy-rsa/easyrsa3/pki/private/orangleliu.key /home/myclient/
最难的部分已经过去了,下面就是配置服务,看看效果了
配置服务
vim /etc/openvpn/server.conf 具体每个配置的含义,配置文件中都有详细的解释local 192.168.37.129 port 1194 proto udp dev tun ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key # This file should be kept secret dh /etc/openvpn/dh.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 114.114.114.114" comp-lzo max-clients 100 keepalive 10 120 persist-key persist-tun status openvpn-status.log verb 3
启动服务
[root@localhost easyrsa3]# service openvpn start Starting openvpn: [FAILED]
查看启动日志 Options error: Unrecognized option or missing parameter(s) in server.conf:35: kcomp-lzo (2.3.6)
配置中写错了。。 应该是 comp-lzo
重新启动
[root@localhost easyrsa3]# service openvpn start Starting openvpn: [ OK ]
ok了。
ifconfig查看网卡信息 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
增加了一个10网段