1
hancc 2023-06-27 22:28:48 +08:00 1
WireGuard
|
2
hu8245 2023-06-27 22:40:25 +08:00
tailscale/headscale wireguard 境内超稳
|
3
233373 2023-06-27 22:51:34 +08:00
那必须是 wireguard
|
5
bytesfold 2023-06-27 23:12:53 +08:00
wireguard nat to nat
|
6
14 2023-06-27 23:37:26 +08:00
我用 headscale 配合云服务器+权限控制关联几乎所有服务器、wireguard 跑在家里公网端口方便高速回家、zerotier 使用官方服务器作为保底方案。
|
7
Evovil 2023-06-27 23:39:18 +08:00 via iPhone 1
各地有散落的本地服务器:
如果都有固定 ip 那么 wireguard 是最佳选择 如果没有固定 ip ,云服务器带宽足够,wireguard 是最好的选择。 wg 速度快性能好,内核兼容。前提是云服务器需要中转流量。运维方便。 如果需要服务器点对点连最大化利用带宽,服务器数量不多的情况下可以互相建立 wg 隧道,然后服务器用 ospf 等协议广播路由表,还能自动故障切换。 如果嫌麻烦 zerotier ,tailscale ,tinc 可以尝试 如果不需要 route subnet 直接用 wgip 访问即可,nat 都不需要。 如果遇到运营商 qos ( udp ) 可以套 udp2raw 或者 phantun (手动点对点) |
8
Jirajine 2023-06-27 23:40:40 +08:00
有一个公网 IP 的服务器好办,跑个 wireguard 让其他所有设备连上就行了。
其他设备之间的流量会自动发现 endpoint ,自动直连。 |
9
opengps 2023-06-27 23:41:48 +08:00
我用最简单的 frp
|
10
Jirajine 2023-06-27 23:42:59 +08:00
@Evovil wireguard 应该会自动发现动态 ip 的“客户端”的 endpoint ,也就是端点直连而非中转。( wireguard 设计里都是对等的,不分服务端客户端)。
以及组一个内网就用不上路由协议这种东西了吧。 |
13
40EaE5uJO3Xt1VVa 2023-06-28 01:20:07 +08:00
请问一下各位大佬,这些组网工具,WireGuard zerotier ,tailscale/tailscale 等等,哪些是流量加密的。
|
14
loveqianool 2023-06-28 03:21:23 +08:00
也可以试试 https://openp2p.cn/
|
15
webcape233 2023-06-28 07:31:16 +08:00 via iPhone
wirguard 是最简单的了!
|
16
a33291 2023-06-28 08:23:28 +08:00
最简单不是 softether 吗
|
18
datocp 2023-06-28 08:42:12 +08:00 1
一直使用 softether ,之前也有这个需求没有深入研究
https://forum.vpngate.net/viewtopic.php?t=65656 现在网络是分级的,比如 2018 年时,电信联通网络不通,晚上两网之间连接竟然跑到省会城市去连接,搞得网间流量才 50KB/s 。出了墙更是有流量累积风险。移动访问深信服的 vpn 也是有间谒性访问问题的。 从这些年的经验来看,用 softether 常见避墙方法 1 。定时变更级联线路,条条大路通罗马 2 。同一服务器变更不同端口,以上都能有效的避开流量封锁 3 。似乎定时变更证书也能避墙 softether 的另外一个优点是一个服务器端即是服务器端又是客户端,具备一个服务器端连接全球服务器的效果,只是这需要对 linux route 有更高阶的经验。另外作者点拔了一下 softether 实现的 mesh ,只是没能领会用途。 之前测试时用的这种方法,softether 过墙的效果还是非常好的。 Webserver over VPN https://forum.vpngate.net/viewtopic.php?t=65656 Sure. What I did was set up a TAP adapter on the server so the VPN server can ping the VPN cleint. After that I used software like HAProxy and iptables port-fowarding to make the web-server available to the public Setup the VPN server (after creating the TAP adapter in the server control panel) sysctl -w net.ipv4.ip_forward=1 service vpnserver start #if not started allready dhclient tap_tap #get an IP for this TAP adapter For a web server tho I suggest HAProxy so you can use HTTP headers to get client IP address. This part is a little complicated and if you are using multiple subdomains you might need a Wildcard SSL to use in HAProxy (which you can usually get for free from Let's Encrypt) If you are running a Minecraft Server you can use HAProxy and a SpigotProxy plugin to get player's real IPs and it works well for a testing env. Heres what I use on the VPN server for generic port forwarding. x.x.x.x represents the server's public IPv4 and 192.168.30.13 is my VPN Client's IP (this will prob. work for IPv6) iptables -t nat -I PREROUTING 1 -d x.x.x.x -p tcp --dport 8081 -j DNAT --to-dest 192.168.30.13:8081 iptables -t nat -I POSTROUTING 1 -d 192.168.30.13 -p tcp --dport 8081 -j SNAT --to-source 192.168.30.1 iptables -I FORWARD 1 -d 192.168.30.13 -p tcp --dport 8081 -j ACCEPT If you do get a Wildcard SSL thru Let's Encrypt. Use this command to combine the certs than use this command block to turn it into a single pem file to use with HAProxy sudo cat /etc/letsencrypt/live/mydomain.tld/fullchain.pem \ /etc/letsencrypt/live/mydomain.tld/privkey.pem \ | sudo tee mydomain.tld.pem |
22
masterclock 2023-06-28 08:57:34 +08:00
有比 softether 更强的吗?
|
23
yulgang 2023-06-28 08:58:58 +08:00
openvpn
|
24
liyafe1997 2023-06-28 09:02:14 +08:00 via Android
自用 tailscale 跨国组网还是双方 NAT 的情况下,稳得一逼
|
25
Dzer0 2023-06-28 09:02:40 +08:00
n2n 效果好的一匹,可以直接 P2P 。
|
26
mikaelson OP @liyafe1997 如果是内网业务,都只能走公网 ip 映射出来依托于云服务器的带宽了是把?
|
28
superchijinpeng 2023-06-28 09:07:55 +08:00
Headscale + Tailscale 无敌
|
29
mikaelson OP @superchijinpeng 可以自定义虚 IP 吗?可以自建 server 对吗?我去了解一下。然后内网服务要映射的话,都只能走公网 IP 映射端口依托于公网宽带了是把
|
30
Achophiark 2023-06-28 09:09:08 +08:00
wg-easy 解君愁
|
31
hello365 2023-06-28 09:15:54 +08:00
udp 打洞就算成功,但是效果不能保证,国内大环境就是这样,要稳定尽量考虑 tcp 中转链接模式。
|
32
lingeo 2023-06-28 09:17:22 +08:00
我也有这种需求,公司有个动态公网 IP ,公司路由器上配了个 L2TP ,户外有 20 多个设备,已经到了路由器的上限了。后面又在服务器上跑了个[L2TP-VPN]( https://github.com/daisreaux/L2TP-VPN/tree/master)。
|
33
mikaelson OP @superchijinpeng 感谢,我去搜搜教程
|
35
NealLason 2023-06-28 09:47:17 +08:00
我的方案:
OpenVPN -> NAT -> Nebula. 所有开发人员在 OpenVPN 子网下,然后各地的服务器都通过 Nebula 实现 P2P Mesh 组网,OpenVPN 的子网和 Nebula 之间通过一层 NAT 转换 |
37
greenskinmonster 2023-06-28 10:07:57 +08:00
建议官方 tailscale + 自建 derp ,headscale 最近 0.22.x 版本 bug 有点多。
Wireguard 我测试有断流的情况,比如远程桌面和 SSH 偶尔会断开,我留作备用方案了。 而且 tailscale 本身的权限控制非常强大,相对来说 wg 就不够灵活。 |
38
mikaelson OP @yuantianwei 想要映射到外网,就走云服务器的公网 IP ,在走云服务器的带宽,是嘛
|
39
mikaelson OP @greenskinmonster 好的,谢谢,我去找教程看看
|
40
ShunYea 2023-06-28 10:40:44 +08:00
上次各位大佬推荐我的 NPS ,没有人推荐给楼主吗?
|
42
hbytw1 2023-06-28 11:15:11 +08:00
@mikaelson zerotier 只能异地联网,组建一个跨运营商和地域的局域网。映射外网的话需要使用其他的,例如 frp
|
43
aiqinxuancai 2023-06-28 11:30:50 +08:00
tailscale 最方便
|
44
mikaelson OP @yuantianwei 嗯嗯明白了。只要映射外网那就得依托云服务器的带宽了。
|
45
simplove 2023-06-28 11:36:01 +08:00
frp 配合 jumpserver
我司是这么用的,frp 搭建在公司内网,jumpserver 也是在内网 只开入 frp 的管理口。 jumpserver 连接服务器全部走内网 |
46
kasusa 2023-06-28 11:37:30 +08:00
tailscale 我用着感觉很慢的。不好用。
我觉得 frp 比较好用。只需要一个自己的云服务器。 |
47
luckyv2 2023-06-28 11:40:40 +08:00
headscale 多好用啊
|
49
shulin 2023-06-28 11:46:42 +08:00
也可以试试 https://ip4.ink
|
51
rwecho 2023-06-28 11:54:34 +08:00
@mikaelson 和你的情况差不多, 刚用 zerotier 搭建好。
https://mp.weixin.qq.com/s/QTzFNR1_e1SimTfdXKFVeg 就是用 zerotier 自建 moon , 降低延迟 然后用自建 network controller ,破图官方的 25 个节点限制 然后结合 dnsmasq 来给节点分配域名 |
52
poisedflw 2023-06-28 11:55:42 +08:00
自建 headscale 服务端,另外自己搭建一套 derp 中继,用 tailscale 官方客户端。
绝大部分情况下组网的设备都能直连(延迟极低) |
53
superchijinpeng 2023-06-28 12:37:57 +08:00
|
54
heiher 2023-06-28 13:18:20 +08:00 via Android
https://github.com/heiher/natmap 映射端口 + wireguard
|
55
weijancc 2023-06-28 13:32:31 +08:00
wireguard 不支持 ddns, 所以我用了 n2n~
|
56
mikaelson OP @superchijinpeng 好的,我现在在搭建了,我先试试。
|
57
sunulin 2023-06-28 14:02:06 +08:00
N2N 组网加新设备太麻烦了,zerotier 组网方便,但是当时没相互打通就放弃了,现在用的 tailscale ( headscale ) + 自建 derp 市区内跨运营商 ping 值 30+ 同运营商 10 以内
|
59
0044200420 2023-06-28 14:07:20 +08:00
tailscale 加云主机自建 derper 然后屏蔽官方 derper ,简单
https://icloudnative.io/posts/custom-derp-servers/#%E4%BD%BF%E7%94%A8%E7%BA%AF-ip 用这大佬的镜像几分钟就搞好 |
60
mikaelson OP @0044200420 只看到了自定义网段,我想给每个节点自定义 IP 呢?另外,我改了个网段,这个警告应该无所谓吧? WRN Prefix 10.86.0.0/16 is not in the 100.64.0.0/10 range. This is an unsupported configuration.
|
61
howfree 2023-06-28 15:30:19 +08:00
frp
|
62
weilongs 2023-06-28 15:42:27 +08:00
只用过 frp 和 nps 。相比较我喜欢 frp
|
63
blueboyggh 2023-06-28 16:00:48 +08:00 via Android
最近发现用 tailscale 的时候,真实局域网内两个终端之间通过本地 ip 互相 smb 传送文件,明明没通过 tailscale 的 ip ,但是 tailscale 的服务会高占用 cpu ,搞不懂为什么,卸载了只用 zerotier 了
|
64
ishalla 2023-06-28 16:02:28 +08:00
之前有用过 nps 也不错,但也不知道是不是安全没做好,网内一台机器中勒索病毒组网里的就全中了,因为好像也很久没维护,所以现在换用 Cloudflared ,大厂还是比较值得信任,而且也很简单
|
65
make17better 2023-06-28 16:05:32 +08:00
还是 zerotier 用起来比较省心,但是 zerotier 在某些网络环境下会连不上。
|
68
14 2023-06-28 20:18:04 +08:00
@root01 Headscale 自身可以直接用纯 IP 不需要证书,DERP 参考文档 https://icloudnative.io/posts/custom-derp-servers/#使用纯-ip 用他的镜像也不需要证书
|
69
14 2023-06-28 20:21:46 +08:00
@mikaelson 我的 Headscale 是用固定带宽的云服务器带宽不高。Wireguard 直接暴露在家里带宽的公网 IP 的 UDP 端口不是云服务器不消耗服务器流量和带宽
|
71
SoFarSoGood 2023-06-28 20:40:24 +08:00
@weijancc 可以的,需要变通一下
|
72
SoFarSoGood 2023-06-28 20:43:11 +08:00
wireguard/taiscale/netmaker/openvpn,当然 DMVPN 也可以是个选项。
|
73
SoFarSoGood 2023-06-28 20:47:55 +08:00
tailscale 优点多多,但是很耗资源。 不是特别多的节点,可以用 ansible 管理 wireguard 实现也是可以的。可以用 vyos + wireguard+ospf+bgp ,轻量好用。
|
74
sudoy 2023-06-28 20:54:12 +08:00
zerotier 貌似比 tailscale 好用
|
75
mikaelson OP @14 她这个 docker 我今天跑了一下,直接报错,提示没有 glibc 什么的。。。不懂咋回事,我现在换 n2n 试试
|
76
mikaelson OP @SoFarSoGood 我决定试试 n2n 了
|
77
acbot 2023-06-28 21:10:40 +08:00
"... 散落各地服务器 ... 还需要登陆到服务器来转发 SSH ... " 真不知道你是一个什么应用场景或者是不是组网架构不合理? tinc 支持 站到点,点到点,站到站 组网并且非常稳,因为要更改配置很麻烦所以一般用在站到站的环境比好!
你说不稳个人估计有一下原因: 1. 使用了 udp 模式,在 1.0.x 版本有一个 TCPOnly 参数你可以 设置为 yes ,在 1.1.x 以后的版本取消了这个参数,并且优先使用 udp ,只能在防火墙方面着手阻止 udp 连接曲线救国了。 2. 估计有可能是特征被识别了可以考虑更换以下密钥和加密方式。 第一种原因应该是最常见的。 |
78
mikaelson OP 之前一直非常稳定呀,几年了都没问题
自从迁移了 server 端后就这样了。我试了好多方法都没搞定, 加密方式我一直都是用-K 直接生成了,没用别的加密方式,这我倒是没去试过。 udp 的话,我试试把它关了看看。我现在是 1.1.18 ,我用 tinc info 看节点,确实都显示 udp 链接。 @acbot |
79
chihiro2014 2023-06-28 21:18:27 +08:00
试试看中微子代理,国人开发的
|
80
acbot 2023-06-28 21:44:03 +08:00
@mikaelson
udp 在 1.1.x 新版 已经无法关闭并且是优先的方式了, 因为 TCPOnly 这个参数无效了。要不换回 1.0.x 老版本,要不就是在防火墙屏蔽 udp 曲线救国。加密参数 Cipher 有 aes-256-cbc blowfish 等很多选项你可以切换切换,但是个人觉得这个造成的问题的可能性很小。 另外 1.1.x 的新版本默认还启用了 Ed25519 , 你可以看看 ExperimentalProtocol 等参数,这个也是有可能造成不稳定的,可以设置为 no 。 如果你是 点对点的应用场景多其实 N2N 也是不错的! |
81
mikaelson OP @acbot 嗯嗯,我已经决定试试 n2n 了,在搭建了。我主要是希望各地点对点能稳定,业务每天都要互传文件。经不起断。。。哎
|
82
SoFarSoGood 2023-06-28 22:32:29 +08:00
@mikaelson vyos+ wireguard ,不丢包的网络,不 qos udp 的网络,最快的还是 wireguard ,upd 出了名的快。
|
83
sickoo 2023-06-28 22:42:28 +08:00
@greenskinmonster tailscale+自建 derp 有指路的吗?想试试
|
84
mikaelson OP @SoFarSoGood 又多了一个没听过的。。。vyos 我去搜搜。。。
|
85
SoFarSoGood 2023-06-28 23:07:10 +08:00 1
@mikaelson vyos 封好的 router ,源于 vyatta ,当年测速思科路由器的。nat 包转发优秀. 各种网络功能一应俱全。给官方提交 bug ,可以开开发者帐号,免费拿官网正式版 iso ,当然你也可以自动编译,最好放到国外 vps 编译,很多依赖,国内很慢。 基本上所有云都可以安装。512 内存,1 核 cpu 就可以运行。企业级的 router 。非常好用。openvpn ,ipsec site-to-site, l2tp, ikev2, anyconnect, gre, is-is, ospf ,bgp ,gre, openconnect ,dmvpn 应有尽有。
|
86
initObject 2023-06-29 00:51:42 +08:00 via Android
我用的 zerotier +自搭 moon 节点
我的设备也很多 为了和云服务器组建 k3s 使用的是组二层局域网的方案 https://zerotier.atlassian.net/wiki/spaces/SD/pages/7438339 外网访问内部应用就用外网的域名或 ip 当然接入内网或 zerotier 的设备就通过内网 ip |
87
lpfzmmlhhlhy 2023-06-29 00:53:58 +08:00
那必须是 zerotier
|
88
ShunYea 2023-06-29 08:42:50 +08:00
@mikaelson 我的是这个帖子。https://v2ex.com/t/917962
对比了我觉得 NPS 好像更适合我,这几天在研究搭建。但是感觉没有 FRP 稳定,但 FRP 又不适合多用户,有点不方便。 |
90
mikaelson OP @weijancc n2n 的-c 参数是什么意思啊?是类似 tinc 那样取一个 vpn 名字吗?往上的教程都好简单。直接设置一个端口就运行起来了。。
|
91
Evovil 2023-06-29 09:21:55 +08:00
@SoFarSoGood VyOS 是全靠 CLI 操作吗? 最近发现 mikrotik 越来越不稳定正在准备换个 router , 官网的 Legacy 1.29LTS 是很久以前的了吗? 是不是得找个外网机器 build 是最好的方案?
|
92
greenskinmonster 2023-06-29 09:36:54 +08:00
@sickoo Google “derp 自建”, 比如 https://icloudnative.io/posts/custom-derp-servers/ ,这哥们写了不少关于 headscale tailscale 的教程。
|
93
mikaelson OP @greenskinmonster docker run --restart always --net host --name derper -d ghcr.io/yangchuansheng/ip_derper
他这个 docker 运行后,我看容器内部直接报 glibc 错误。。不懂为啥 |
94
weijancc 2023-06-29 10:18:19 +08:00
@mikaelson -c 是 group 的缩写, -c [group name], 同个 group 内的设备才可互相访问
|
95
mikaelson OP @weijancc 随便用个组名就行吗?我找了个现成的组名写到 supernode.conf 里,启动直接报错了。。。另外,怎么定义网段啊?我看教程都好简单。。。supernode 直接启动,都没配置。。。
|
96
mikaelson OP @weijancc supernode 的-a 参数应该怎么设置?我试了-a=10.86.1.0-10.86.10.0/16 和-a 10.86.1.0-10.86.10.0/16 这两种都直接报错了,不能启动。。。
|
98
SoFarSoGood 2023-06-29 11:34:08 +08:00
@Evovil 1.29 发布不久,是 1.2.x free 版本。 最新 LTS release 是 1.3.3 , 你可以自动编译,或者有 github 编译好的,安装。 是全 cli 的,和 junos 很像。cli 非常好用,好 debug ,好更改配置。web 想看到问题处在哪特别难。 用 ansible 来部署,非常方便。
|
99
mikaelson OP @weijancc 我在客户端都配了,现在客户端可以互通了。那我有一些端口需要再公网转发的。我服务端是不是启了 supernode 也要起一个 edge 才能访问到子网?我现在 supernode 这个节点访问不到底下的 edge
|
100
nao0gtx 2023-06-29 11:36:57 +08:00
要不试下贝锐的蒲公英看看?属于是 SaaS ,不用自己部署服务端,在各个服务器上直接部署蒲公英的客户端,然后简单操作下就能组网,每台服务器都有虚拟的 IP 地址,远程访问的人同样装个蒲公英客户端登录下就行,效果和本地局域网没什么太大区别,而且蒲公英个人、商用和私有化方案也都有
|