您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

使用树莓派安装OpenVPN,在外部访问家庭内部网络

时间:2022-09-05 14:44:21  来源:今日头条  作者:德意洋洋QAQ

 

简介

OpenVPN 是一个功能齐全的 SSL VPN,它使用行业标准 SSL/TLS 协议实现 OSI 第 2 层或第 3 层安全网络扩展,支持基于证书、智能卡和/或用户名/密码凭据的灵活客户端身份验证方法,并允许用户或使用应用于 VPN 虚拟接口的防火墙规则的特定于组的访问控制策略。

应用场景

在家庭网络中有动态公网IP的前提下,当我们在外部,想要访问家庭内部网络。一般可以通过路由器端口映射的方式进行,通过动态公网IP和映射的指定端口,来访问家庭内部网络环境中的一些网络服务。在把家庭网络环境中的服务直接暴露在公网环境下,可能会对家庭内部网络造成安全隐患。

 

内部系统可能会存在一些漏洞未能及时修复,造成网络安全问题。这些漏洞为黑客们提供了各种机会,绝大多数非法入侵、木马、病毒都是通过漏洞来突破网络安全防线的。

 

因此我们在考虑网络安全因素下,家庭网络环境对外访问只通过 VPN 服务进行访问,对外暴露服务只暴露VPN服务即可。从而保证有效提高了我们家庭内部网络环境的安全性。

硬件环境

树莓派3B+

CPU主频

1.4 GHz

核心数量

4 核

线程数量

4 线程

核心架构

BCM

树莓派3B+所用的BCM2835是基于ARMv7 32位架构的4核心ARMv7 Processor rev 4(v7l)处理器

虽然树莓派3B+的硬件支持64位的系统,但是官方的系统还是32位的,主要应该是为了兼容之前的硬件

安装openvpn和easy-rsa

sudo apt-get install -y easy-rsa
sudo apt-get install -y openvpn
  • easy-rsa包 提供证书生成脚本、模板配置文件等创建相关目录
  • openvpn就是我们今天要安装的包了

升级easy-rsa为v3.0.8版本

树莓派中的easy-rsa源安装的版本为v2.x.x,要把版本升级到v3.0.8。由于树莓派系统是基于Debian创建“新的”分支系统,我们可以使用Debian系统版本中的deb安装包,来安装easy-rsa v3.0.8

使用https://pkgs.org下载deb安装包,树莓派是ARM架构

 

点击easy-rsa_3.0.8-1_all.deb打开下载页面

 

复制下载地址,使用wget下载文件

wget 	http://ftp.de.debian.org/debian/pool/mAIn/e/easy-rsa/easy-rsa_3.0.8-1_all.deb

安装 easy-rsa_3.0.8-1_all.deb文件

dpkg -i easy-rsa_3.0.8-1_all.deb

配置证书密钥

复制easy-rsa配置信息

# sudo cp -rf /usr/share/easy-rsa/3.0.8 /etc/openvpn/server/easy-rsa
sudo cp -rf /usr/share/easy-rsa /etc/openvpn/server/easy-rsa
cd /etc/openvpn/server/easy-rsa

编辑vars文件

vim vars
# 国家
set_var EASYRSA_REQ_COUNTRY "CN"
# 地区
set_var EASYRSA_REQ_PROVINCE "Shandong"
# 城市
set_var EASYRSA_REQ_CITY "Jinan"
# 组织
set_var EASYRSA_REQ_ORG "Nilorg CA"
# 邮箱
set_var EASYRSA_REQ_EMAIL "xudeyi1998@.qq.com"
# 拥有者
set_var EASYRSA_REQ_OU  "Home"

使变量生效

source ./vars

生成 CA 根证书

cd /etc/openvpn/server/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

init-pki:初始化,创建pki文件夹,用来存放即将生成的证书

生成 OpenVPN 服务器/客户端证书和密钥

# 生成服务端证书, nopass 参数设定证书无密码
sudo ./easyrsa build-server-full server nopass
# 生成客户端证书, nopass 参数设定证书无密码
sudo ./easyrsa build-client-full client1 nopass
# 创建Diffie-Hellman
sudo ./easyrsa gen-dh
# 生成ta.key
openvpn --genkey --secret ta.key
  • build-server-full : 生成服务端/客户端证书
  • Diffie-Hellman,迪菲·赫尔曼密钥交换 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
  • ta.key用于防御DoS、UDP淹没等恶意攻击。

配置 OpenVPN 服务端

复制配置文件

# server.conf 如果server.conf不存在,需要对目录下的
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/

复制证书及密钥文件

然后将CA的证书, VPN Server的证书和密钥, 以及Diffie-Hellman参数文件复制到 /etc/openvpn/server 目录下

cp /etc/openvpn/server/easy-rsa/pki/ca.crt /etc/openvpn/server
cp /etc/openvpn/server/easy-rsa/pki/issued/server.crt /etc/openvpn/server
cp /etc/openvpn/server/easy-rsa/pki/private/server.key /etc/openvpn/server
cp /etc/openvpn/server/easy-rsa/pki/dh.pem /etc/openvpn/server/

编辑配置文件

编辑server.conf配置,去除无用配置项

local 0.0.0.0
port 1194
proto tcp

# dev tap
dev tun

ca /etc/openvpn/server/easy-rsa/pki/ca.crt
cert /etc/openvpn/server/easy-rsa/pki/issued/server.crt
key /etc/openvpn/server/easy-rsa/pki/private/server.key
dh /etc/openvpn/server/easy-rsa/dh.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist /etc/openvpn/server/ipp.txt

push "route 192.168.0.0 255.255.255.0"

# If enabled, this directive will configure
# all clients to redirect their default
#.NETwork gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
# push "redirect-gateway def1 bypass-dhcp"

# push "dhcp-option DNS 208.67.222.222"
# push "dhcp-option DNS 208.67.220.220"

client-to-client

keepalive 10 120

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
tls-auth /etc/openvpn/server/ta.key 0 # This file is secret

# Select a cryptographic cipher.
# This config item must be copied to
# the client config file as well.
# Note that 2.4 client/server will automatically
# negotiate AES-256-GCM in TLS mode.
# See also the ncp-cipher option in the manpage
cipher AES-256-CBC

comp-lzo

max-clients 100

persist-key
persist-tun

status /var/log/openvpn/status.log
log         /var/log/openvpn/openvpn.log
log-Append  /var/log/openvpn/openvpn.log

verb 3

mute 20

配置iptables

配置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
net.ipv4.ip_forward = 1

sysctl -p

验证服务

systemctl status openvpn@server.service
systemctl restart openvpn@server.service

配置OpenVPN客户端

复制配置文件

# 创建客户端配置文件
mkdir -p ~/openvpn/client1
# client.conf 如果client.conf不存在,需要对目录下的
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/openvpn/client1/client1.ovpn

复制证书及密钥文件

然后将CA的证书、客户端的证书和密钥,以及Diffie-Hellman参数文件复制到 ~/openvpn/client1 目录下

cp /etc/openvpn/server/easy-rsa/pki/ca.crt ~/openvpn/client1/ca.crt
cp /etc/openvpn/server/easy-rsa/ta.key ~/openvpn/client1/ta.key
cp /etc/openvpn/server/easy-rsa/pki/private/client1.key ~/openvpn/client1/client1.key
cp /etc/openvpn/server/easy-rsa/pki/issued/client1.crt ~/openvpn/client1/client1.crt

编辑配置文件

编辑client1.ovpn配置,去除无用配置项

client
dev tun
proto tcp
# remote <服务器端IP> <服务器端端口>
remote 192.168.xx.xx 1194
resolv-retry infinite
# Most clients don't need to bind to
# a specific local port number.
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
remote-cert-tls server
tls-auth ta.key 1
comp-lzo
verb 5

# 不拉取服务端路由配置,可选可不选。
route-nopull
# 指定访问哪些网段走vpn隧道
route 192.168.0.0 255.255.0.0 vpn_gateway

打包客户端配置文件

cd ~/openvpn
tar -zcvf client1.tar.gz ./client1

使用OpenVPN Connect客户端

使用OpenVPN Connect客户端连接服务

 


 


 


 



Tags:OpenVPN   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
基于linux部署openvpn2.9 as
环境 CentOS7.9安装yum install -y open-vm-tools openvpn-as-bundled-clients-17.rpm yum install -y openvpn-as-2.9.2_04614689-CentOS7.x86_64.rpmyum install -y lrzsz...【详细内容】
2023-04-24  Search: OpenVPN  点击:(375)  评论:(0)  加入收藏
使用树莓派安装OpenVPN,在外部访问家庭内部网络
简介OpenVPN 是一个功能齐全的 SSL VPN,它使用行业标准 SSL/TLS 协议实现 OSI 第 2 层或第 3 层安全网络扩展,支持基于证书、智能卡和/或用户名/密码凭据的灵活客户端身份验...【详细内容】
2022-09-05  Search: OpenVPN  点击:(950)  评论:(0)  加入收藏
padavan openvpn实现两个局域网互联
背景:网络穿透互联是方便我们技术人员的一种工具,通过各种协议实现您想要的网络互联。家庭组网可以参照低成本电信家庭宽带架构网络拓扑今天,我们需要在这个基础上扩展网络应...【详细内容】
2022-06-27  Search: OpenVPN  点击:(3413)  评论:(0)  加入收藏
Linux安装部署OpenVPN
本次部署的通过账户与密码进行认证,实现多人登录使用VPN,只需要分发固定的证书和用户名、密码就可以,简单快捷。一、软件与规划网络软件版本: Centos7.6 easy-rsa 3.0.8 OpenVPN...【详细内容】
2022-04-29  Search: OpenVPN  点击:(3100)  评论:(0)  加入收藏
Centos7安装与配置OpenVPN服务器
养成良好习惯,在安装前先更新一下软件包,多数软件包更新主要是修补漏洞。 更新 CentOS 软件包yum -y update虽然也是可以不进行更新直接安装。安装 OpenVPN 和...【详细内容】
2021-09-02  Search: OpenVPN  点击:(701)  评论:(0)  加入收藏
企业内网神器OpenVPN
VPN详解一、VPN介绍 什么是vpn?# VPN是虚拟专用网络的缩写,它是两个或多个物理网络(或设备)之间沟通互联网/公共网络创建的虚拟网络,可以为企业之间或者个人与企业之间提供安...【详细内容】
2021-09-02  Search: OpenVPN  点击:(2431)  评论:(0)  加入收藏
OpenVPN搭建部署
一、为什么要搭建VPN随着企业规模的发展,越来越多的远程办公需求将会产生,为支持远程办公,解决远程连接本地测试环境问题,可以使用开源软件搭建VPN解决,毕竟硬件的VPN不便宜,OpenV...【详细内容】
2020-10-28  Search: OpenVPN  点击:(834)  评论:(0)  加入收藏
▌简易百科推荐
手机就可以修改WiFi密码,进行网络提速,还能防止别人蹭网
随着网络的普及和使用频率的增加,很多人可能遇到了一些网络管理上的问题,比如忘记了WiFi密码、网络速度缓慢、或者发现有不明设备在家中蹭网。相信朋友们也曾遇到过吧?但是,你知...【详细内容】
2024-04-03  老毛桃    Tags:WiFi密码   点击:(7)  评论:(0)  加入收藏
手机WiFi信号满格却接收消息延迟?这里有妙招帮你解决!
在现代社会,手机已经成为了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐,手机都扮演着重要的角色。然而,有时我们会遇到一些令人烦恼的问题,比如明明手机WiFi信号满格...【详细内容】
2024-04-03  蔡前进    Tags:手机WiFi   点击:(6)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01    安全牛  Tags:SASE   点击:(10)  评论:(0)  加入收藏
提示“该网站安全证书存在问题,连接可能不安全”如何解决
在你输入网址并浏览网页时,如果你的浏览器弹出一个警告,提示“网站的安全证书存在问题”,或是显示一个红色的锁标志,这些都是网站不安全的警示。这些提示通常是由HTTPS协议中的S...【详细内容】
2024-03-18  倏然间    Tags:网站安全证书   点击:(9)  评论:(0)  加入收藏
如何有效排除CAN总线错误
控制器局域网(CAN)控制器局域网(CAN)是现代车辆中电子元件无缝运行的基础。在远程信息处理领域,CAN总线系统的效率至关重要,其能够实现支撑当今汽车技术的复杂功能。然而,CAN总...【详细内容】
2024-02-20    千家网  Tags:CAN   点击:(48)  评论:(0)  加入收藏
网络连接受限或无连接怎么办?这里提供几个修复办法
可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。排除和解决“连接受限或无连接”错误此错误可能由计算机上...【详细内容】
2024-02-06  驾驭信息纵横科技    Tags:网络连接受限   点击:(43)  评论:(0)  加入收藏
如何将Mac连接到以太网?这里有详细步骤
在Wi-Fi成为最流行、最简单的互联网连接方式之前,每台Mac和电脑都使用以太网电缆连接。这是Mac可用端口的标准功能。如何将Mac连接到以太网如果你的Mac有以太网端口,则需要以...【详细内容】
2024-02-03  驾驭信息纵横科技    Tags:Mac   点击:(66)  评论:(0)  加入收藏
简易百科之什么是端口映射
端口映射,也称为端口转发,是一种网络通信中的技术手段,通过将内网中的一个端口上的数据流量转发到另一个端口,使得外部网络能够访问到内部网络中的特定服务。在实现上,端口映射通...【详细内容】
2024-01-26    简易百科  Tags:端口映射   点击:(156)  评论:(0)  加入收藏
ip因频繁登陆已被禁止访问 无法显示图片 怎么办
首先,我们要明白,部分网站为了有效遏制数据爬取和非法攻击,保证访问速度和普通用户查询,会在系统中增加网络安全设备,加强安全防护机制,并提前设置安全访问规则。因此,一旦用户的行...【详细内容】
2024-01-20  何福意思    Tags:ip   点击:(63)  评论:(0)  加入收藏
电脑连上wifi却上不了网怎么办
当电脑连接上 WiFi 却无法上网时,可能会让人感到困惑和沮丧。这个问题通常会有多种可能的原因,包括网络配置问题、路由器故障、无线适配器问题等。在面对这个问题时,可以尝试以...【详细内容】
2024-01-16  编程资料站    Tags:wifi   点击:(69)  评论:(0)  加入收藏
站内最新
站内热门
站内头条