随着云计算的普及,越来越多的企业和个人选择将基础设施部署在Microsoft Azure等云平台上,如何安全地远程访问Azure虚拟机(VM)成为运维人员面临的核心问题之一,本文将详细介绍如何在Azure中基于Ubuntu系统搭建一个完整的VPN服务,确保远程连接的安全性和稳定性。
准备工作必不可少,你需要一个已注册的Azure账户,并拥有足够的权限创建虚拟网络、网络安全组(NSG)、虚拟机和公共IP地址,推荐使用Ubuntu Server 20.04 LTS或22.04 LTS镜像,因其稳定性和广泛的社区支持,通过Azure门户或CLI创建一台Ubuntu VM,配置合适的大小(如B1s或标准DS2_v2),并分配一个静态公网IP地址,用于后续的VPN接入。
安装与配置OpenVPN是核心步骤,登录到Ubuntu服务器后,执行以下命令更新系统并安装OpenVPN及相关工具:
sudo apt update && sudo apt upgrade -y sudo apt install openvpn easy-rsa -y
生成证书颁发机构(CA)和服务器证书,运行以下命令初始化PKI环境:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
完成证书生成后,复制相关文件到OpenVPN配置目录:
sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/
创建OpenVPN服务器主配置文件 /etc/openvpn/server.conf如下:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
注意:dh.pem 需要通过 sudo ./easyrsa gen-dh 生成,并放置在对应路径。
配置完成后,启用IP转发和防火墙规则,编辑 /etc/sysctl.conf,取消注释 net.ipv4.ip_forward=1 并应用:
sudo sysctl -p
在Azure门户中为VM关联的NSG添加入站规则,允许UDP端口1194(OpenVPN默认端口),配置NAT规则使内部流量能正确路由回客户端。
客户端配置,使用OpenVPN客户端软件(如OpenVPN Connect或TAP驱动程序)导入CA证书和客户端证书(需用 easyrsa gen-req client1 nopass 和 sign-req client client1 生成),配置连接参数即可。
通过以上步骤,你将在Azure上成功部署一个功能完备的Ubuntu OpenVPN服务,支持多用户安全远程访问内部资源,满足企业级需求,此方案兼具灵活性、安全性与可扩展性,是现代云环境中不可或缺的网络基础设施组件。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN






