1.安装OpenVPN和Easy-RSA

搭建VPN服务端可以实现远程安全访问内网资源,以下是常见VPN协议及搭建方法:

主流VPN协议对比

协议类型 速度 安全性 穿透能力 适用场景
OpenVPN 中等 极高(SSL/TLS) 需TCP 443端口 企业级安全访问
WireGuard 极快 现代加密 UDP穿透强 移动设备/低延迟需求
IPSec/L2TP 中等 强(IPSec加密) 需多端口 兼容旧设备
PPTP 弱(已淘汰) 易被屏蔽 不推荐使用

OpenVPN服务端搭建示例(Ubuntu)

# 2. 初始化PKI(证书颁发机构)
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
source vars
./clean-all
./build-ca          # 生成CA证书
./build-key-server server  # 服务器证书
./build-dh          # Diffie-Hellman参数
openvpn --genkey --secret keys/ta.key  # TLS-auth密钥
# 3. 配置服务器
sudo cp ~/openvpn-ca/keys/{ca.crt,server.crt,server.key,dh2048.pem,ta.key} /etc/openvpn/
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
sudo nano /etc/openvpn/server.conf  # 修改配置:
'''
proto udp
port 1194
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
tls-auth ta.key 0
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
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
'''
# 4. 启用IP转发
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# 5. 启动服务
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

WireGuard服务端配置(更简易方案)

# 1. 安装WireGuard
sudo apt install -y wireguard resolvconf
# 2. 生成密钥对
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
# 3. 创建配置文件
sudo nano /etc/wireguard/wg0.conf
'''
[Interface]
PrivateKey = <服务器私钥>
Address = 10.7.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]  # 客户端配置
PublicKey = <客户端公钥>
AllowedIPs = 10.7.0.2/32
'''
# 4. 启用服务
sudo systemctl enable --now wg-quick@wg0

安全增强措施

  1. 防火墙规则

    sudo ufw allow 1194/udp  # OpenVPN
    sudo ufw allow 51820/udp # WireGuard
    sudo ufw enable
  2. 客户端管理

    • OpenVPN需为每个客户端生成证书:
      cd ~/openvpn-ca
      source vars
      ./build-key client1
    • WireGuard通过添加多个[Peer]段管理客户端
  3. 日志监控

    sudo tail -f /var/log/syslog | grep openvpn
    sudo wg show  # 查看WireGuard连接状态

客户端连接方式

  1. OpenVPN

    • 需传输:ca.crt + client.crt + client.key + ta.key
    • 客户端配置文件示例:
      client
      dev tun
      proto udp
      remote your.server.ip 1194
      resolv-retry infinite
      nobind
      persist-key
      persist-tun
      ca ca.crt
      cert client.crt
      key client.key
      tls-auth ta.key 1
      cipher AES-256-CBC
      verb 3
  2. WireGuard

    • 客户端配置示例:

      [Interface]
      PrivateKey = <客户端私钥>
      Address = 10.7.0.2/24
      DNS = 8.8.8.8
      [Peer]
      PublicKey = <服务器公钥>
      Endpoint = your.server.ip:51820
      AllowedIPs = 0.0.0.0/0
      PersistentKeepalive = 25

注意事项

  1. 生产环境建议禁用密码认证,仅使用证书
  2. 定期轮换证书(OpenVPN)或更新密钥(WireGuard)
  3. 云服务器需在安全组放行对应端口
  4. 考虑使用OCSP Stapling(OpenVPN)或更短密钥轮换周期(WireGuard)提升安全性

根据需求选择协议:企业级安全选OpenVPN,追求性能选WireGuard,移动端两者均有官方客户端应用支持。

1.安装OpenVPN和Easy-RSA

扫码下载GOBOY加速器

扫码下载GOBOY加速器

400-88647966
扫码下载GOBOY加速器

扫码下载GOBOY加速器