家里 Nas 中安装了一系列服务,如果外网访问不了,手机上连不上,就十分不方便。所以我们需要内网穿透,方法主要有两个:动态域名和反向代理,下面对比一下:
最早期的方法,要求家中拨号网络有一个外网 ip,每次断线拨号虽然 ip 变了,通过定时请求动态域名提供商的一个接口,把域名指向改成你最新的外网地址,这样其他地方就可以通过域名访问你家里的 IP 了。
一般动态域名路由器都支持设置,不支持也没关系,你家里的服务器的定时请求一次 DDNS 服务商接口即可,比如 no-ip 的 ddns.net 域名更新:
https://USER:[email protected]/nic/update?hostname=test.ddns.net
在家里服务器的 crontab 中设置每 15 分钟 curl 访问一下上面的地址,把用户名密码和 hostname 替换成你申请的域名,即可更新。
最后家中路由器需配置端口转发,比如把外网 ip 的 443 端口转给内网服务器的 443 端口。
这是最廉价的解决方案,基本没成本,各类 DDNS 服务商也是免费的。唯一问题是当 IP 更新后,最长可能需要 15 分钟才能更新域名指向(更新接口调用快会被 ban ),再算上各级 DNS 缓存时间,前后可能会有半小时你无法访问,不过我一周顶多碰到 1-2 次。
如果家里有外网 IP,这是首选方案,现在越来越多宽带新开户无法得到外网 IP 地址,比如电信。联通还好,曾经不经我允许把我换成内网 IP,然后我打电话去骂,骂来了一个外网 ip。但随着 IPv4 资源减少,IPV6 普及以前,外网 IP 肯定越来越少,所以我们需要反向代理。
家中没有外网 IP 时,如果你有一台固定 IP 的外网 VPS,那么可用它做跳板访问家里内网端口。在 VPS 上启动一个反向代理服务,同时在家里内网服务器上启动另外一个映射服务,那么链接外网 VPS 的 443 端口,可以被反向代理转发到内网的 443 端口上。
最简单的方案是 ssh -R 反向代理,比如我想把内网另外 192.168.1.3:443 端口暴露给 VPS ( 202.115.8.1 )的 8443 端口,可以在任意一台内网机器上运行:
ssh -R 0.0.0.0:8443:192.168.1.3:443 [email protected]
这样会让远端(-R )创建一个新端口( 8443 ),并把该端口的数据通过 ssh 链接传回来给我,我再把它转发给我能访问的 192.168.1.3:443。在 vps 修改下 /etc/ssh/sshd_config:
GatewayPorts yes
保证 GatewayPorts 被打开,这样连接外网 vps 上的 8443 端口相当于连接内网 192.168.1.3 的 443 端口了。
该方没有断线重连,连接断了 ssh 进程就会退出,需要额外写脚本来检测重启,或者用 autossh 保活。正儿八经长期用的话,推荐使用专业程序来提供更加稳定高效的方向代理。
这类服务程序有很多,比如老牌的 ngrok,python 写的 shootback,前者使用麻烦,如果想跑在自架服务器上,还要重新编译代码,配置证书,而后者性能和并发又不是特别好,所以现在大家都用性能更好,配置更简单的 frp 。
Frp 结构很简单,分为 frps/frpc 两个可执行程序,在有公网地址的 VPS 上运行 frps 然后在家中内网运行 frpc 就行:
比如想把家中服务器的 ssh 端口 22 代理代理到外网 vps 202.115.8.1:221 上,那么在 vps 上编辑 frps.ini 配置文件:
# frps.ini [common] bind_port = 7000 token = 1234567
然后 vps 上启动 frps:
frps -c /usr/local/etc/frps.ini
然后再家中内网服务器上编辑 frpc.ini 配置,token 需要保持一致:
# frpc.ini [common] server_addr = 202.115.8.1 server_port = 7000 token = 1234567 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 221
然后内网服务器启动 frpc:
frpc -c /usr/local/etc/frpc.ini
反向代理就架设成功了,内网的 frpc 启动后会链接到外网的 frps 上的 7000 管理端口,申明自己想把内部的 22 端口暴露成外部的 221 端口。然后外网的 frps 一旦碰到任何 221 端口的链接,都会通过 frpc<->frps 的数据链路转发到内网的 22 端口上来,你在外网任意地方:
ssh -p221 [email protected]
相当于登陆家里服务器的 22 端口。你还可以同时配置多个服务,比如增加一个 https 服务:
# frpc.ini [common] server_addr = 202.115.8.1 server_port = 7000 token = 1234567 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 221 [https] type = tcp local_ip = 192.168.1.3 local_port = 443 remote_port = 8443
这样可以把内网服务器的 https://192.168.1.3:443 暴露成: https://202.115.8.1:8443。
其实 frps 对于 http/https 还有更友好的配置方式,你有多个域名的话,你可以用多个二级域名的 A 记录同时指向外网 vps 的地址:
配置两个二级域名都指向 VPS 外网地址,对于多个 http/https 转发,在 frps 那里都可以共用同一个端口,我们配置下 frps.ini:
# frps.ini [common] bind_port = 7000 token = 1234567 vhost_http_port = 80 vhost_https_port = 443
然后配置内网的 frpc.ini:
# frpc.ini [common] server_addr = 202.115.8.1 server_port = 7000 token = 1234567 [nextcloud] type = https local_ip = 192.168.1.3 local_port = 443 custom_domains = nextcloud.skywind.com [gitlab] type = https local_ip = 192.168.1.4 local_port = 443 custom_domains = gitlab.skywind.com
那么这两个服务都可以公用外网 VPS 的 443 端口,当你用浏览器访问:
外网 VPS 上的 frps 就能根据域名知道该请求需要代理到内网 nextcloud 地址,而访问
时,因为两个域名都是指向外网 VPS 的,frps 根据域名判断就能转发到内网 gitlab 地址。
如果你的 frpc.ini 中 http/https 服务你用的 type=tcp,那每个服务都会占用一个外网 vps 的端口,而把 type 设置成 http/https 的话,只要你有几个二级域名,就能共用 frps 的端口:
上图时我在公司通过外网 frps 跳板,访问家中 GitBucket 代码服务的截图。通过 type = https,你可以把家中的:文件服务,照片服务,代码服务,笔记服务 等一些列常用的服务全部代理到外网 VPS 的 443 端口上来,然后用域名进行区分。
这样在外面不管用 PC 还是手机访问家中的服务,外网 URL 会变得很漂亮。
那么我们把内网的一个站点用反向代理做穿透时,我们在外面访问的是 VPS 的域名,在家又访问另外一个 192.168.1.x 的裸 IP 的 URL,有没有办法都用一个地址呢?
如果你家里的路由器支持配置静态 DNS 的话,可以把外网 VPS 的 DNS 配置成内网地址,这样你连上家里 wifi 时,git.skywind.com 被解析成 192.168.1.x,在外网时,git.skywind.com 又会被解析成 202.115.8.1,总能用同一个域名,以最快的速度访问。
比如手机上设置 nextcloud 客户端时就只需要设置唯一的一个服务器 URL 不用改来改去。
如果你手上只有境外 VPS,那么可以通过 UDP 加速传输。Frp 支持使用基于 UDP 的 KCP 协议加速传输,这样对于一些网速慢的 vps 而言,能有比 tcp 更平滑更快速的传输效果。
有人提到的 zerotier,用起来和 frp 的 p2p 模式差不多,都是需要在客户端启动一个软件。采用 p2p 模式对带宽利用更充分,但 /是稳定性不如 c/s 模型,我的意见是,只要你不传电影,只是和内网之间传送一些文档,照片,代码之类的东西,那用更稳定 c/s 模式。
如果你希望像 zerotier 一样,搞出个虚拟网卡来,然后像在内网一样的直接访问各个 IP 地址,那么你可以在内网启动个 openvpn 嘛,然后用 frp 把 openvpn 的端口暴露出来,你在外面就可以用 openvpn 的虚拟网卡模拟链入到内网,直接访问内网的所有东西了。
如果你既不想用 frp 也不想用 ssh 或者其他软件,更不想自己架设外网服务器的话,可以用花生壳的反向代理付费服务,或者 ngrok 的付费服务,总之消耗带宽的事情,都是要成本的。
其实反向代理唯一的问题就是 VPS 的费用,好歹程序员一般手上都会有几台 VPS,带宽又没跑满,正好拿来做跳板进行内网穿透。以前我喜欢把服务直接架设在外网 VPS 上,比如我的笔记服务,但是经常 VPS 换 IP,换服务商,数据就没法保证,VPS 迁移了又要面临服务架设和数据迁移,十分复杂。
现在我所有服务都是跑在家里服务器上,所有数据都是自己掌握,外网服务器仅仅作为一个转发,几年下来,数据安全性和稳定性比直接把服务架设在 VPS 好多了,不用每换一台 VPS 就重新弄一遍。
--
参考阅读:
欢迎关注:
评论区有网友给我推荐 Sakura Frp,基于 Frp 二次开发的: https://www.natfrp.org/
免费提供内网穿透服务,良心项目必须推荐一下。
![]() | 1 choury 2019-02-27 12:48:39 +08:00 via Android 直接朝电信要了一个公网 ip,又方便又不折腾 |
![]() | 2 harde 2019-02-27 12:53:24 +08:00 为什么需要内网穿透。。。。 无论哪个运营商,要个公网 IP 还是不至于不给的。。。(注意,我说的不是固定 IP,只是公网 IP ) |
![]() | 3 skywind3000 OP @harde 电信光纤,广州这边不给公网地址了。 |
![]() | 5 Famio 2019-02-27 12:55:31 +08:00 ![]() 现在都是分享些基础的教程达到引流的目的 |
![]() | 6 harde 2019-02-27 13:01:1 +08:00 @skywind3000 我家之前就是偷摸把公网 IP 换内网了,第一次投诉了一下就给了。 后台因为变更光纤,这次就更简单,只是给电信打电话就给了。 |
7 GGGG430 2019-02-27 13:03:15 +08:00 via iPhone ![]() 这些群晖已经实现了,没必要折腾了 |
![]() | 8 wwqgtxx 2019-02-27 13:03:56 +08:00 我要是记得没错,frp 的作者应该也在 v2 上,所以... |
![]() | 9 skywind3000 OP ![]() @wwqgtxx 我推荐个好东西,和他作者在不在 v2 上有啥关系呢? |
![]() | 10 shanlan 2019-02-27 13:07:00 +08:00 我曾经被换成内网 IP,我打电话讲道理,说我的合约单上面没有说是内网 ip,所以你不能给我从公网切换成内网 ip |
![]() | 11 skywind3000 OP @wwqgtxx 关键点是,对读者有没有价值?再说,我作为 KCP 协议作者推荐一个支持 KCP 协议的好应用,不是应该的么。 |
![]() | 12 bhqt 2019-02-27 13:13:17 +08:00 IPV6 你值得拥有。 |
![]() | 13 skywind3000 OP @bhqt 中国 ipv6 用户的接入率为 2.548% |
![]() | 14 Tink PRO 这里基本上你说的都会 |
![]() | 15 Tink PRO 另外 fcn 可能更好用一些 |
![]() | 16 skywind3000 OP @GGGG430 群晖 J3455 的 CPU 实在太弱了,只有我笔记本的 1/4 性能。我现在的 Nas 功耗比群晖低,性能是群晖的 6 倍。 |
![]() | 17 skywind3000 OP @Tink 改天试试,和 zerotier 有什么区别么? |
![]() | 18 mikeshinoda 2019-02-27 13:33:54 +08:00 @skywind3000 同广州电信 500M, 给公网 IP |
![]() | 19 goodryb 2019-02-27 13:35:05 +08:00 |
![]() | 20 yylucifer 2019-02-27 13:43:46 +08:00 简单一些 frp 可以。。 如果高端一些 ipip。 |
![]() | 21 skywind3000 OP @goodryb DDNS 也需要我在路由器上配置端口转发,勉强归纳为内网穿透。 |
![]() | 22 skywind3000 OP @goodryb 群晖的 J3455,我笔记本现在是 i7-7700HQ,我的 nas 现在是 i7-8859U,他们的对比在这里: https://www.cpubenchmark.net/compare/Intel-Celeron-J3455-vs-Intel-i7-7700HQ-vs-Intel-i7-8559U/2875vs2906vs3302 我的笔记本比 J3455 快 4 倍,我的 Nas 比 J3455 快 6 倍。 |
23 gablic 2019-02-27 13:55:20 +08:00 好文 收藏了 |
25 klgd 2019-02-27 14:00:51 +08:00 之前试过 frp,可惜自己的 vps 是个小水管,用起来速度实在受不了 |
![]() | 26 skywind3000 OP @raighne 群晖的 J3455 上面跑个 zsh 都卡。 |
27 CYKun 2019-02-27 14:07:38 +08:00 via Android 跟移动要过公网 ip,移动表示 50/月。。 |
28 OrangeM21 2019-02-27 14:11:40 +08:00 用群晖的自带的穿透.... |
![]() | 29 Tonni 2019-02-27 14:14:54 +08:00 @skywind3000 不至于吧,我还嘀咕着用 J3455 装个黑群晖呢,而且 NAS 本职工作就是文件存储,J3455 性能足够了,群晖用 J3355 的 DS218+ 都卖到快 3000 了。 |
![]() | 30 goodryb 2019-02-27 14:15:24 +08:00 @skywind3000 #21 i7 功耗太高了吧,j3455 才 10W TDP |
32 mason961125 2019-02-27 14:17:41 +08:00 写 kcp 的大佬...我先跪为敬 |
![]() | 33 wwqgtxx 2019-02-27 14:54:06 +08:00 via iPhone @skywind3000 我只是说可以顺便 at 一下,别那么激动嘛 |
![]() | 36 nfroot 2019-02-27 15:13:42 +08:00 @skywind3000 你的 NAS 性能很高,但是 NAS 的特性是可以一直开着却不怎么耗电吧,我最近也在考虑这个东西,想来想去,本来想着说 NAS 顺便把路由器的功能也做了,但是一想,路由器耗电多少,NAS 耗电多少……感觉 NAS 也舍不得一直开着了,,省下钱买更好的。 |
![]() | 37 skywind3000 OP |
![]() | 39 glues 2019-02-27 15:31:38 +08:00 ![]() @skywind3000 大佬你是自己组的 NAS 吗,用的什么系统? |
40 chenluo0429 2019-02-27 15:38:30 +08:00 家里用树莓派+移动硬盘做的服务器,提供 git 服务器,seafile 网盘,aria2 下载机等等。网络是联通有公网 IP。 开始是域名解析到公网 IP,发现更改之后手动去阿里云客户端里面更改,老麻烦了。 后来翻了阿里云的文档,用 python 写了个脚本,挂在树莓派上。每两分钟获取一次本地 IP,如果变化了就调用阿里云的接口修改域名解析,现在感到非常舒服,目前还没出现恰好撞上 IP 更新的情况。 frp 以前用过,但是效果非常感人。国内 VPS 管子太细,国外的管子又太长,只适合开开静态页面什么的。 |
![]() | 41 mamahaha 2019-02-27 15:46:31 +08:00 很好,把数据库放家里电脑上 |
43 Level5 2019-02-27 15:55:38 +08:00 写得很好呀,赞一个!深入浅出,LZ 还有没有别的文章能请教? |
44 davi1989 2019-02-27 16:13:20 +08:00 via Android 公网 io 不好要了,霸都联通,工信部也没用,不可能给。 |
![]() | 45 599316527 2019-02-27 16:13:31 +08:00 以前用联通宽带时就是用 frp 穿回家,现在换了电信直接就用公网 ip 了,有点爽。电信包年比联通贵那么几百就当租 ip 了,就是 80,443 端口貌似被电信拦截了访问不到,其他端口可以 |
![]() | 46 skywind3000 OP @chenluo0429 如果可以用 DDNS,那么首选 DDNS 啊。 |
![]() | 47 skywind3000 OP @Level5 欢迎关注我知乎专栏: https://zhuanlan.zhihu.com/commandline |
48 chenluo0429 2019-02-27 16:20:44 +08:00 @skywind3000 DDNS 给的地址不够信达雅啊,哪有自己的域名用起来舒服 |
![]() | 49 KasuganoSoras 2019-02-27 16:25:28 +08:00 "如果你既不想用 frp 也不想用 ssh 或者其他软件,更不想自己架设外网服务器的话,可以用花生壳的反向代理付费服务,或者 ngrok 的付费服务,总之消耗带宽的事情,都是要成本的。" 再安利一个 Sakura Frp,基于 Frp 二次开发的 https://www.natfrp.org/ 见缝插针(逃 |
![]() | 50 Hazurt 2019-02-27 16:30:09 +08:00 @chenluo0429 #48 用免费 ddns 可以买个域名 cname,不过既然域名商提供 dns 服务哪有不用的道理。 另外问一下阿里不实名的不能用吧,实名认证麻烦么? |
![]() | 51 skywind3000 OP @KasuganoSoras 这项目也太牛逼了,问题是它靠啥挣钱啊?不挣钱的话撑不了多久吧? |
![]() | 52 KasuganoSoras 2019-02-27 16:36:03 +08:00 ![]() @skywind3000 #51 这个不需要担心,目前暂时不缺钱,因为我本身就是做 IDC 的,用自己出租 VPS 的机器顺带搭个 Frp 造福大家挺好的,而且现在也挺多人愿意赞助我 |
![]() | 53 skywind3000 OP @KasuganoSoras 功德无量啊,想你致敬。 |
![]() | 55 skywind3000 OP @KasuganoSoras 免费用户多了可以限制他们的总带宽,免费用嘛,传点文档得了,我愿意付费使用更大带宽(反正大部分时候我都跑不满)。 |
![]() | 56 KasuganoSoras 2019-02-27 16:51:49 +08:00 @skywind3000 #55 限制是有的,目前是 8Mbps,国内的服务器有 1Gbps 宽带的,国外有 10Gbps 的(共享) |
![]() | 57 skywind3000 OP @KasuganoSoras 恩,太帅了,我把相关信息 append 到文章下面了。 |
![]() | 58 ztlong 2019-02-27 17:21:42 +08:00 映射内网 NAS 服务到外网和 VPN 两种方式,那种安全性更高,映射端口出去总有敲门的。 |
![]() | 59 dabaibai 2019-02-27 17:27:49 +08:00 @KasuganoSoras 你的免备案节点 有点厉害...能买到吗? |
![]() | 60 KasuganoSoras 2019-02-27 17:30:17 +08:00 @dabaibai #59 免备案。。?国外服务器不都是免备案的吗。。 |
![]() | 61 skywind3000 OP @Tonni #29 程序员用的 Nas 自然不当是存储文件,你 J3455 架设个 Gitlab 都跑不动。终端连上去,zsh 都卡,基本不能用。何况如果要虚拟化 J3455 真的太吃力了。 |
62 29EtwXn6t5wgM3fD 2019-02-27 18:15:50 +08:00 @skywind3000 #61 没这么夸张,跑不了 Gitlab 可以跑 Gitea,再说了 Kimsufi KS3 N2800 都不缺人买 |
![]() | 63 skywind3000 OP @shengyu 我只是举个例子,费 cpu 的服务多的是,当然不缺人买,入门型产品。就像今天米 4 还是有很多人买一样。 |
![]() | 64 samael 2019-02-27 18:37:54 +08:00 via iPhone 嗯,我最近就在搭 homelab,看过你写的知乎文章 |
![]() | 65 abdiweli 2019-02-27 18:42:26 +08:00 我家宽带的公网 IP 是投诉了三次,才给我开的。 |
![]() | 66 expy 2019-02-27 18:49:26 +08:00 运营商 ipv6 赶紧上就不用这么折腾了。 |
67 presoul 2019-02-27 18:50:56 +08:00 via Android 打洞 才是穿透 这些都是方案不做评价 |
![]() | 69 coloz 2019-02-27 20:20:38 +08:00 用了大半年 frp,现在还是换成了 ddns,速度快多了 |
![]() | 71 cxbeat 2019-02-27 21:19:05 +08:00 via Android 湖南移动确实不给公网 |
![]() | 72 nendors 2019-02-27 21:20:10 +08:00 @skywind3000 #3 广州越秀,刚打电信电话拿到公网 ip... |
75 KasonKwok 2019-02-27 22:16:51 +08:00 我再来推荐一个,nps https://github.com/cnlh/nps 不仅可以反向代理家中设备,还能通过该设备转发本地其他设备的端口。 |
![]() | 76 virtualworld 2019-02-27 22:38:23 +08:00 @KasuganoSoras 大佬,客户端无法下载 Firefox 提示“连接到 s1.tcotp.cn 时发生错误。SSL 接收到一个超出最大准许长度的记录。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG ” |
![]() | 77 skywind3000 OP @slrey 换一台机器做 frpc |
![]() | 78 virtualworld 2019-02-27 22:59:41 +08:00 @skywind3000 呃,我是想下载 sakura frp 的客户端,下载不下来。 |
![]() | 79 KasuganoSoras 2019-02-27 23:09:27 +08:00 @slrey #76 现在可以了,刚刚看了下是因为用于提供客户端下载的服务器 Nginx 配置错误导致的 |
![]() | 80 copfee 2019-02-28 00:43:06 +08:00 |
![]() | 81 clippit 2019-02-28 01:02:55 +08:00 内网穿透前段时间看到一个新项目,有兴趣的可以参考一下,本人没有试过 https://github.com/alexellis/inlets 另外,如果想要在内网外网通过同一个域名访问内网服务,除了在内网部署 DNS 服务器解析成不同 IP 以外,还可以考虑 Hairpin NAT,本质上是在路由器上做一个 DNAT+SNAT,这样就可以在内网通过路由器的外网 IP:端口访问内网服务。有些路由器在做端口映射的时候会自动支持 Hairpin NAT,有些就不会,使用的时候需要注意。 |
![]() | 83 lulinux 2019-02-28 05:01:14 +08:00 via Android 为什么人没有人提花生壳? |
84 nifury 2019-02-28 05:02:11 +08:00 @presoul 同意,最开始就有自己写一个 UDP 打洞、KCP 转发的想法,结果发现 dog-tunnel 已经很好的实现了.. |
85 umbrellakkk 2019-02-28 07:08:17 +08:00 给房地产商一个建议,以后卖的房子每家配个机房。 |
87 dremy 2019-02-28 08:48:55 +08:00 via iPhone 最近莫名地多了很多内网穿透的帖子,恰好我这些天之前也研究了一遍… |
88 LaCroqueta12 2019-02-28 09:03:38 +08:00 广东珠江宽频说是公网 ip,华硕 AC1900P 一直配置不成功。。。 |
![]() | 89 windirt 2019-02-28 09:13:47 +08:00 电信的话,除非是办了确定不给公网 IP 的极客套餐,其余家庭光纤套餐打电话去都能给开公网 ip,就说连不上家里的监控摄像头了,24 小时内办妥。 |
![]() | 91 andrewhxism 2019-02-28 09:38:49 +08:00 我都是使用 zerotier |
![]() | 92 Terry05 2019-02-28 10:25:00 +08:00 哪有这么麻烦 1.一台网件 /ASUS 路由 2.申请免费域名,建议 3322.net ,no-ip 还要一个月上去更新一次,麻烦 3.路由器中配置 ddns,将申请的免费域名进行绑定 4.路由器设置端口转发;将内网机器的指定端口转发出去,除了 80 端口,其他端口都可以转发 如此,访问你的免费域名+端口号就可以访问了,我的服务是 GEN8 + Windows Server 2016,各种服务舒服简单 |
93 shuangyeying 2019-02-28 10:31:10 +08:00 @skywind3000 老师,可以参考你 i7-8859U 的硬件方案么?目前只路由器外挂移动硬盘过,但是对高性能 NAS 很感兴趣。 |
![]() | 94 kyleroad 2019-02-28 10:31:16 +08:00 赞 |
95 hxhc 2019-02-28 10:46:42 +08:00 @KasuganoSoras 请问 Sakurafrp 支持 frp 的插件吗,比如 http_proxy ? |
![]() | 96 samael 2019-02-28 10:51:10 +08:00 via iPhone 昨天把家里的 homelab 穿透了,其实找个支持梅林的路由,再加个 vps,速度还能接受,用的 linode 的东京服务器 |
![]() | 97 KasuganoSoras 2019-02-28 12:21:30 +08:00 @hxhc #95 支持,在网站后台 > 账号安全页面启用 |
![]() | 98 uuair 2019-02-28 12:32:38 +08:00 没用的,反向 ssh 代理没多久就会呗封端口。。。 我现在用 surge 配合 ss 服务器,特别好用,每次连接什么设置都不用,访问特定域名就可以了。 |
![]() | 99 skywind3000 OP @uuair 我都列了一堆方案了,又不是光说 ssh -R |
100 ICKelin 2019-02-28 17:35:27 +08:00 碰到大佬了。 |