openvpn安装及证书制作

By Heanny
2020-02-26
252 read

1. 安装vpn服务端(openvpn)

1) 安装epel 仓库源
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm


2) 安装openvpn
yum install -y openvpn

3) 安装easy-rsa(该包用来制作ca证书)
https://github.com/OpenVPN/easy-rsa 下载包
git clone https://github.com/OpenVPN/easy-rsa.git
ps:如果没有git就安装yum -y install git

将easy-rsa文件拷贝到/etc/openvpn/下面
cp -a /usr/local/hebei/easy-rsa/ /etc/openvpn/
将vars.example 文拷贝
cp vars.example vars
编辑文件vars
修改内容如下


4) 创建服务端证书及key
 初始化
cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa init-pki
初始化目录为
/etc/openvpn/easy-rsa/easyrsa3/pki

 创建根证书
./easyrsa build-ca
文件存放在
/etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt

 创建服务器端证书
./easyrsa gen-req server nopass
文件存放在
req: /etc/openvpn/easy-rsa/easyrsa3/pki/reqs/server.req
key: /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key

 签约服务端证书
./easyrsa sign server server
文件存放在
/etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt

 创建Diffie-Hellman,确保key穿越不安全网络的命令
./easyrsa gen-dh

5) 创建客户端证书
 拷贝文件
cp -a /usr/local/hebei/easy-rsa/ /usr/local/hebei/client/
 初始化
./easyrsa init-pki
 创建客户端key及生成证书
./easyrsa gen-req coccnet
文件
req: /usr/local/hebei/client/easy-rsa/easyrsa3/pki/reqs/coccnet.req
key: /usr/local/hebei/client/easy-rsa/easyrsa3/pki/private/coccnet.key

 将得到的coccnet.req导入然后签约证书
a. 进入到/etc/openvpn/easy-rsa/easyrsa3/
cd /etc/openvpn/easy-rsa/easyrsa3/
b. 导入req
./easyrsa import-req /usr/local/hebei/client/easy-rsa/easyrsa3/pki/reqs/coccnet.req coccnet

签约证书
./easyrsa sign client coccnet

置服务端证书
 拷贝服务器端文件到openvpn
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
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /usr/local/hebei/client/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/coccnet.crt /usr/local/hebei/client/
cp /usr/local/hebei/client/easy-rsa/easyrsa3/pki/private/coccnet.key /usr/local/hebei/client/

http://file.upyun.heanny.cn/openvpn_%E8%AF%81%E4%B9%A6.zip
7) 配置服务端文件
 拷贝配置文件

cp /usr/share/doc/openvpn-2.4.8/sample/sample-config-files/server.conf /etc/openvpn/
 修改配置文件
vim /etc/openvpn/server.conf
配置文件参考:

    local 0.0.0.0 #监听地址
    port 1194 #监听端口
    proto udp #监听协议
    dev tun #采用路由隧道模式
    ca /etc/openvpn/ca.crt #ca证书路径
    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 #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp" #给网关
    push "dhcp-option DNS 8.8.8.8" #dhcp分配dns
    client-to-client #客户端之间互相通信
    keepalive 10 120 #存活时间,10秒ping一次,120 如未收到响应则视为断线
    comp-lzo #传输数据压缩
    max-clients 100 #最多允许 100 客户端连接
    user openvpn #用户
    group openvpn #用户组
    persist-key
    persist-tun
    status /var/log/openvpn/openvpn-status.log
    log /var/log/openvpn/openvpn.log
    verb 3

 配置log目录
mkdir /var/log/openvpn
chown -R openvpn.openvpn /var/log/openvpn/
chown -R openvpn.openvpn /etc/openvpn/*
 生成ta.key
openvpn --genkey --secret /etc/openvpn/ta.key

8) 设置iptables配置nat规则和打开路由转发
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
iptables -vnL -t nat
vim /etc/sysctl.conf//打开路由转发

net.ipv4.ip_forward = 1

sysctl -p

9) 启动openvpn服务端
openvpn --config /etc/openvpn/server.conf &

ss -nutl |grep 1194

10) 服务器iptables开启nat转发
若服务器防火墙为firewall,则需要关闭firewall,安装并开启iptables
service firewalld stop
systemctl disable firewalld
yum -y install iptables-services
systemctl enable iptables
修改配置文件
vim /etc/sysconfig/iptables
注释掉:

#-A INPUT -j REJECT --reject-with icmp-host-prohibited
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited

添加:

-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
及
-A INPUT -i tun0 -j ACCEPT
或
-A FORWARD -d 10.8.0.0/24 -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT


重启iptables

linux使用随记
【树莓派】安装声卡wm8960

Comments

暂无评论,还不快来坐沙发...

Leave a Reply