跳到主内容

WireGuard Site-to-Site 教程:两地局域网互通与异地组网配置(NAS/办公/家庭网络)

想把家里、公司或异地办公室的局域网打通?这篇教程教你使用 WireGuard 搭建 Site-to-Site VPN,实现两地内网互联。文章包含完整的 WireGuard 配置、密钥生成、IP 转发、静态路由、MTU 优化以及常见故障排查,适用于 NAS、远程办公、监控访问、Plex、Jellyfin 等多种场景,支持 Ubuntu、Debian、Rocky Linux 等系统。

GSProber · 主机测评编辑1 阅读
想把家里、公司或异地办公室的局域网打通?这篇教程教你使用 WireGuard 搭建 Site-to-Site VPN,…

前言:什么场景需要 Site-to-Site?

Site-to-Site 就是把两处物理位置的局域网打通,让它们像在同一个局域网里一样互相访问。

典型场景:

  • 家里 NAS 和公司服务器互通,在家远程调公司文件不用穿透内网
  • 两地办公室共享打印机、内网系统
  • 父母家的监控摄像头,你在自己家就能看
  • 给朋友的 Plex / Jellyfin 开个专用通道,不走公网暴露端口

WireGuard 做 Site-to-Site 比传统 IPsec / OpenVPN 简单得多——配置短、握手快、隧道稳定。


架构总览

YAML
┌─────────────────────┐          ┌─────────────────────┐
  站点 A(你家)         Internet   站点 B(公司/父母家) 
                                                      
  内网: 192.168.1.0/24│  ◄════►    内网: 192.168.2.0/24│
  WG IP: 10.8.0.1       WireGuard   WG IP: 10.8.0.2     
                        隧道                          
  [路由器/树莓派]                  [路由器/树莓派]      
└─────────────────────┘          └─────────────────────┘
  • 站点 A 内网网段:192.168.1.0/24(你家路由器的局域网)
  • 站点 B 内网网段:192.168.2.0/24(对方局域网)
  • VPN 内网网段10.8.0.0/24(WireGuard 隧道内部地址)
  • 每个站点有一台设备充当「网关」,运行 WireGuard 并转发对端内网的流量

第一步:两端安装 WireGuard

在两台充当网关的设备上安装 WireGuard:

Bash
# Debian / Ubuntu
sudo apt update && sudo apt install wireguard -y

# CentOS / Rocky
sudo yum install epel-release -y
sudo yum install wireguard-tools -y

两台都要装。


第二步:生成密钥对

两台设备上分别执行:

Bash
# 生成私钥
wg genkey | sudo tee /etc/wireguard/privatekey

# 生成公钥
sudo cat /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

# 设置权限
sudo chmod 600 /etc/wireguard/privatekey

记下各自的公钥(等会要用):

Bash
# 站点 A
cat /etc/wireguard/publickey   # 记作 PUBKEY_A

# 站点 B
cat /etc/wireguard/publickey   # 记作 PUBKEY_B

第三步:配置站点 A(你家)

编辑站点 A 的 WireGuard 配置文件:

Bash
sudo nano /etc/wireguard/wg0.conf

写入:

INI
[Interface]
Address = 10.8.0.1/24
PrivateKey = <站点A的私钥>
ListenPort = 51820

# 开启转发
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# 站点 B
PublicKey = <PUBKEY_B>
AllowedIPs = 10.8.0.2/32, 192.168.2.0/24

关键解释:

字段 含义
Address wg0 接口的本端 IP
PostUp / PostDown 启动/停止时自动配置 iptables 转发和 NAT,确保对端能访问本端内网
AllowedIPs 10.8.0.2/32 允许对端 WG IP 通信;192.168.2.0/24 转发对端内网流量

eth0 换成你设备实际的外网网卡名,用 ip addr 查看。


第四步:配置站点 B(对方)

编辑站点 B 的配置:

Bash
sudo nano /etc/wireguard/wg0.conf

写入:

INI
[Interface]
Address = 10.8.0.2/24
PrivateKey = <站点B的私钥>
ListenPort = 51820

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# 站点 A
PublicKey = <PUBKEY_A>
Endpoint = <站点A的公网IP>:51820
AllowedIPs = 10.8.0.1/32, 192.168.1.0/24
PersistentKeepalive = 25

和站点 A 的区别:多了 EndpointPersistentKeepalive

Endpoint对端的公网 IP。如果只有一方有公网 IP,有公网 IP 的那端不填 Endpoint,没公网 IP 的那端填对方的公网 IP。PersistentKeepalive 保持 NAT 映射不过期,NAT 后的一方建议加。


第五步:开启 IP 转发

两台设备都要执行:

Bash
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

第六步:启动隧道

两台设备上分别执行:

Bash
sudo wg-quick up wg0

设为开机自启:

Bash
sudo systemctl enable wg-quick@wg0

第七步:验证连通性

在站点 A 的网关设备上:

Bash
# ping 对端 WG 地址
ping 10.8.0.2

# ping 对端内网的一台设备(比如 192.168.2.1 是对方路由器)
ping 192.168.2.1

在站点 A 的普通电脑上(不是网关),直接 ping 站点 B 的内网设备:

Bash
ping 192.168.2.x

如果 ping 不通但网关设备上能 ping 通,说明普通电脑不知道 192.168.2.0/24 该往哪走。需要加一条静态路由。


第八步:添加静态路由(让内网其他设备也能访问)

方法一:在主路由器上添加(推荐)

登录站点 A 的主路由器管理页面,添加一条静态路由:

参数
目的网络 192.168.2.0
子网掩码 255.255.255.0
网关 192.168.1.x(运行 WireGuard 的那台设备的局域网 IP)

这样全家的设备都能自动访问站点 B 的内网。站点 B 的主路由器同理添加回程路由。

方法二:逐台设备手动添加(不推荐,但不需要动路由器)

在需要访问对端内网的设备上手动加路由:

Bash
# Windows(管理员 cmd)
route ADD 192.168.2.0 MASK 255.255.255.0 192.168.1.x -p

# macOS / Linux
sudo route add -net 192.168.2.0/24 192.168.1.x

性能与优化

MTU 调优

默认 MTU 1420 在大多数网络下没问题。如果发现大文件传输断断续续,降低 MTU:

在两端的 [Interface] 下各加一行:

INI
MTU = 1380

再降到 1280 如果还不行。

查看隧道状态

Bash
sudo wg show

输出会显示每端的最新握手时间、收发流量、是否在线。如果一端的 latest handshake 超过 2 分钟,说明隧道断了。


排错速查

现象 检查项
网关能 ping 对端 WG IP,但 ping 不通对端内网 IP 转发没开(sysctl net.ipv4.ip_forward);iptables FORWARD 没放行
普通电脑能 ping WG IP,ping 不通内网 路由器没加静态路由;或对端 iptables NAT 规则没生效
隧道间歇性断开 NAT 端没加 PersistentKeepalive,或运营商 UDP 限流
端口不通 两端防火墙/安全组没放行 51820/UDP

小结

三篇教程下来,你已经可以:

  1. 一键搭 WireGuard → 个人翻墙、远程办公
  2. 配置分流 → 国内直连 + 国外 VPN,速度和流量兼顾
  3. Site-to-Site 组网 → 多地内网互通,NAS、监控、服务器自由访问

WireGuard 生态还在快速发展,这三个场景足够覆盖 90% 的个人和小团队需求。

主机评测如果你经常关注高端 VPS,那大概率听说过 DMIT。这家和很多 VPS 商家最大的不同在于,它并不是单纯的代理销售,…

DMIT怎么样?2026最新DMIT VPS评测:香港CN2 GIA仅39ms,AMD EPYC服务器,香港/东京/洛杉矶

如果你经常关注高端 VPS,那大概率听说过 DMIT。这家和很多 VPS 商家最大的不同在于,它并不是单纯的代理销售,而是拥有自己的 ASN、IP 资源和网络,属于上游运营商之一。目前 DMIT 提供香港、东京、洛杉矶三个数据中心,线路分为 Premium(CN2 GIA)、Eyeball(三网 CMI)和 Tier 1(国际 BGP)三个系列。其中香港 Premium 一直都是国内用户讨论最多的产品,电信双向 CN2 GIA,国内平均延迟约 39ms,整体稳定性和晚高峰表现都属于第一梯队,非常适合建站、远程办公、直播推流、企业应用以及跨境业务。

165 阅读

主机评测最近重新把 ZoroCloud 官网、产品页和下单页面全部核对了一遍,发现很多人以为它只有新加坡住宅双 ISP,其实产…

ZoroCloud怎么样?2026最新测评:住宅双ISP、原生IP、CN2 GIA、9929、CMIN2云服务器与独立服务器选购指南

最近重新把 ZoroCloud 官网、产品页和下单页面全部核对了一遍,发现很多人以为它只有新加坡住宅双 ISP,其实产品线比想象中丰富得多。目前官网公开提供美国、香港、日本、韩国、英国、德国、印尼、马来西亚、新加坡等多个云服务器地区,同时还有美国洛杉矶、香港、日本、韩国、台北、越南、柬埔寨、泰国等独立服务器可选。文章详细整理了各地区套餐、价格、配置、测试 IP、线路类型以及适合的使用场景,并对住宅双 ISP、原生双 ISP、CN2 GIA、9929、CMIN2、4837、BGP 等热门线路进行了对比分析。

294 阅读

主机评测很多朋友都知道 RackNerd 便宜,但官网机房那么多,到底哪个地区值得买?洛杉矶、芝加哥、纽约怎么选?AMD NV…

RackNerd怎么样?2026最新测评:$21.99/年起,KVM+SSD RAID10+1Gbps,附全球机房测速和选购建议

很多朋友都知道 RackNerd 便宜,但官网机房那么多,到底哪个地区值得买?洛杉矶、芝加哥、纽约怎么选?AMD NVMe 和普通 SSD 有什么区别?这次专门核对了 RackNerd 官网、实际订单页面以及官方 Looking Glass 测速入口,并结合各机房线路、性能和流媒体解锁表现,整理出了最新套餐和购买建议。目前最低只要 21.99 美元/年,采用 KVM 虚拟化、Pure SSD RAID10、1Gbps 网络,适合 WordPress 建站、博客、小项目、Docker 服务、测试环境和海外业务。

245 阅读

常见问题

WireGuard Site-to-Site组网需要几台设备安装WireGuard?

两个站点各需要一台设备(路由器或树莓派等)作为网关运行WireGuard,比如站点A(家里,内网192.168.1.0/24)和站点B(公司/父母家,内网192.168.2.0/24),通过VPN网段(如10.8.0.0/24)把两地网关连接起来。

只有一方有公网IP时,Endpoint该怎么配置?

有公网IP的一端不需要填写Endpoint,没有公网IP的一端在自己的Peer配置里填对方的公网IP和端口(如<站点A公网IP>:51820),同时NAT后的一方建议加上PersistentKeepalive = 25保持NAT映射不过期。

配置好Site-to-Site后网关能ping通对端内网,但家里其他设备ping不通怎么办?

这是因为普通设备不知道对端网段该往哪走,需要在主路由器上添加一条静态路由,把目的网络指向对端内网网段(如192.168.2.0/255.255.255.0),下一跳网关设为运行WireGuard的那台设备的局域网IP,这样全家设备都能自动访问对端内网。

大文件传输经常断怎么办?

可能是MTU问题,默认MTU 1420在大多数网络下没问题,如果传输不稳定,可以在两端[Interface]下加一行MTU = 1380,还不行可以再降到1280。

评价与回复

无需登录;审核通过后公开显示。