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

文章插图
简介OpenVPN 是一个功能齐全的 SSL VPN,它使用行业标准 SSL/TLS 协议实现 OSI 第 2 层或第 3 层安全网络扩展,支持基于证书、智能卡和/或用户名/密码凭据的灵活客户端身份验证方法,并允许用户或使用应用于 VPN 虚拟接口的防火墙规则的特定于组的访问控制策略 。
应用场景在家庭网络中有动态公网IP的前提下,当我们在外部,想要访问家庭内部网络 。一般可以通过路由器端口映射的方式进行,通过动态公网IP和映射的指定端口,来访问家庭内部网络环境中的一些网络服务 。在把家庭网络环境中的服务直接暴露在公网环境下,可能会对家庭内部网络造成安全隐患 。
内部系统可能会存在一些漏洞未能及时修复,造成网络安全问题 。这些漏洞为黑客们提供了各种机会,绝大多数非法入侵、木马、病毒都是通过漏洞来突破网络安全防线的 。
【使用树莓派安装OpenVPN,在外部访问家庭内部网络】因此我们在考虑网络安全因素下,家庭网络环境对外访问只通过 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-rsasudo apt-get install -y openvpn
- easy-rsa包 提供证书生成脚本、模板配置文件等创建相关目录
- openvpn就是我们今天要安装的包了
使用https://pkgs.org下载deb安装包,树莓派是ARM架构

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

文章插图
复制下载地址,使用wget下载文件
wgethttp://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-rsasudo cp -rf /usr/share/easy-rsa /etc/openvpn/server/easy-rsacd /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-rsasudo ./easyrsa init-pkisudo ./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-Hellmansudo ./easyrsa gen-dh# 生成ta.keyopenvpn --genkey --secret ta.key
- build-server-full : 生成服务端/客户端证书
- Diffie-Hellman,迪菲·赫尔曼密钥交换 是一种安全协议 。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥 。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容 。
- ta.key用于防御DoS、UDP淹没等恶意攻击 。
# 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 目录下推荐阅读
- 耳药水正确使用方法是怎样的?
- 家里电线空开怎么选择 家用空开使用电线并接
- 夏天家里怎么使用冰块不热 夏天家里怎么使用冰块
- meta是以什么为核心编制而成 meta的使用
- 冷冻杯如何使用方法 果冻杯怎么用
- 破伤风抗毒素说明书
- 护肤品正确顺序 护肤品的使用顺序
- 孕妇可以使用pp材质的水杯吗 塑料材质水杯孕妇能用吗
- 天气丹使用感受 天气丹适合什么年龄
- 家里空调香水正确使用方法 空调香水怎么使用