使用Lighthouse搭建OpenVPN轻松访问内网服务

OpenVPN是一种功能强大的开源虚拟私有网络(VPN)解决方案,可以在多种应用场景下使用。以下是几个常见的OpenVPN应用场景:

  1. 远程访问和远程办公:OpenVPN可以用于建立安全的远程连接,使远程用户能够安全地访问内部资源、文件共享和应用程序,从而实现远程办公和远程访问。

  2. 跨地域网络连接:OpenVPN可用于连接位于不同地理位置的局域网(LAN),通过隧道方式将不同的网络链接起来,构建一个安全的虚拟私有网络。这对于跨越多个办公室、分支机构或数据中心的组织非常有用。

本文将教大家如何使用腾讯云轻量应用服务器搭建OpenVPN服务端以及客户端的配置

一、安装OpenVPN服务端

使用Linux作为服务端,服务器的最低配置为1C1G,推荐配置为2C4G,使用腾讯云轻量应用服务器,2C4G5M仅218/年
在这里插入图片描述

作者选择的是CentOS7.6镜像,在搭建之前 请前往轻量应用服务器的控制台配置防火墙,将1194端口的TCP协议放通

1.安装软件源

sudo yum install epel-release

2.安装openvpn,easy-rsa

sudo yum install -y openvpn easy-rsa

3.创建目录 生成密钥

sudo mkdir /etc/openvpn/easy-rsa
sudo cp -ai /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa build-server-full server nopass
sudo ./easyrsa gen-dh
sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/dh.pem /etc/openvpn/

4.创建配置文件

vim /etc/openvpn/server.conf
port 1194                                    #端口
proto tcp                                    #协议
dev tun                                      #采用路由隧道模式
ca ca.crt                  #ca证书的位置
cert server.crt     #服务端公钥的位置
key server.key     #服务端私钥的位置
dh dh.pem                  #证书校验算法  
server 10.8.0.0 255.255.255.0                #给客户端分配的地址池

push "route 10.70.0.0 255.255.0.0"               #允许访问的内网段

ifconfig-pool-persist ipp.txt                #地址池记录文件位置,未来让openvpn客户端固定ip地址使用的
keepalive 10 120                             #存活时间,10秒ping一次,120秒如果未收到响应则视为短线
max-clients 100                              #最多允许100个客户端连接
status openvpn-status.log                    #日志位置,记录openvpn状态
log /var/log/openvpn.log                     #openvpn日志记录位置
verb 3                                       #openvpn版本
client-to-client                             #允许客户端与客户端之间通信
persist-key                                  #通过keepalive检测超时后,重新启动VPN,不重新读取
persist-tun                                  #检测超时后,重新启动VPN,一直保持tun是linkup的,否则网络会先linkdown然后再linkup
duplicate-cn                                 #客户端密钥(证书和私钥)是否可以重复
comp-lzo                                     #启动lzo数据压缩格式
client-config-dir /etc/openvpn/ccd               #配置客户端配置文件目录

启动服务端

sudo systemctl start openvpn@server
设置开机自启
sudo systemctl enable openvpn@server

服务端配置完成

二、客户端配置

1.Linux客户端配置

(1)服务端生成客户端的证书
cd /etc/openvpn/easy-rsa

./easyrsa build-client-full client_name pwd

之后将ca.crt client_name.crt client_name.key都下载下来

文件位置

ca.crt >> /etc/openvpn/easy-rsa/pki

client_name.crt >> /etc/openvpn/easy-rsa/pki/issued

client_name.key >> /etc/openvpn/easy-rsa/pki/private

(2)下载客户端
sudo yum install epel-release
sudo yum -y install openvpn
(3)编辑客户端配置文件
vim /etc/openvpn/client.conf
client
dev tun
proto tcp
remote 服务端ip 1194
resolv-retry infinite
nobind
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client_name.crt
key /etc/openvpn/client_name.key
verb 3
persist-key
comp-lzo

将ca.crt client_name.crt client_name.key上传至/etc/openvpn/

(4)启动客户端
systemctl start openvpn@client
(5)若要使用这台机器作跳板访问内网服务(可选)

1)添加以下iptables规则,其中ens160需要根据实际情况(ifconfig所显示的能访问到内网服务的网卡)进行修改

iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE
iptables -A FORWARD -i tun0 -o ens160 -j ACCEPT
iptables -A FORWARD -i ens160 -o tun0 -j ACCEPT

2)开启IP转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward=设为1

3)在服务端openvpn目录下创建ccd目录

mkdir /etc/openvpn/ccd

4)创建一个名为客户端名称的文件

vim /etc/openvpn/ccd/client_name
ifconfig-push 10.8.0.2 255.255.255.0		#固定IP
iroute 10.70.0.0 255.255.0.0				#若访问10.70.0.0/16 网络路由到该客户端。

5)同时在服务端配置文件中加入

push "route 10.70.0.0 255.255.0.0"     		#允许访问的内网段

6)重启服务端

sudo systemctl restart openvpn@server

7)重启客户端

systemctl restart openvpn@client

2.Windows客户端配置

(1)下载Windows客户端

官方地址https://openvpn.net/client/client-connect-vpn-for-windows/

(2)服务端生成客户端的证书
cd /etc/openvpn/easy-rsa

./easyrsa build-client-full client_name pwd

之后将ca.crt client_name.crt client_name.key都下载下来

文件位置

ca.crt >> /etc/openvpn/easy-rsa/pki

client_name.crt >> /etc/openvpn/easy-rsa/pki/issued

client_name.key >> /etc/openvpn/easy-rsa/pki/private

(3)重启 <服务端>
sudo systemctl restart openvpn@server
(4)创建配置文件client_name.ovpn
client
dev tun
proto tcp
remote 服务端ip 1194
resolv-retry infinite
nobind
ca ca.crt
cert client_name.crt
key client_name.key
verb 3
persist-key
comp-lzo

将ca.crt client_name.crt client_name.key与client_name.ovpn放置在同一个文件夹中

双击文件即可链接

3.iOS、Android客户端配置

iOS可前往AppStore下载Open VPN客户端,Android可前往OpenVPN官网下载Android客户端

(1)服务端生成客户端的证书
cd /etc/openvpn/easy-rsa

./easyrsa build-client-full client_name pwd

之后将ca.crt client_name.crt client_name.key都下载下来

文件位置

ca.crt >> /etc/openvpn/easy-rsa/pki

client_name.crt >> /etc/openvpn/easy-rsa/pki/issued

client_name.key >> /etc/openvpn/easy-rsa/pki/private

(2)重启服务端
sudo systemctl restart openvpn@server
(3)配置文件的创建
client
dev tun
proto tcp
remote 服务端ip 1194
resolv-retry infinite
nobind
<ca>
此处填写ca.crt文件内所有内容
</ca>

<cert>
此处填写client_name.crt中的证书内容即可,即:
-----BEGIN CERTIFICATE-----
......
-----END CERTIFICATE-----
</cert>

<key>
此处填写client_name.key中的所有内容
</key>

verb 3
persist-key
comp-lzo

将client_name.ovpn传至手机后,在openvpn中打开文件即可链接

本文到这里就结束了,在搭建的任何过程中产生问题您可在评论区进行留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值