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

同步来源:树洞剪藏 源站剪藏 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