选择 VPN 协议
- OpenVPN:成熟稳定,配置稍复杂。
- WireGuard:轻量快速,现代加密,配置简单。
- L2TP/IPsec:兼容性好,但可能被某些防火墙拦截。
推荐 WireGuard(性能好)或 OpenVPN(兼容性强)。
安装 WireGuard VPN(推荐)
步骤:
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装 WireGuard:
sudo apt install wireguard -y
-
生成密钥对:
cd /etc/wireguard umask 077 wg genkey | tee privatekey | wg pubkey > publickey
-
创建配置文件(
/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。
- 替换
-
启用 IP 转发:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
-
启动 WireGuard:
sudo systemctl enable --now wg-quick@wg0
-
配置客户端:
-
生成客户端密钥对,并在服务器配置中添加
[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(备选)
步骤:
-
安装 OpenVPN 和 Easy-RSA:
sudo apt install openvpn easy-rsa -y
-
生成证书:
make-cadir ~/openvpn-ca cd ~/openvpn-ca source vars ./clean-all ./build-ca # 交互式输入信息 ./build-key-server server ./build-dh ./build-key client1
-
复制配置文件:
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 -
编辑
/etc/openvpn/server.conf:- 取消注释或修改以下行:
push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" user nobody group nogroup
- 取消注释或修改以下行:
-
启动服务:
sudo systemctl enable --now openvpn@server
-
生成客户端配置:
- 将
~/openvpn-ca/keys/client1.crt、client1.key和ca.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.com或duckdns.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 则更适合需要广泛兼容性的场景。









