当前位置:   article > 正文

linux安装VPN server之openvpn

linux安装VPN server之openvpn

接上篇的PPTP vpn,本篇博客也是介绍的VPN。只是这次是openvpn,这次介绍的openvpn的安装环境包括两个,一个centos7,另一个还是raspberry(差不多就是和Ubuntu是同一个系列的)。

好的,我们开始吧,首先是raspberry的server安装介绍:

一、环境为raspberry

1、将树莓派官网的img写入到SD卡并启动树莓派,安装openvpn:

#apt-get install openvpn

2、下载安装easy-rsa,执行命令如下

#cd /etc/openvpn

#wget --no-check-certificate https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz 

#tar -xzvf EasyRSA-2.2.2.tgz 

#mv EasyRSA-2.2.2 easy-rsa

3、配置easy-rsa

#cd /etc/openvpn/easy-rsa

#vim vars

a. 编辑密钥存储路径

export EASY_RSA="/etc/openvpn/easy-rsa"

b. 保存退出后,加载配置

#source ./vars

4、生成密钥

a. 生成ca密钥

./clean-all      # 先清空所有密钥

./build-ca    

所有输入取默认值就可以了,直接回车;keys文件夹下多了ca.crt ca.key

b. 生成服务器密钥

./build-key-server server

接下来的输入全部默认enter键。

询问是否认证的地方,同意就行了。经过这一步,keys文件夹中又多出来3个文件

server.csr(证书签发请求文件) server.crt(公钥) server.key(私钥)

c. 生成dh

./build-dh

这一步要等久一点,现在又多了一个文件 dh2048.pem

d. 生成客户端密钥

./build-key-pass client   (或者用./build-key client,和前者的区别就是后者连接时不需要密码)

Enter PEM pass phrase: 输入客户端密钥的密码,这里输入test123,会让你输两次。其它默认就好经过这步后,又多了3个文件 client.csr client.crt client.key,如果想添加多个用户,继续执行./build-key client1命令即可,然后替换客户端的这三个文件(如果不行,先执行source ./vars),修改client.ovpn的名字为client1.ovpn,修改里面的最后两行

cert client.crt

key client.key

cert client1.crt

key client1.key

5、Openvpn服务端配置

# 复制一个模板过来先 (如果没有此文件,自己创建一个就好)

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server.conf

# 打开编辑之

vim /etc/openvpn/server.conf

port 1194   #Openvpn服务使用的端口

proto udp   #使用udp协议传输

dev tun     #使用隧道

ca /etc/openvpn/easy-rsa/keys/ca.crt        #ca公钥路径

cert /etc/openvpn/easy-rsa/keys/server.crt  #服务器公钥路径

key /etc/openvpn/easy-rsa/keys/server.key   #服务器私钥路径

dh /etc/openvpn/easy-rsa/keys/dh2048.pem    #dh

server 10.8.0.0 255.255.255.0   #客户端连接后,所在的子网段

ifconfig-pool-persist ipp.txt   #客户端使用固定的子网地址,这里可以不配置

push "redirect-gateway def1 bypass-dhcp"    #网关重定向,客户端的流量都会经由OpenvpnServer

push "dhcp-option DNS 8.8.8.8"    #网关重定向,客户端的流量都会经由OpenvpnServer

push "dhcp-option DNS 8.8.4.4"          #配置DNS,这里配置路由器的内网地址即可

duplicate-cn    #允许客户端的CommonName重复,因为我们填的都是默认值

keepalive 10 120

comp-lzo    #启动数据压缩

user nobody     #Openvpn进程运行时所属的用户,这里为了安全

group nogroup   #Openvpn进程运行时所属的组,这里为了安全

persist-key     #一直保存key,避免权限问题导致不能再次读取

persist-tun     #一直保持隧道,原因同上

status openvpn-status.log   #Openvpn运行状态Log,就在Openvpn目录下,会自动生成

log openvpn.log             #Openvpn运行Log,也在Openvpn目录下,会自动生成

verb 3                      #log的等级

6、客户端配置

#cd /etc/openvpn

#vim client.ovpn

输入以下内容,保存退出

client

dev tun

proto udp

remote 192.168.1.198 1194

comp-lzo

verb 3

ca ca.crt

cert client.crt

key client.key

7、命令行执行以下两条命令,.防火墙添加规则

启动iptables  

命令:modprobe ip_tables 

#允许接收目的端口为1194的包;1194就是server.conf中配置的端口 

#iptables -A INPUT -p udp --dport 1194 -j ACCEPT

#iptables -t nat -A POSTROUTING -s 10.8.0.0/24  -j MASQUERADE

8、开启系统针对ipv4的转发

vim /etc/sysctl.conf 

#编辑一行为 

net.ipv4.ip_forward=1 

#配置生效 

sysctl -p

9、执行命令

systemctl restart openvpn

systemctl -f enable openvpn@server.service

systemctl start openvpn@server.service

10、现在可以用window客户端连接了,客户端安装包见附件

安装后,将client.ovpn,ca.crt,ca.key,client.crt,client.key这5个文件拷贝至Openvpn的config目录下,然后登录,输入生成客户端密钥时设置的密码,本例子的密码是test123

openvpn的连接必须下载并安装客户端,再将在server上面生成的5个文件拷贝到window上面安装目录的config文件夹中

二、环境问哦centos7的openvpn server搭建

1、安装openvpn和easy-rsa

  1. yum install epel-release -y
  2. yum install openvpn -y
  3. yum install easy-rsa -y
 

2、配置openvpn的server.conf文件

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

vi /etc/openvpn/server.conf
将内容设置为如下内容
  • dh dh2048.pem
  • push "redirect-gateway def1 bypass-dhcp"
  • push "dhcp-option DNS 8.8.8.8"
  • push "dhcp-option DNS 8.8.4.4"
  • user nobody
  • group nobody

3、拷贝server的keys文件

  1. mkdir -p /etc/openvpn/easy-rsa/keys
  2. cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
  1. cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
  2. cd /etc/openvpn/easy-rsa
 

4、生成密钥,和raspberry的差不多,方法一样

source ./vars ./clean-all ./build-ca ./build-key-server server ./build-dh cd /etc/openvpn/easy-rsa/keys cp dh2048.pem ca.crt server.crt server.key /etc/openvpn cd /etc/openvpn/easy-rsa ./build-key client

5、设置转发规则并保存

  1. yum install iptables-services -y
  2. systemctl mask firewalld
  3. systemctl enable iptables
  4. systemctl stop firewalld
  5. systemctl start iptables
  6. iptables --flush
  7. iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
  8. iptables-save > /etc/sysconfig/iptables

6、开启系统针对ipv4的转发

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

7、重启openvpn和enable

  1. systemctl restart network.service
  2. systemctl -f enable openvpn@server.service
  3. systemctl start openvpn@server.service

最后在window上面的连接方式和前面的方法一样,需要安装客户端并更改配置文件!!!

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号