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 [email protected]
systemctl start [email protected]

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

yum install epel-release -y
yum install openvpn -y
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文件

mkdir -p /etc/openvpn/easy-rsa/keys
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
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、设置转发规则并保存

yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

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

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

7、重启openvpn和enable

systemctl restart network.service
systemctl -f enable [email protected]
systemctl start [email protected]

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

猜你喜欢

转载自blog.csdn.net/u013896064/article/details/52261233