更新系统

sssd1599225 2026-07-02 外网梯子 9 0

在树莓派上搭建VPN可以让你远程安全访问家庭网络或保护公共Wi-Fi下的流量,以下是两种常见方案:


方案1:使用OpenVPN(推荐)

准备工作

  • 树莓派联网(建议有线连接)
  • 公网IP或DDNS(如使用动态IP,需配置动态域名解析)
  • 路由器端口转发(默认UDP 1194)

安装OpenVPN

# 安装OpenVPN和Easy-RSA(证书工具)
sudo apt install openvpn easy-rsa -y

配置证书

# 复制Easy-RSA模板
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
# 编辑变量文件(按需修改)
nano vars
# 设置以下参数(示例):
export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="YourOrg"
export KEY_EMAIL="user@example.com"
# 生成证书
source vars
./clean-all
./build-ca          # 一直按Enter使用默认值
./build-key-server server  # 服务器证书
./build-dh          # Diffie-Hellman参数
./build-key client1 # 客户端证书

配置OpenVPN服务器

# 复制配置文件
sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/
# 复制示例配置
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
# 编辑配置
sudo nano /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"  # 客户端流量全走VPN
push "dhcp-option DNS 8.8.8.8"           # 推送DNS
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

启用IP转发和防火墙

# 启用IP转发
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl -p
# 配置防火墙(假设eth0为外网接口)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo apt install iptables-persistent -y
sudo netfilter-persistent save

启动服务

sudo systemctl enable --now openvpn@server
sudo systemctl status openvpn@server

生成客户端配置

# 创建客户端配置文件
mkdir -p ~/client-configs/files
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
# 编辑基础配置
nano ~/client-configs/base.conf

修改为:

client
dev tun
proto udp
remote your-server-ip 1194  # 替换为你的公网IP或DDNS域名
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
<ca>
[粘贴ca.crt内容]
</ca>
<cert>
[粘贴client1.crt内容]
</cert>
<key>
[粘贴client1.key内容]
</key>

方案2:使用WireGuard(更轻量)

安装WireGuard

sudo apt install wireguard -y

生成密钥

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

创建配置文件

sudo nano /etc/wireguard/wg0.conf

示例配置:

[Interface]
PrivateKey = <服务器私钥(/etc/wireguard/privatekey内容)>
Address = 10.9.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.9.0.2/32

启用服务

sudo systemctl enable --now wg-quick@wg0

客户端连接

  • OpenVPN:使用生成的.ovpn文件导入OpenVPN客户端(如Windows的OpenVPN GUI或Android应用)。
  • WireGuard:安装客户端后配置对端的公钥和IP。

注意事项

  1. 公网IP需在路由器转发对应端口(OpenVPN默认1194/UDP,WireGuard默认51820/UDP)。
  2. 动态IP建议使用DDNS服务(如No-IP)。
  3. 安全性:限制VPN访问IP、使用强密码或证书认证。

如需更详细的步骤或遇到问题,可提供具体需求进一步解答!

更新系统

扫码下载轻舟VPN

扫码下载轻舟VPN

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

扫码下载轻舟VPN