树洞剪藏#剪藏#树洞剪藏

Wireguard组网 - 通过Wireguard将公网服务器和家庭服务器并入同一内网

2025 年 4 月 8 日1 分钟
分享Twitter / XTelegram微博

同步来源:树洞剪藏 源站剪藏 ID:535 原文地址:https://www.nodeseek.com/post-293116-1

打开原文 · 打开源站剪藏快照


Wireguard组网 - 通过Wireguard将公网服务器和家庭服务器并入同一内网

NodeSeek beta 日常 技术 情报 测评 交易 拼车 推广

Wireguard组网 - 通过Wireguard将公网服务器和家庭服务器并入同一内网

Akvicor Lv 3 楼主 19days ago edited 18days ago in 技术 #0

这两天一直在研究怎么安全高性能的远程挂载,发现基本都在推荐Wireguard+NSF, 所以研究了一下把完整的过程记录下载

博客

Wireguard组网

NFS挂载

注意

Wireguard有加密但无混淆,特征较为明显,谨慎用于其他用途

Wireguard使用UDP传输,部分云服务商限制了UDP会导致性能较差

由于海外和国内网络互联较差, 使用了一个带优化线路的中转节点来中转国内和海外服务器, 降低连接延迟, 提高传输速度

特性

ListenPort 监听和发送端口的问题

当给Interface配置ListenPort之后,这个端口既承担了监听端口的功能,又承担了对外发送端口的功能,这会导致一些问题

当我给家里的各个设备(经过NAT后由同一个公网IP发送)分配好IP, 并且每台设备ListenPort都相同。然后就出问题了

家里的设备互相能访问,那些配置了IP和端口的Peer也能直连访问,但是中转服务器和那些需要中转的服务器就访问不了了(有时候家里部分设备能访问,但我猜可能是他们提前把端口抢过来了)

然后通过 wg show 查看中转,发现他们连接到中转服务器的端口就是ListenPort监听的端口,也就是说他们 接收和发送都用的同一个UDP端口 ,这可能会导致端口冲突

因此,要么NAT下设备 不配置ListenPort , 要么 配置不同的ListenPort

安装

apt install -y wireguard

生成密钥

wg genkey | tee privatekey | wg pubkey > publickey

启动

启动

wg-quick up wg0

开机启动

systemctl enable wg-quick@wg0

查看状态

wg show

开放防火墙(如果没有启用防火墙则跳过)

如果想通过内网IP来访问, 那么需要在防火墙中配置允许这个内网IP段访问

通过ufw开放

ufw allow from 10.0.0.0/16 to any comment wg0

测试

ping 10.0.0.1 ping 10.0.0.2 ping 10.0.0.100 ping 10.0.0.3 ping 10.0.0.4

配置文件

/etc/wireguard/wg0.conf

示例服务器

ABC在公网

DE在某个NAT下的内网(如家里的设备

AB互相直连访问

DE互相直连访问

AB和DE互相通过C中转访问

服务器 公网/NAT IP 内网 WireGuard IP

A X.X.X.A 10.0.0.1

B X.X.X.B 10.0.0.2

C X.X.X.C 10.0.0.100

D X.X.X.D 10.0.0.3

E X.X.X.E 10.0.0.4

A - 公网服务器

vim /etc/wireguard/wg0.conf

直连C, 同时将 10.0.0.0/16 网段的请求转发到C

直连B

通过C中转连接DE

[Interface] PrivateKey = Address = 10.0 . 0.1 / 16 ListenPort = 51820

#############

center

#############

[Peer] PublicKey = Endpoint = X.X.X.C: 51820 AllowedIPs = 10.0 . 0.0 / 16 PersistentKeepalive = 15

#############

direct

#############

[Peer] PublicKey = Endpoint = X.X.X.B: 51820 AllowedIPs = 10.0 . 0.2 / 32 PersistentKeepalive = 15

B - 公网服务器

vim /etc/wireguard/wg0.conf

直连C, 同时将 10.0.0.0/16 网段的请求转发到C

直连A

通过C中转连接DE

[Interface] PrivateKey = Address = 10.0 . 0.2 / 16 ListenPort = 51820

#############

center

#############

[Peer] PublicKey = Endpoint = X.X.X.C: 51820 AllowedIPs = 10.0 . 0.0 / 16 PersistentKeepalive = 15

#############

direct

#############

[Peer] PublicKey = Endpoint = X.X.X.A: 51820 AllowedIPs = 10.0 . 0.1 / 32 PersistentKeepalive = 15

C - 公网服务器 - 中转节点

vim /etc/wireguard/wg0.conf

中转ABDE节点

#############

center

#############

C

[Interface] PrivateKey = Address = 10.0 . 0.100 / 16 ListenPort = 51820

PostUp = sysctl -w net.ipv4.ip_forward= 1 ; iptables -A FORWARD -i wg0 -j ACCEPT PostDown = sysctl -w net.ipv4.ip_forward= 0 ; iptables -D FORWARD -i wg0 -j ACCEPT

#############

direct

#############

#############

redir

#############

A

[Peer] PublicKey = AllowedIPs = 10.0 . 0.1 / 32

B

[Peer] PublicKey = AllowedIPs = 10.0 . 0.2 / 32

D

[Peer] PublicKey = AllowedIPs = 10.0 . 0.3 / 32

E

[Peer] PublicKey = AllowedIPs = 10.0 . 0.4 / 32

D - NAT下服务器

vim /etc/wireguard/wg0.conf

直连C, 同时将 10.0.0.0/16 网段的请求转发到C

直连E

通过C中转连接AB

[Interface] PrivateKey = Address = 10.0 . 0.3 / 16 ListenPort = 51820

#############

center

#############

[Peer] PublicKey = Endpoint = X.X.X.C: 51820 AllowedIPs = 10.0 . 0.0 / 16 PersistentKeepalive = 15

#############

direct

#############

[Peer] PublicKey = Endpoint = X.X.X.E: 51821 AllowedIPs = 10.0 . 0.4 / 32 PersistentKeepalive = 15

E - NAT下服务器

vim /etc/wireguard/wg0.conf

直连C, 同时将 10.0.0.0/16 网段的请求转发到C

直连D

通过C中转连接AB

[Interface] PrivateKey = Address = 10.0 . 0.4 / 16 ListenPort = 51821

#############

center

#############

[Peer] PublicKey = Endpoint = X.X.X.C: 51820 AllowedIPs = 10.0 . 0.0 / 16 PersistentKeepalive = 15

#############

direct

#############

[Peer] PublicKey = Endpoint = X.X.X.D: 51820 AllowedIPs = 10.0 . 0.3 / 32 PersistentKeepalive = 15

个人博客 - GitHub

9 0 16 引用 回复

1 2 3

pepper 19days ago #1

支持教程贴

0 0 引用 回复

mengta 19days ago #2

udp传输有点不稳,可以参照我的博客用openvpn做tcp传输(可惜openvpn太臃肿了)

导航站 —— 个人博客 —— 个人云盘 —— 个人图床 —— 联系我

0 0 引用 回复

Redwind 19days ago edited 19days ago #3

@mengta #2 发布于2025/3/19 13:52:48

udp传输有点不稳,可以参照我的博客用openvpn做tcp传输(可惜openvpn太臃肿了)

可以试试easytier

0 0 引用 回复

mengta 19days ago #4

@Redwind #3 有时间研究研究

导航站 —— 个人博客 —— 个人云盘 —— 个人图床 —— 联系我

0 0 引用 回复

Wa1ter 19days ago #5

帮忙顶一下

0 0 引用 回复

Akvicor 楼主 19days ago #6

@mengta #2 主要普通的VPN貌似墙的有些快,我现在也正在测试Wireguard咋样

个人博客 - GitHub

0 0 引用 回复

mengta 19days ago #7

@Akvicor #6

导航站 —— 个人博客 —— 个人云盘 —— 个人图床 —— 联系我

0 0 引用 回复

Akvicor 楼主 19days ago #8

@mengta #7 还有一个是Wireguard可以很方便配置部分服务器直连,不走中转

个人博客 - GitHub

0 0 引用 回复

cache0928 19days ago #9

mark一下

0 0 引用 回复

lisakhan 19days ago #10

赞一个原创分享

站内私信

剩余价值计算器

0 0 引用 回复

1 2 3

内容 预览 对照

支持 markdown语法

鼓励友善发言,禁止人身攻击

xxxxxxxxxx

1

1 ​

AC娘

洋葱头

小黄鸡

App

发布评论(Ctrl+Enter)

88

等级 Lv 4 鸡腿 2456 关注 0 回复 0 我 0

主题帖 11 评论数 345 粉丝 2 收藏 259 私信 0 发帖

快捷功能区 推荐阅读 管理记录 幸运抽奖 邀请好友 合作商家 友站链接

所有版块 日常 技术 情报 测评 交易 曝光 拼车 生活 贴图 推广 内版 Dev 无意义 沙盒

📈用户数目📈

目前论坛共有29993位seeker

🎉欢迎新用户🎉

coulsontl

enforcer0165

xytxx

ssr0826

peyet3837e66

jone123-

ronronlay

牵着牛逛大街

相关网站 LowEndTalk LowEndSpirit HostLoc ServerHunter

站内导航 关于本站 隐私协议 RSS订阅 sitemap

商业推广 商家申请规则 Premium Provider 合作商家展示

其他平台 电报频道 电报群组

联系我们

Copyright © 2022 - 2025 All rights Reserved

相关文章