内网穿透实现实体服务器变云服务器:服务器无公网ip,如何提供公网网站,又如何异地ssh登录或者异地登录服务器的宝塔面板

先说本经验的应用场景

up主的就业方向是开发网站前后端,有一台自己的实体服务器,没有公网IP,我希望:

  1. 能长久地提供任何人在任何地点都能用浏览器访问到的网站;

  2. 另外由于服务器存放在家里,我开学、旅游、出差是需要异地ssh登录服务器的(实体服务器变云服务器),

  3. 最好还能异地登录宝塔面板。

我用过的内网穿透目前只有natapp花生壳两家,在消费过之后就有了使用经验,特此分享出来。

内网穿透特点

单个内网穿透只能绑定ip的一个端口且仅支持https、TCP、UDP、Socks5中的一种协议。比如你的内网穿透是TCP协议,绑定在了服务器的127.0.0.1:22上,那么你只能用该内网穿透做22端口上TCP能做的事,比如进行ssh登录linux服务器;再比如你的内网穿透是https协议,绑定在了127.0.0.1:80上,那么你只能用该内网穿透在浏览器上访问服务器80端口的网站。

  • https:用于创建可在浏览器访问的网站

  • TCP:用于准确性要求高的数据传输,如文件传输、远程桌面、ssh登录服务器等,不支持创建网站或在浏览器访问

  • Socks5:用于特殊环境下需要使用代理才能访问的应用。

  • UDP:用于无连接服务、进程到进程的通信。数据传输的准确性不高。

对比 natapp 和 花生壳

natapp免费送每个号两条隧道,隧道就是内网穿透,该隧道支持web(https)、TCP、UDP协议,natapp的免费隧道好像不限制流量,但是域名/端口随机,且不定时强制更换,适合想测试服务质量或者提供超短时间的网站访问服务之类的需求。

0f5a471a455d41c6983670e7240b4b08.png

 

你也可以购买隧道,服务更好,适合需要长期且稳定的内网穿透的人,续费是每条隧道10到18块/月,每G流量价格从0.3到2元不等,购买后流量包没有失效期。

5b0e206f629d4b3fb7852518f9b61641.png

 

要有对比!花生壳也送每个号两条映射(映射就是隧道,就是内网穿透),支持TCP、HTTPS、Socks5协议,花生壳的免费映射不会不定时换域名改端口。花生壳充斥着金钱的味道,分体验版、青春版、专业版等等,刚注册都是体验版,每月送1G流量,若要购买流量,能划到每G要9块钱,流量还有过期时间。但是学生党有福利,可以认证青春版,每月送5G流量。另外https协议需要花6块解锁,几乎算永久解锁。其他版特贵,也就一年几千吧。学生党不用考虑买额外映射了,因为要花几百几千解锁其他版才能享受额外映射。

d7ba919f497e40f09fce4d2fe32937e3.png

 

06782356f31f43ac892834c02505ed81.png

 

仅从性价比上考虑,

  • 想简单的体验短时间内TCP协议的内网穿透,如ssh登录、远程桌面等,两家随便选;想在短时间内让他人访问自己的网站,选natapp,毕竟花生壳要6块解锁。

  • 想长久的享受稳定的内网穿透,还是付费吧。比如搭个没人看的小博客网站,一个月可能都用不了几G流量的,学生党选用花生壳,非学生就尴尬了,选用natapp吧,每月10块续费,但是流量便宜,选用花生壳吧,6块包永久,但是流量贵;如果网站很耗流量,比如搭建云盘,natapp每G一两块,花生壳每G八九块,自己选吧。

解决问题

以上内容都不是正文,简单吹个水罢了,以下是关于我如何解决开头提到的需求。

1. 希望能长久地提供任何人任何地点都能用访问到的网站服务

up主用的是natapp的付费隧道,一次性续费了一年,原价120打折后102,流量另算,不过因为网站没人看所以流量花不了多少钱。但是现在看来我有点亏,因为我当时还不知道花生壳,更不知道花生壳6块续费100年,学生每月送5G流量。

dc3b98b20ac940109b1d35894a627759.png

 

2.服务器存放在家里,开学、旅游、出差需要异地ssh登录服务器(实体服务器变云服务器)

考虑到ssh登录linux不怎么花流量,而且natapp的免费隧道时不时换域名和端口,所以up主用的花生壳的免费映射。教程如下:我实体服务器的内网ip是192.168.0.102,ssh端口是22,无公网ip,将TCP协议的免费映射绑定到192.168.0.102:22,在花生壳.exe(花生壳客户端)查看,得到下图的公网域名xxx.fun和马赛克处的公网IP x.x.128.21和公网端口12017。在xshell或者windows的cmd里输入公网ip和端口即可登录。

0def7c665acc4500a6751cefec13548d.png

 

acb14436ee414228a4ab170e753cdd77.png

 

cce5ff3194754ad383d150eb33143a6f.png

 

3.最好还能异地登录宝塔面板

宝塔面板有多方便我就不多说了。经过测试,不知道什么原因,反正我是需要在宝塔面板 - 面板设置 - 面板ssl 关掉。开了ssl,你登陆面板,数据会被加密,即https,关了面板,就没加密呗,即http。

82eb5b82e3164e5d94800f90660d8f82.png

 

我实体服务器的宝塔面板登录地址是https://192.168.0.102:28704/0a04d65b,这个地址只能在内网访问到。

如下图在花生壳绑定第二条免费映射,主机填我服务器内网ip,内网端口填宝塔面板的端口28704

7dea825e92184789b892c77d6f6085b2.png

 

然后重启下花生壳.exe,防止数据没更新。在花生壳.exe得到下图公网域名https://xxx.yicp.fun,

22515301f89f490dadc008c96b7e30c9.png

 

此时你直接在浏览器访问该域名,会显示”请使用正确的入口登录面板“,

eece2822f6b9463f8bed7a2a5fbb5378.png

 

你需要在该公网域名后加上”/0a04d65b“,”/0a04d65b“取自我实体服务器的宝塔面板内网登录地址https://192.168.0.102:28704/0a04d65b的后半段。这个字符串因人而异。此时再去访问就能成功了

4c81ed67b39744139a8cff2266b74319.png

 

总结

总结下,上述内网穿透方案为我解决了:让任何人访问无公网ip的服务器的80端口上的网站;让我不论在哪,异地也能ssh登录服务器,从而下发指令(就像一台云服务器);让我在异地依旧能享受宝塔面板的便捷。

不足:开头有提到,单个内网穿透只能绑定服务器的某一个端口,且仅支持https、TCP、UDP、Socks5中的一种协议,也就是说我想在90端口开个分网站,那我需要买新的隧道或者映射,那我要是用10来个端口岂不是买十来个隧道么。所以还是有公网IP香。

可能的解决办法:(这是我的一个猜想,还没去探索过。不对请轻喷)。在一次次的探索中,我了解到除了内网穿透,至少还可以用远程桌面或者zerotier解决我异地登录的需求。

  • 我尝试过用远程桌面软件todesk从笔记本连接到服务器(todesk有linux和windows端),粗略地体验了下,发现todesk是将linux的图形化桌面展现给你,但是一,我的服务器没图形化桌面,所以显示黑屏,二,我只是想简单的ssh连接,无需图形化桌面,就放弃了。如果你恰好好这口,CentOS 7 配置 VNC 远程桌面连接,这篇文章你可能用得着。

  • zerotier是一个搭建异地虚拟局域网的软件,我准备明天再试,要是能成,我就可以将天津学校的宿舍和江苏的家配置在同一个”局域网“下,这样不仅省隧道,还不限端口数量、协议。这只是我的猜想,我还没实验,不对轻点喷~

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值