两台主机之间搭建VPN,实现安全远程通信的实用指南

在当今高度互联的网络环境中,企业与个人用户对安全、稳定、低成本的远程访问需求日益增长,尤其是在分布式办公、异地备份或跨地域协作场景中,如何在两台主机(Host A 和 Host B)之间建立一个私密且加密的通信通道?答案就是——搭建点对点(Site-to-Site)类型的虚拟专用网络(VPN),本文将详细介绍如何使用OpenVPN这一开源工具,在两台Linux主机上快速部署一个安全可靠的双向连接。

确保两台主机均运行Linux系统(如Ubuntu Server 22.04),并具备公网IP地址,若未分配静态公网IP,可通过动态DNS服务(如No-IP或DuckDNS)绑定域名以简化配置,我们分步骤操作:

第一步:安装OpenVPN服务端和客户端软件包,在两台主机上执行:

sudo apt update && sudo apt install openvpn easy-rsa -y

第二步:生成PKI证书体系,在Host A(作为服务器端)上,使用Easy-RSA工具创建CA根证书、服务器证书和客户端证书:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server

随后,为Host B生成客户端证书:

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

第三步:配置OpenVPN服务端(Host A),编辑 /etc/openvpn/server.conf 文件,关键配置如下:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"  # 若需访问内网
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

第四步:配置客户端(Host B)文件 /etc/openvpn/client1.conf如下:

client
dev tun
proto udp
remote your-host-a-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/client1.crt
key /etc/openvpn/easy-rsa/pki/private/client1.key
comp-lzo
verb 3

第五步:启动服务,在Host A运行:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

在Host B运行:

sudo systemctl enable openvpn@client1
sudo systemctl start openvpn@client1

完成上述步骤后,两台主机将通过加密隧道建立连接,可实现彼此间的IP层互通(例如ping通对方IP 10.8.0.x),你还可以通过此通道安全地传输文件、访问远程服务(如SSH、HTTP代理等)。

两主机间构建OpenVPN不仅成本低廉,而且安全性高,适合中小型企业或家庭网络使用,只要合理规划IP段、加强防火墙规则(如iptables允许UDP 1194端口),即可打造一条真正意义上的“数字高速公路”,对于网络工程师而言,掌握此类技能是构建健壮网络架构的基础能力之一。

两台主机之间搭建VPN,实现安全远程通信的实用指南

半仙加速器-海外加速器 | VPN加速器 | VPN翻墙加速器 | VPN梯子 | VPN外网加速