技术解析

小白求问,非内网访问 ssh 问题
0
2021-06-18 23:43:43
idczone
  • 我自己有一台电脑,mac,连着校园网,但是没连着实验室内网
  • 实验室有一台电脑,linux,连着实验室内网
  • 实验室内网可以通过校园网上网

有什么办法可以让我用自己的 mac 通过校园网 ssh 到 linux 吗,题主小白,对 linux 和 ssh 不太了解,恳请各位解答~


在你们实验室的路由器设置端口映射

一楼建议不太可行,一般没有这个权限,frp 内网穿透了解一下,需要一台有公网 ip 的 vps 做端口转发实验室的 ssh 端囗

实验室电脑上做个端口转发

frp 跟 ngrok 需要公网 ip 限制比较大

这个一台有公网 ip 的 vps,比如是什么呢~ 我们实验室还有个群晖的 nas,我的电脑和 linux 都可以访问,可以吗?但是我好像不能配置这个 nas

1 看一下实验室校园网是否能否 ping 通宿舍内网 IP,有权限做端口转发是否
2 无法满足上述全部条件,做没网穿透。内网穿透方法很多,frp 和 ngrok 都可以。

简单来说,就是先在实验室公网跳板机(或者路由)指定一个端口,把这个端口流量转发到 linux 的 ssh 端口,然后你的 mac 你就可以用实验室公网 IP 和指定的端口访问了。
mac -> 实验室公网 IP:指定端口 -> 实验室跳板机流量转发 -> Linux 机器内网 IP:SSH 端口
原理是这么个原理,不过我只配置过跳板机 iptables 没在路由器上配置过,智能路由配置的话可能更简单?

学校校园网 ip 应该是 127.0.0.1,linux 和我的电脑都可以 ping 通,用 ifconfig 查看 linux 的 ip,发现另一个 ip 是 192.168.1.169 ,这个 ip 可以连 ssh. 所以这应该算满足第一个条件『看一下实验室校园网是否能否 ping 通宿舍内网 IP,有权限做端口转发是否』?

https://www.natfrp.org/
这个时候 就推荐 别人提供的 免费 frp 服务了

就为这个 花钱 买 vps 不划算、

我自己平时在用的 vpn,是 shadowsocksX-NG,可以用在这个上面吗

关键词,内网穿透,自己 google 去,建议先学习下计算机网络,等大三再学太晚了。

和 ss 不是一个东西

只要在学校里找一台宿舍区和实验室局域网都可以访问的电脑就可以 frp 了,不需要访问互联网。

https://bbs.pediy.com/thread-251837.htm
KSA 了解一下

好的,感谢指导!虽然我已经研究生了,计算机知识亟待提高

https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247488648&idx=1&sn=15bb6c1b58e23ba7d05d9373b6dfa97c&chksm=eac535a1ddb2bcb7db1bd3a79109723cc6030814951ebe78994542f93824fcafe3db110258bb&mpshare=1&scene=1&srcid=&sharer_sharetime=1569668369020&sharer_shareid=980a54fd81306f5604184a7508f7e8e2&key=ed2336ce379cc05ee3fb0c62f01fa081050d8cd88c5031de6373765c8aff7f35e8813163a208cf5a71dfce2d78e5bce7c4ed992c47ad5202b042503c2ab9ac4bf7b9379c48a03d0c466bf2f614eb09df&ascene=1&uin=MTMwNDgzNDQwMQ%3D%3D&devicetype=Windows+10&version=62060841&lang=zh_CN&pass_ticket=%2Bbw%2BinKHeTWWuL%2F3Il3grmXo3808rdX4qqAkC%2B8k%2BstbHyVInyULgCyveQ1gkkGV
前两天有个类似问题,我是用这个解决的

frp 最简单,也有免费的服务提供,再加上 ssh 是加密的,估计没啥问题,就是得小心对一下公钥指纹

感谢!这个好像还不错,但是必须要挂梯子才能连到这个服务器

实验室机器可以连到你的 Mac 吗?可以的话就反弹个 shell 出来就行了

可以反向连接上!但是反弹 shell 是什么操作,有点搞不明白

zerotier 比楼上的都简单

python 有个 jumpserver, 简单说就是跳板机 /堡垒机, 不过... 反代不行么

免費的 ngork 公網服務: https://www.ngrok.cc/

买一个能联网的主机(下称 A )放在校园网内,在这个机器 A 上运行 frp,在实验室的服务器连到这个机器 A 的 frp 上,Mac 连接那校园网的那个主机 A。
问题在于怎么知道主机 A 的校园网地址,比较缺德的方法是主机 A 给 255.255.255.255 发广播包,Mac 上收包就可以了
主机 A 可以使用各种派或者盒子

无需外网 ip,可以试试 smarGate: https://github.com/lazy-luo/smarGate

刚想来安利下 Sakura Frp 发现楼上已经有人发了。
内网穿透简直不要太简单,注册账号,添加隧道,下载客户端运行一气呵成,五分钟搞定。
添加隧道也是相当简单,首先点一下这个按钮
然后点击一下“随机端口”,最后点添加,完事了。
接着根据你的系统类型下载客户端,比如 Linux,那么就下载 Linux x86 或者 x64,下载后 chmod +x 设置权限最后运行即可,输入你的账号密码登录,选择一个服务器连接,然后 —— 开始玩耍吧

不先试试能不能直接访问吗?校园网是个大内网啊,你试试在实验室电脑上能否 ping 通你自己电脑,如果你们实验室要求不严那应该是能 ping 通的,再然后看有没有权限做端口转发了,IP 应该是 172 开头的。如果不能通那就只能用内网穿透了,还是建议先试试第一种方法,体验上会更好。

你这个需求是典型的“内网穿透”(其实不一定是穿透的公网,你有一个做跳板的就可以了)

反弹 shell 概念挺多,但其实就两条命令就行,Mac 上装个 nc 命令( net cat,一般 Linux 都有,但是 Mac 默认没有)。
然后 Mac 上运行 nc -lvp 12345 (看具体 nc 版本,有些 l、p 参数不能同时存在的,直接 nc -lv 12345 ),这句话是在 Mac 上启一个 TCP 服务监听 12345 端口。
然后在实验室机器上运行 bash -i >& /dev/tcp/123.123.123.123/12345 0>&1 把里面的 123.123.123.123 改成你 Mac 的 IP,12345 是端口。
然后你 Mac 上就可以直接操作实验室机器了。
就装个 Map 没自带的 NetCat,就两条命令,不用任何配置文件,不需要中间跳板,不需要公网,只要两个设备其中一个能访问到另一个即可,比楼上各位都简单。随用随开,用完 ctrl+c 即可退出。
附我觉得对反弹 shell 讲的比较详细的原理文章:
https://xz.aliyun.com/t/2548
https://xz.aliyun.com/t/2549

frp

反向 ssh autossh

zerotier,实验室的 linux 配置一下 iptables,然后 zerotier 允许这台 linux 作为桥接,把实验室内网网段路由过去,就可以在 mac 上远程访问整个实验室内网了。

如果有一台云服务器的话,再搭一个 moon,首次连接的速度飞快

可以参考一下 nps 中的 p2p 服务
[github 地址]( https://github.com/cnlh/nps)

这个东西无论是 google 还是垃圾百度不是一堆方法吗?

是,自己也搜索过,但是有点盲人摸象的感觉,好像每种方法都可以但情况又不完全相同,所以来问一下大家

按你所说,我觉得实验室和校园网应该是互通的,你可以尝试遗漏做法

一楼。。。。

遗漏做法是指?实验室的内网是可以连到校园网的,但是我通过校园网 ping 不通实验室电脑的 ip

你如果有服务器就 frp 一个最好,理论上校园网是一个大局域网,可以在实验室的路由器设置一个花生壳的 DDNS 最端口转发应该也可以。

楼主怎么解决 zerotier 不稳定?

用阿里云就行吗

我最近用着还行,挺稳定的
不稳定的问题我可能不会解决 手动狗头

国内的都可以,速度都很快。ios 我这边始终用不了,但是除开 ios,其他设备都很稳定,速度也很快。家里的 proxmox 服务器上作为 zerotier 网关,方便的一比

说错了,proxmox 做桥接

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服