建立VPN(虚拟专用网络)通常涉及选择适合你需求的方案,以下是常见的方法和步骤:
选择VPN类型
-
自建VPN(适合技术用户,可控性高)
- 协议选择:OpenVPN、WireGuard、IPSec/IKEv2、L2TP/IPSec等。
- 硬件要求:云服务器(如AWS、Google Cloud、阿里云等)或家用路由器(如OpenWRT)。
-
第三方VPN服务(适合普通用户,简单快捷)
选择可信的付费服务商(如NordVPN、ExpressVPN等)。
自建VPN详细步骤(以OpenVPN为例)
准备服务器
- 购买一台云服务器(推荐Ubuntu/CentOS系统)。
- 确保防火墙开放VPN端口(默认UDP 1194)。
安装OpenVPN
sudo apt install openvpn easy-rsa # CentOS sudo yum install epel-release sudo yum install openvpn easy-rsa
配置证书
make-cadir ~/openvpn-ca cd ~/openvpn-ca nano vars # 修改证书信息(如国家、组织名) source vars ./clean-all ./build-ca # 生成CA证书 ./build-key-server server # 服务器证书 ./build-key client1 # 客户端证书 ./build-dh # Diffie-Hellman密钥 openvpn --genkey --secret keys/ta.key # 生成TLS-auth密钥
配置服务器
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
修改关键参数:
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
tls-auth ta.key 0
启动服务
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
配置客户端
- 从服务器下载
ca.crt、client1.crt、client1.key、ta.key。 - 创建客户端配置文件
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 tls-auth ta.key 1 cipher AES-256-CBC verb 3 - 使用OpenVPN客户端导入配置文件。
快速方案(WireGuard)
WireGuard配置更简单,适合现代需求:
服务器安装
# Ubuntu sudo apt install wireguard resolvconf # 生成密钥 wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
配置文件 /etc/wireguard/wg0.conf
[Interface] PrivateKey = <服务器私钥> Address = 10.0.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.0.0.2/32
客户端配置
[Interface] PrivateKey = <客户端私钥> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] PublicKey = <服务器公钥> Endpoint = SERVER_IP:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
注意事项
- 安全性:
- 使用强加密(如AES-256)。
- 限制VPN端口访问(防火墙规则)。
- 性能:
- 选择靠近用户的服务器位置。
- WireGuard比OpenVPN更高效。
- 合规性:确保遵守当地法律。
如果需要更简单的方案,可直接使用SoftEther VPN或商业VPN服务。









