WireGuard+FRP回家教程 - 搞七捻三 - LINUX DO

同步来源:树洞剪藏 源站剪藏 ID:583 原文地址:https://linux.do/t/topic/766944
WireGuard+FRP回家教程 - 搞七捻三 - LINUX DO
跳到主要内容
话题
我的帖子
My messages
关于
即将到来的活动
更多
外部链接
2048
Status
T-Shirt
Connect
Webmail
Channel
Telegram
类别
开发调优
资源荟萃
文档共建
前沿快讯
网络记忆
福利羊毛
搞七捻三
运营反馈
深海幽域
所有类别
标签
抽奖
公告
精华神帖
快问快答
人工智能
所有标签
频道
常规频道
直接消息
聊天
Default
真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《常见问题解答》
❤️ 再忍不住,也不要做这种事啊 ❤️
WireGuard+FRP回家教程
搞七捻三
网络安全 , VPS , 软路由
1.2k
浏览量
56
赞
2
链接
29
用户
9
5
4
2
2
阅读时间
4 分钟
7月 4 日
1 / 49
7月 4 日
返回
20 分钟
vector
1 5 天
家宽无公网IP也可以出门在外畅联家中网络
第一步:
在VPS上部署服务端FRPS,docker-compose.yaml内容参考如下
services: frps: restart: always network_mode: host volumes:
- './frps.toml:/etc/frp/frps.toml' container_name: frps image: snowdreamtech/frps environment: TZ: Asia/Shanghai
frps.toml文件填写如下
[common] #frp 监听端口,与客户端绑定端口 bind_port = 5443 kcp_bind_port = 5443 #dashboard用户名 dashboard_user = vector #dashboard密码 dashboard_pwd = password #dashboard端口,启动成功后可通过浏览器访问如http://ip:9527 dashboard_port = 9527 #设置客户端token,对应客户端有页需要配置一定要记住,如果客户端不填写你连不上服务端 token = xxxxxxxxxx
在vps上开放端口
iptables -I INPUT -p udp --dport 51820 -j ACCEPT iptables -I INPUT -p tcp --dport 51821 -j ACCEPT
第二步:
在家里NAS部署客户端FRPC,docker-compose.yaml内容参考如下
services: frpc: restart: always network_mode: host volumes:
- './frpc.toml:/etc/frp/frpc.toml' container_name: frpc image: snowdreamtech/frpc environment: TZ: Asia/Shanghai
frpc.toml文件参考如下:
[common] server_addr = vps的ip server_port = 5443 token = xxxxxxxxxx
代理1: 穿透 WireGuard 的 UDP 数据端口
[wg-data] type = udp local_ip = 127.0 . 0.1 local_port = 51820 remote_port = 51820
代理2: 穿透 wg-easy 的 TCP Web UI 端口
[wg-ui] type = tcp local_ip = 127.0 . 0.1 local_port = 51821 remote_port = 51821
第三步:
在家中NAS部署WireGuard,以wg-easy为例
volumes: etc_wireguard: # 持久化存储 WireGuard 配置
services: wg-easy: image: ghcr.io/wg-easy/wg-easy:latest # 使用 latest 或指定稳定版本,如 :14 container_name: wg-easy environment:
--- 核心配置 ---
!!!重要:这里填写你的 frp 公网服务器的 IP 地址 !!!
这是客户端配置文件中 Endpoint 的地址
- WG_HOST=vps的ip
!!!重要:wg-easy Web UI 的管理员密码哈希 !!!
强烈建议修改默认密码 'foobar123'
可以使用 docker run --rm ghcr.io/wg-easy/wg-easy:latest --pw your_strong_password 生成哈希
或者使用在线 bcrypt 生成器 (注意 rounds=5, 示例为 'foobar123' 的哈希)
- PASSWORD_HASH=$2y$05$6n2x0AdkZ5lJ8kHufbXrr.dU.UHMBh04HKYXoPb0w484wN75877Eu # (需要双 $$ 符号)
--- 网络配置 ---
WireGuard 服务监听的 UDP 端口 (容器内)
- WG_PORT=51820
wg-easy Web UI 监听的 TCP 端口 (容器内)
- PORT=51821
VPN 客户端分配的 IP 地址范围 (选择一个未使用的私有网段)
- WG_DEFAULT_ADDRESS=10.8.0.x # 客户端将获取 10.8.0.2, 10.8.0.3 ...
客户端使用的 DNS 服务器 (可使用公共 DNS 或内网 DNS)
- WG_DEFAULT_DNS=114.114.114.114, 8.8 .8 .8
!!!重要:客户端允许访问的 IP 范围 !!!
决定了哪些流量会通过 VPN 隧道
10.8.0.0/24: 允许客户端之间互相访问 (如果需要)
192.168.125.0/24: 允许客户端访问 test 服务器所在的局域网
- WG_ALLOWED_IPS=10.8.0.0/24, 192.168 .125 .0 /24
--- 可选配置 ---
保持连接,防止 NAT 超时断开 (单位: 秒)
- WG_PERSISTENT_KEEPALIVE=25
Web UI 语言 (支持 en, chs 등)
- LANG=chs
启用/禁用 Web UI 中的流量统计图表 (true/false)
- UI_TRAFFIC_STATS=true
在 Web UI 中允许通过 HTTP 访问,如果前面没有反向代理做HTTPS,则需要设置为 true
生产环境强烈建议配合反向代理使用 HTTPS
- INSECURE=true
volumes:
将 WireGuard 配置持久化到宿主机
- etc_wireguard:/etc/wireguard ports:
将宿主机的端口映射到容器端口
格式: "宿主机端口:容器端口/协议"
- "51820:51820/udp" # WireGuard 数据端口 (与 WG_PORT 一致)
- "51821:51821/tcp" # wg-easy Web UI 端口 (与 PORT 一致) restart: unless-stopped cap_add:
赋予容器必要的网络管理权限
- NET_ADMIN
- SYS_MODULE sysctls:
启用 IP 转发,允许 VPN 客户端通过此服务器访问其他网络
- net.ipv4.ip_forward=1
确保 WireGuard 的网络标记正常工作
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.forwarding=1 # 如果需要 IPv6 支持,取消注释
第四步:
那么在外面回家时可以使用WireGuard客户端进行连接,下面以loon为例:
首先在wireguard的web界面创建配置文件,比如ios-loon
image 1587×948 64.3 KB
loon→仪表→节点→右上角+→本地节点→扫一扫,扫面web界面的二维码即可添加,别名比如:HomeWG
image 627×1379 39.2 KB
在loon配置文件中[Proxy Group]位置增加下面内容
回家 = ssid,defaul=HomeWG,cellular=HomeWG,”家里的wifi名称”=DIRECT
⚠️为了安全,建议wg-easy开启密码,操作如下:
wg-easy得docker-compose.yaml文件中增加环境变量 PASSWORD_HASH ,在NAS终端运行
docker run ghcr.io/wg-easy/wg-easy:14 node -e 'const bcrypt = require("bcryptjs"); const hash = bcrypt.hashSync("YOUR_PASSWORD", 10); console.log(hash.replace(/$/g, "$$$$"));'
YOUR_PASSWORD 替换为自己想要设置的密码,拷贝输出结果并将其添加到 PASSWORD_HASH 环境变量中。
heart
+1
36
回复
L站福利及项目信息汇总【综合篇】(不定时更新)
1.2k
浏览量
56
赞
2
链接
29
用户
9
5
4
2
2
阅读时间
4 分钟
汐屿汐屿嘻 XiYu-Link 文化宣导员
5 天
推荐一个二次开发的wireguard服务端, https://github.com/Safe3/firefly
1 个回复
4
回复
vector
跳到帖子
汐屿汐屿嘻:
GitHub - Safe3/firefly: Firefly, the easiest using and high performance WireGuard VPN server.
UI颜值在线,好看
vector 汐屿汐屿嘻 5 天
汐屿汐屿嘻:
GitHub - Safe3/firefly: Firefly, the easiest using and high performance WireGuard VPN server.
UI颜值在线,好看
1
回复
大帅哥 handsome 种子用户
5 天
感谢大佬教程
1
回复
雙飛入洗衣液 rio100 一元复始
5 天
收藏一下,哪天有心情捣鼓捣鼓
1
回复
xtfj1989
5 天
感谢大佬, 我刚放弃了 wireguard的方案,之前调通了, 后面换VPS 好像又被阻断了, 具体运营商会不会阻断, 不确定,
后面又尝试 加一层 udp2raw 转来转去 没搞成功.
最近换了 openvpn 方案.
室外 android → VPS frp 转发 udp → 室内 immortalWRT路由器 (openVPN server)
4 个回复
1
回复
方块 Throttle 无所不知
5 天
学习一下
1
回复
vector xtfj1989 5 天
使用一段时间看看,要是阻断就不好玩了
1 个回复
1
回复
momo521
5 天
mark一下
1
回复
lll dustweb 种子用户
5 天
没有 nas
1
回复
xtfj1989
vector 5 天
xtfj1989:
p → 室内 im
国内没应用起来的原因是 wireguard 特征明显 被宽带商Q
不过确实配置简单好用…
1
回复
XHQ666
xtfj1989 5 天
WireGuard 套 VLESS XTLS Reality 就行了
3
回复
XHQ666
xtfj1989 5 天
如果没有组网需求,可以直接用 VLESS XTLS Reality
1
回复
我们已经有一段时间没有看到 lance 了 — 他/她上次发帖是 10 个月前。
lance lance52587
4 天
为什么不vps上直接部署wg-easy
1 个回复
1
回复
🍏네로🍎 nerokim
4 天
感谢分享
回复
fx318 文化宣导员
4 天
好 教程
回复
半口小希 aphoba 文化宣导员
4 天
感谢佬友分享
回复
QJAG QJAG1024
4 天
唔其实
frp不管是客户端还是服务端的dashboard其实都有点食之无味弃之可惜
唯一能干的事情似乎只是看连接状态的简单统计 frpc还多一个(其实也没什么用的)编辑配置文件的工具 仅此而已了)
所以我平时都懒得配置面板)
回复
sanduo hksanduo
3 天
可以尝试一下headscale或者netbird,感觉方案要简单许多,网络带宽不会受限VPS带宽
1 个回复
回复
小坏 arick
3 天
直接frpc ssh 不香吗 如果需要家里的网路 v2 起码不会被封端口
回复
moon wud1000 蛇来运转
3 天
感谢大佬
回复
仲姎欽顁樭夲琺 Denial3938
3 天
就是公网映射把家里的wg端口映射出去对吗?
1 个回复
回复
imyip 大预言家
3 天
只是用frp进行握手吗,连接有可能是走穿透吗
回复
wxyzh wuzh 仲姎欽顁樭夲琺 3 天
对,lz是因为家宽无公网IP,所以采用的frp.
有公网IP的话直接开端口就好,省内相同ISP的话问题不大。
但是移动端的tun模式性能不高
1 个回复
回复
仲姎欽顁樭夲琺 Denial3938 wxyzh 3 天
我现在有一个问题,咱这边群租房也是没有公网的是,但是有一些应用程序的传输协议是需要公网的比方说 bittorrent 需要公网进行p2p连接来提高下载速度 这样的话我需要怎么做呢
1 个回复
回复
wxyzh wuzh 仲姎欽顁樭夲琺 3 天
不是太懂这个,一般都是UPnP
也可以测测NAT类型 GitHub - HMBSbige/NatTypeTester: 测试当前网络的 NAT 类型(STUN)
1 个回复
1
回复
仲姎欽顁樭夲琺 Denial3938 wxyzh 3 天
这会儿到底属于什么样的网络知识需要怎么学习?有没有什么相关的教材和课程可以推荐的。
1 个回复
回复
wxyzh wuzh 仲姎欽顁樭夲琺 3 天
路由和交换
1 个回复
回复
vector lance 3 天
wd 是点对点,如果是部署在 vps 上,那么只能手机跟 vps 连,为了手机回家,所以 wd 部署在家里
1 个回复
回复
vector sanduo 3 天
一般家宽上传是 40m,vps 不能比这还小吧,
1 个回复
回复
仲姎欽顁樭夲琺 Denial3938 wxyzh 3 天
那我要去学习这个知识的话,是不是需要找一台openwrt虚拟机,然后把这个虚拟机变成网关,再给这个虚拟网关建立一个虚拟机里的网络反复进行调试
1 个回复
回复
wxyzh wuzh 仲姎欽顁樭夲琺 3 天
ccna的内容,对应的华为也有,入门的话从tcpip开始简单了解下就好,实验的话OpenWrt还不行,但是可以用网络模拟器
回复
wxyzh wuzh vector 3 天
一般是部署在家里,frp的话需要非常优质的线路
回复
lance lance52587 vector 3 天
vps没有公网ip吗还是啥意思。我是阿里云部署的wg-easy,其他地方都装wg客户端,只是不能点对点只能中继
2 个回复
回复
vector lance 3 天
具体如何中继,分享下,目前 wg 配合 frp 能够同时挂着代理软件实现无感回家
回复
vector lance 3 天
家里翻墙,手机也翻墙,相当于 vps ip 走的代理 一般的甲骨文 vps 体验还算可以,就是怕运营商阻断
回复
Vincent Li Loso
1 天
感谢佬的分享,请教下有没有对比过zerotier和wireguard哪个更好些呢?
1 个回复
回复
vector Vincent Li 20 小时
wg是点对点,zerotier是安装app都可以互连,看使用场景
1 个回复
回复
warming Wive
20 小时
和直接用frp的效果有啥区别吗,德国nc机器太远了是不是没法搞
回复
Horizonl
13 小时
以后折腾试试
回复
猎隼丶止戈 nn200433
12 小时
easytier.cn
EasyTier
EasyTier official
全平台,开源。可以用这个代替 WireGuard+FRP,也可以用easytier + WireGuard
image 853×1081 122 KB
image 772×1082 56.3 KB
1 个回复
回复
Vincent Li Loso
vector 10 小时
访问速度和稳定性方面有区别吗?目前用zt感觉还可以,正犹豫要不要也试下wg
1 个回复
回复
我们已经有一段时间没有看到 Soso 了 — 他/她上次发帖是 6 个月前。
Soso Leky
10 小时
有空参考一下
回复
小新 wangyelinux
10 小时
感谢佬友分享
回复
warming Wive 猎隼丶止戈 10 小时
我用这个,卡白屏连不上
回复
vector Vincent Li 29 分钟
取决于 vps 连通性如何
回复
简单点 w92139
29 分钟
感谢佬友分享!学习了。
1
回复
纸飞机 rookis1 种子用户
22 分钟
wireguard 用一段时间就会被封端口,很烦。
回复
老男熊 bearrf
20 分钟
收藏学习了,感谢分享!
回复
此话题将在最后一个回复的1 个月后关闭。
分享
加入书签
举报
回复
已取消置顶
常规
您会在别人 @ 您或回复您时收到通知。
👕 岂曰无衣?与子同袍 👕️
推荐
相关
新话题和未读话题
话题列表,带有按钮的列标题可以排序。
话题
回复
浏览量
活动
【飞向未来】新游发布,哦耶,肝了两周,终于可以玩了 82
搞七捻三
游戏
1.1k
15.1k
6 天
从注册到免税和合约,netcup个人注册图文记录(附注意事项与全年促销总结,补充本次0.11欧每月的de域名注册记录) 35
搞七捻三
VPS , 域名
105
1.3k
8 天
市面上五十多家密码管理器 (含浏览器) 15
搞七捻三
网络安全
43
1.3k
17 天
备案站也敢DDOS,看我们线下真实D狗 汇报进展 20240531 49
搞七捻三
510
15.0k
20 天
本贴长期、无偿提供法律服务【此贴无限期停更,更新时间待定 】 61
搞七捻三
精华神帖
1.6k
55.2k
23 天
有 149 个未读 话题 和 195 个新 话题,
或浏览 搞七捻三 中的其他话题
StripeM-Inner
'> ">