自建VPN,指的是完全属于你自己的VPN服务器:国家、协议,以及谁能连接它,全部由你自己决定。我们来看 看怎样用20–30分钟,在租来的VPS上用WireGuard搭建自己的VPN,要花多少钱,以及什么时候直接用现成的个 人VPN更省事。
人们搭建自己的VPN原因各不相同:想要一个独立IP而不是共用地址,想保持对公司资源的访问,不想依赖别 人的服务,或者只是想弄明白这一切到底是怎么运作的。启动方式有两种。第一种是自己动手部署服务器:租 用VPS、安装协议、配置连接。第二种是现成的解决方案,服务器已经帮你部署和配置好了。这份指南会详细 讲解第一种方式,并诚实地和第二种方式做对比。好消息是:2026年搭建自己的VPN服务器,比几年前简单多 了——现代的WireGuard协议只需要一个小小的配置文件,不需要很深的网络知识就能把VPN服务器架起来。
什么是自建VPN服务器,它是怎么工作的
VPN会在你的设备和远程服务器之间建立一条加密隧道。你发往互联网的所有内容,会先以加密形式发送到 VPN服务器,再由服务器转发到目标网站。网站看到的是服务器的IP地址,运营商只能看到到服务器为止的 加密数据流。
设备 → VPN服务器 → 互联网
这个流程里有三个角色:
- 客户端——手机、电脑或路由器上的应用,负责加密流量并发进隧道。
- VPN服务器——一台带公网IP地址的机器,接收隧道、解密流量,再把它放行到互联网。
- 协议——客户端和服务器约定密钥和加密方式所遵循的一套规则:WireGuard、OpenVPN、IKEv2等等。
之所以叫“自己的”,是因为这台服务器真的是你的:上面没有别的用户,记录哪些日志、允许谁连接,都由 你说了算。关于服务器内部具体是怎么运作的,可以看什么是VPN服务器,它是如何工作的这篇文章。
为什么要自建VPN服务器
- 独立IP地址。地址只属于你的服务器,所以网站更少弹验证码,银行和其他服务也不会因为别人的行为而拒绝你登录。
- 对服务器的掌控。你清楚上面装了什么、存了什么数据、谁能访问。
- 不与任何人共用。服务器的带宽不会和成百上千个陌生人分享,速度只取决于你自己。
- 访问私人和工作资源。通过自己的VPN方便地进入家庭网络、NAS,或者只对某个IP开放的公司后台。
- 自由配置。可以按自己的需要选择国家、协议、端口、DNS和路由规则。
自建服务器和大众VPN在实际使用中的区别,我们在个人VPN服务器与大众VPN对比这篇文章里有详细 分析。
自建VPN需要准备什么
要搭建自己的VPN服务器,需要两样东西:一台有公网IP、能接收连接的机器,以及一个用来加密隧道的协 议。
VPS服务器
VPS是数据中心里按月出租的虚拟服务器。它全天候运行,带宽快,还有一个公网IP地址,供你的设备连 接。家用电脑也可以,但大多数家庭宽带没有公网IP,而且流量会从你所在的国家发出。
供5–10台设备使用的个人VPN,最低配置要求:
- 1 vCPU、1 GB内存;
- 10–20 GB的SSD或NVMe;
- 100 Mbit/s以上带宽,月流量1 TB以上;
- 公网IPv4地址;
- Linux系统:Ubuntu 24.04或Debian 12。
怎么选服务商、国家和套餐,我们在另一篇文章去哪里租VPN服务器里有详细介绍。
VPN协议
协议决定了速度、配置的复杂程度,以及你的流量有多容易被识别。自建服务器通常在三者中选一个:
| 协议 | 速度 | 配置难度 | 特点 |
|---|---|---|---|
| WireGuard | 高 | 低:服务器和客户端各用一份配置 | 现代加密算法,代码量小,重连速度快 |
| OpenVPN | 中 | 高:需要证书和证书颁发机构 | 支持UDP和TCP,几乎到处都能用 |
| IKEv2/IPsec | 高 | 中 | iOS、macOS和Windows自带支持,不用装额外应用 |
接下来我们配置WireGuard:对第一次自建VPN来说,这是最快的路径。全部协议的详细对比可以看2026年VPN协议对比这篇文章。
自建VPN的几种方式
搭建自己的VPN服务器有三种方式,区别在于有多少工作需要你自己完成。
| 方式 | 难度 | 所需技能 | 部署速度 | 适合谁 |
|---|---|---|---|---|
| 手动配置VPS | 高 | Linux、SSH、网络、防火墙 | 30–60分钟 | 想弄懂每一个细节的人 |
| 用脚本安装 | 中 | 基本的命令行操作 | 10–20分钟 | 要结果、但出问题时也有时间去排查的人 |
| 现成的个人VPN | 低 | 不需要 | 几分钟 | 想要专属服务器、又不想自己维护的人 |
安装脚本能省时间,但也会在服务器上装入带管理员权限的第三方代码:运行前最好先了解它到底做了什 么。手动配置更费时间,但你能确切知道装了什么、为什么要装。
如何在VPS上用WireGuard搭建自己的VPN服务器
下面是在Ubuntu 24.04或Debian 12上搭建VPN服务器的完整指南。所有命令都在root权限或sudo下执行。
第一步:准备VPS
- 按照上面的配置要求,在流量应该从哪个国家发出的地方,选好一台VPS。
- 下单时选择操作系统Ubuntu 24.04或Debian 12。
- 在服务商的面板里添加自己的SSH密钥,或者保存好邮件里的root密码。
- 记下服务器的公网IP地址——之后连接会用到它。
第二步:通过SSH连接
在macOS和Linux上打开终端,在Windows上打开PowerShell或Windows Terminal,然后连接服务器:
ssh root@服务器IP
apt update && apt upgrade -y第二条命令会在安装前先更新系统。
第三步:安装WireGuard
WireGuard已经在标准软件源里,不需要额外添加源:
apt install -y wireguard qrencodeqrencode这个包稍后会用来生成二维码,方便手机扫码连接。
第四步:配置
密钥。服务器和每个客户端都各有一对密钥:私钥只保存在自己的设备上,公钥可以互 相交换。
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pub路由。服务器需要把隧道里的数据包转发到互联网。开启转发,并查看外部网络接口的 名称:
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl --system
ip route show default最后一条命令的输出里,dev后面写的就是接口名,通常是eth0或ens3。
IP地址与服务器配置文件。隧道内部使用私有网段10.8.0.0/24:服务器是10.8.0.1, 客户端依次是10.8.0.2、10.8.0.3……创建文件/etc/wireguard/wg0.conf,并把server.key和 client1.pub文件里的密钥填进去:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <server.key的内容>
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]
# client1
PublicKey = <client1.pub的内容>
AllowedIPs = 10.8.0.2/32如果外部接口名不是eth0,请把PostUp和PostDown两行里的名字换掉。然后启动服务器并开启自动启动:
systemctl enable --now wg-quick@wg0
wg show第五步:创建客户端配置
DNS。需要给客户端指定DNS服务器,否则域名解析请求可能会绕过隧道。任何公共DNS 都可以,比如1.1.1.1或9.9.9.9。创建文件client1.conf:
[Interface]
PrivateKey = <client1.key的内容>
Address = 10.8.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <server.pub的内容>
Endpoint = 服务器IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25AllowedIPs = 0.0.0.0/0意味着设备的全部流量都会走VPN。每增加一台设备,重复一次密钥生成步骤, 在服务器上添加一个新的[Peer]配置块并使用下一个地址,然后重启wg-quick@wg0。
第六步:连接设备
- Windows。从官网wireguard.com安装WireGuard,点击“从文件导入隧道”,选择client1.conf。
- macOS。Mac App Store里有WireGuard应用,导入方式一样,从文件导入即可。
- Android和iOS。从Google Play或App Store安装WireGuard,扫描二维码即可。用下面的命令可以直接在服务器终端里生成二维码。
qrencode -t ansiutf8 < client1.conf配置文件里包含私钥,所以只能通过安全渠道传输,设备连接好之后请从服务器上删除。
配置完成后检查VPN是否正常工作
- IP地址。打开任意一个IP查询服务:应该显示你的VPS的地址和所在数据中心的国家。
- 路由。在服务器上执行wg show:客户端应该有一行较新的latest handshake,传输的数据计数也应该在增长。
- 速度。对比一下开VPN和不开VPN的测速结果。损失10–20%属于远程服务器的正常范围。
- DNS泄漏。做一次DNS泄漏测试:服务器列表里不应该出现你家宽带运营商的DNS。
自建VPN服务器的安全
配置好VPN服务器还不够,还需要把它保护起来。带公网IP的服务器上线后,几分钟内就会被各种机器人开 始扫描。最基本的防护包括:
- 更新。开启安全补丁的自动安装:apt install unattended-upgrades。
- 防火墙。只放行SSH和WireGuard端口。在UFW里执行ufw allow 22/tcp、ufw allow 51820/udp、ufw route allow in on wg0 out on eth0,最后执行ufw enable。
- 保护SSH。用密钥登录,并在/etc/ssh/sshd_config里设置PasswordAuthentication no来关闭密码登录。额外可以用fail2ban加强防护。
- 备份。把/etc/wireguard目录保存到可靠的地方:有了它,在任何新VPS上几分钟就能把服务器恢复起来。
自建VPN要花多少钱
| 支出项 | 费用 | 说明 |
|---|---|---|
| VPS | 每月3–6美元 | 欧洲最低配置套餐,是主要支出 |
| 域名 | 每年0–15美元 | 不是必需的:可以直接用IP连接服务器 |
| 软件 | 免费 | WireGuard、OpenVPN和Linux都是免费发布的 |
| 其他 | 每月0–3美元 | 磁盘快照、备份、服务商提供的第二个IP |
总的算下来,自己动手大约每月4–8美元——再加上配置和维护花的时间。如果需要从境外支付海外主机费 用,要注意不少服务商不接受某些国家发行的银行卡。
能不能免费搭建VPN
- 家用服务器。如果你有公网IP就是免费的,但流量会从你所在的地址和国家发出,一旦停电VPN也就没了。
- 免费VPS。云服务商会提供试用期和免费套餐,但在时长、速度或流量上有限制,而且通常要求绑定银行卡。
- 局限性。这种方案适合做实验,但不适合作为每天都要依赖的VPN。
配置VPN时的常见问题
VPN能连上,但没有网络
几乎总是服务器上的路由出了问题:没开启数据包转发(ip_forward)、PostUp里写错了网络接口名,或 者UFW把转发挡住了。用ip route show default确认接口名,并检查是否有ufw route allow规则。如果 网站能用IP打开、但域名打不开,问题出在客户端的DNS上。
VPN速度低
检查一下到服务器的距离,以及VPS的处理器负载。常见原因是数据包大小:可以试着在客户端[Interface] 部分设置MTU = 1280。如果只在移动网络里速度低,可能是运营商的限制。更多建议见VPN为什么慢这篇文章。
连不上
如果wg show里没有latest handshake这一行,说明数据包根本没到达服务器。检查51820/udp端口是否 同时在UFW和服务商面板的防火墙里放行,检查Endpoint里的IP是否正确,服务器和客户端的公钥有没有 填反。需要注意的是:在流量过滤比较活跃的网络里(包括俄罗斯),WireGuard的握手特征容易被识 别,可能连接不稳定,这时就需要带伪装的协议。这套机制具体怎么运作,我们在VPN流量过滤是怎么运作的这篇文章 里有详细分析。
自建VPN还是现成的个人VPN
| 对比项 | 自建VPS | 现成的个人VPN |
|---|---|---|
| 部署难度 | 租用、SSH、配置网络和密钥 | 在应用里选个地点就行 |
| 运维 | 更新、防火墙、备份——都要自己来 | 由服务商完成 |
| 掌控程度 | 完全掌控 | 专属服务器和IP只属于你 |
| 拿到结果的速度 | 半小时到一整晚 | 几分钟 |
| 技术要求 | Linux、网络、安全知识 | 不需要 |
如果想弄明白VPN到底是怎么回事,自己动手部署服务器是很有价值的经历。如果只是想要一台带独立IP的 专属服务器、又不想自己维护,可以考虑MeduzaVPN:每个客 户都会在60多个地点中的一个拿到一台独立部署的服务器。上面从WireGuard到抗过滤的MeduzaVPN ULTRA,全部协议都已经就绪,更新和安全由服务方负责,手机、电脑、电视和路由器的应用也不需要手 动配置。订阅的前七天不收费。
常见问题
不租服务器能搭建VPN吗?
可以在家用电脑、迷你主机或路由器上搭建VPN。但这样需要运营商提供的公网(白)IP地址,或者做端口转发,而且流量会从你自己家里发出——没法换成其他国家。所以大多数情况下,自建VPN还是会选择在租来的VPS上搭建。
能免费搭建VPN吗?
软件本身是免费的:WireGuard和OpenVPN都是开源发布的。要花钱的是服务器。免费的VPS通常在时长、速度或流量上有限制,还要求绑定银行卡;而家用服务器则受限于你自己的网络和电力供应。
自建VPN需要独立IP吗?
需要,服务器要有一个公网IPv4地址,你的设备才能连上它。普通VPS已经自带这样一个地址,而且只属于你的服务器。这正是自建VPN的一大优势:这个地址不会和成千上万个陌生用户共用。
自建VPN能连多少台设备?
WireGuard不限制客户端数量:每台设备都有自己的一对密钥和内网地址。在1 vCPU、1 GB内存的最小VPS上,同时接5–10台设备完全没问题,再多就要看带宽和处理器的极限了。
手机能用自建VPN吗?
可以。官方WireGuard应用有iOS和Android版本:配置可以通过文件导入,也可以扫描服务器用qrencode命令生成的二维码。
自建VPN服务器需要持续维护吗?
需要,不过工作量不大:每一两周装一下系统更新,留意VPS的续费日期,确认防火墙和SSH是安全的。如果运营商换了地址,或者服务器宕机,恢复工作要自己来做。
自建VPN服务器放在哪里比较好?
离自己和常用服务越近越好:距离越短,延迟越低。对俄罗斯和独联体用户来说,通常会选芬兰、荷兰、德国或波兰。如果需要访问某个特定国家的资源,就把服务器放在那个国家。
自建VPN该选哪个协议?
对自己动手配置来说,WireGuard最简单也最快。OpenVPN更灵活,支持TCP传输,但速度较慢、配置也更复杂。IKEv2/IPsec的优势是iOS和macOS自带支持。在流量过滤比较活跃的网络里,这三种协议都容易被识别,这时VLESS或MeduzaVPN ULTRA这类带伪装的协议会更稳定。
自建VPN服务器要点总结
- 自己搭建VPN可以在租来的VPS上用WireGuard完成:密钥、服务器配置、客户端配置——连接就绪了。
- 自己动手配置需要Linux和网络知识,还需要定期维护服务器。
- 现成的个人VPN适合看重快速上手、又想要一台不用自己管理的专属服务器的人。
