在树莓派上搭建 VPN 服务器是一个实用的项目,可以让你远程安全访问家庭网络或绕过地理限制。以下是常见的方法和步骤

选择 VPN 协议

  • OpenVPN:成熟稳定,配置稍复杂。
  • WireGuard:轻量快速,现代加密,配置简单。
  • L2TP/IPsec:兼容性好,但可能被某些防火墙拦截。

推荐 WireGuard(性能好)或 OpenVPN(兼容性强)。


安装 WireGuard VPN(推荐)

步骤:

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
  2. 安装 WireGuard

    sudo apt install wireguard -y
  3. 生成密钥对

    cd /etc/wireguard
    umask 077
    wg genkey | tee privatekey | wg pubkey > publickey
  4. 创建配置文件/etc/wireguard/wg0.conf):

    [Interface]
    PrivateKey = <服务器私钥(privatekey文件内容)>
    Address = 10.0.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.0.0.2/32
    • 替换 <服务器私钥><客户端公钥>
    • 如果树莓派使用 Wi-Fi,将 eth0 改为 wlan0
  5. 启用 IP 转发

    echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  6. 启动 WireGuard

    sudo systemctl enable --now wg-quick@wg0
  7. 配置客户端

    • 生成客户端密钥对,并在服务器配置中添加 [Peer]

    • 客户端配置文件示例:

      [Interface]
      PrivateKey = <客户端私钥>
      Address = 10.0.0.2/24
      DNS = 8.8.8.8
      [Peer]
      PublicKey = <服务器公钥>
      Endpoint = <树莓派公网IP或DDNS域名>:51820
      AllowedIPs = 0.0.0.0/0
      PersistentKeepalive = 25

安装 OpenVPN(备选)

步骤:

  1. 安装 OpenVPN 和 Easy-RSA

    sudo apt install openvpn easy-rsa -y
  2. 生成证书

    make-cadir ~/openvpn-ca
    cd ~/openvpn-ca
    source vars
    ./clean-all
    ./build-ca       # 交互式输入信息
    ./build-key-server server
    ./build-dh
    ./build-key client1
  3. 复制配置文件

    sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/
    sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
    sudo gzip -d /etc/openvpn/server.conf.gz
  4. 编辑 /etc/openvpn/server.conf

    • 取消注释或修改以下行:
      push "redirect-gateway def1 bypass-dhcp"
      push "dhcp-option DNS 8.8.8.8"
      user nobody
      group nogroup
  5. 启动服务

    sudo systemctl enable --now openvpn@server
  6. 生成客户端配置

    • ~/openvpn-ca/keys/client1.crtclient1.keyca.crt 复制到客户端设备。
    • 客户端配置文件示例:
      client
      dev tun
      proto udp
      remote <树莓派公网IP> 1194
      resolv-retry infinite
      nobind
      persist-key
      persist-tun
      ca ca.crt
      cert client1.crt
      key client1.key
      verb 3

端口转发与动态 DNS(DDNS)

  • 端口转发:在路由器上将 UDP 51820(WireGuard)或 TCP/UDP 1194(OpenVPN)转发到树莓派的内网 IP。
  • 动态 DNS:如果家庭宽带无固定 IP,使用 DDNS 服务(如 no-ip.comduckdns.org)。

连接测试

  • 在手机/电脑上使用客户端连接:
    • WireGuard:导入配置文件并激活。
    • OpenVPN:使用 .ovpn 文件导入客户端软件(如 OpenVPN Connect)。

注意事项

  • 安全性:确保防火墙开放 VPN 端口,仅允许可信设备连接。
  • 性能:树莓派 4B 可轻松应对 100Mbps 以上的 VPN 流量,但 Zero 或旧型号可能性能有限。
  • 日志检查:若连接失败,查看日志:
    sudo journalctl -u wg-quick@wg0   # WireGuard
    sudo journalctl -u openvpn@server # OpenVPN

通过以上步骤,你可以在树莓派上快速搭建一个高效的 VPN 服务器,WireGuard 适合追求速度和简单配置,而 OpenVPN 则更适合需要广泛兼容性的场景。

在树莓派上搭建 VPN 服务器是一个实用的项目,可以让你远程安全访问家庭网络或绕过地理限制。以下是常见的方法和步骤

扫码下载轻舟VPN

扫码下载轻舟VPN

137-6924-5183
扫码下载轻舟VPN

扫码下载轻舟VPN