Ubuntu/Debian

建立VPN(虚拟专用网络)可以用于安全地连接不同网络或远程访问资源,以下是建立VPN的详细步骤和注意事项:


VPN的类型

  1. 远程访问VPN

    适用于个人远程连接公司内网(如OpenVPN、L2TP/IPsec)。

  2. 站点到站点VPN

    用于连接两个局域网(如IPsec VPN、WireGuard)。

  3. 常见协议
    • OpenVPN:开源、灵活,支持TCP/UDP。
    • IPsec/L2TP:内置支持于多数操作系统,但配置复杂。
    • WireGuard:高性能,配置简单,适合现代需求。
    • SSTP:适合Windows环境,使用SSL加密。

自建VPN的步骤(以OpenVPN为例)

准备工作

  • 服务器:一台具有公网IP的云服务器(如AWS、阿里云、VPS)。
  • 操作系统:Linux(如Ubuntu/CentOS)。
  • 防火墙:确保开放VPN端口(默认1194/UDP)。

安装OpenVPN

sudo apt install openvpn easy-rsa
# CentOS
sudo yum install epel-release
sudo yum install openvpn easy-rsa

配置证书认证(CA)

make-cadir ~/openvpn-ca
cd ~/openvpn-ca

编辑 vars 文件设置证书信息,然后生成密钥:

source vars
./clean-all
./build-ca          # 生成CA证书
./build-key-server server  # 服务器证书
./build-dh          # Diffie-Hellman参数
./build-key client1 # 客户端证书

配置服务器

复制证书到OpenVPN目录:

cd ~/openvpn-ca/keys
sudo cp server.crt server.key ca.crt dh2048.pem /etc/openvpn

创建配置文件 /etc/openvpn/server.conf

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

启动服务

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

配置客户端

  • 将生成的 client1.crtclient1.keyca.crt 下载到本地。
  • 创建客户端配置文件(如 client.ovpn):
    client
    dev tun
    proto udp
    remote your-server-ip 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca ca.crt
    cert client1.crt
    key client1.key
    comp-lzo
    verb 3
  • 使用OpenVPN客户端导入配置文件连接。

其他VPN方案

  1. WireGuard(推荐)
    • 安装:sudo apt install wireguard
    • 配置更简单,性能更高。
  2. 商业VPN服务

    如NordVPN、ExpressVPN,无需自建服务器。


注意事项

  1. 安全性
    • 使用强加密(如AES-256)。
    • 定期更新证书。
  2. 性能

    选择就近的服务器降低延迟。

  3. 合规性

    确保符合当地法律法规(某些国家限制VPN使用)。


如果需要更简单的方案,可以使用 Tailscale(基于WireGuard的零配置工具)或 SoftEther VPN(多功能开源VPN)。

Ubuntu/Debian

扫码下载快喵VPN

扫码下载快喵VPN

400-86883355
扫码下载快喵VPN

扫码下载快喵VPN