因为疫情,有远程实验的需求,因此搜索了如何实现在自己电脑上连接内网服务器的教程。基本思路就是通过一台具有公网IP的服务器,搭建FRP服务,实现内网穿透。
假设看这篇分享的人已经创建好了自己的ECS实例,公网ip为xx.xx.xx.xx。下面以Ubuntu系统说明实现内网穿透的流程。
下载必备程序
首先需要去github上下载frp的软件,地址在这里,要根据自己的系统选择。注意,阿里云服务器和内网服务器都需要下载。下载命令如下
wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
开放阿里云服务器端口
这里需要开放阿里云服务器的两个端口,进入方式如下,先点击“安全组”,再点击“配置规则”,如下
然后点击"手动添加",输入如下配置端口7000,端口5000也类似
阿里云服务器上的配置
解压下载好的程序
tar -zxvf frp_0.41.0_linux_amd64.tar.gz
进入文件夹
cd frp_0.41.0_linux_amd64
修改frps.ini文件
vim frps.ini
其实这里并不需要修改,frps.ini文件里已经设置好了,即
bind_port = 7000
启动frps服务
nohup ./frps -c ./frps.ini &
注意不要漏掉最后的&。这里建议不要按Ctrl+C,直接关闭终端就可以。有的终端按Ctrl+C似乎会终止frps服务。
内网服务器上的配置
解压下载好的程序
tar -zxvf frp_0.41.0_linux_amd64.tar.gz
进入文件夹
cd frp_0.41.0_linux_amd64
注意,这里是修改frpc.ini文件
vim frpc.ini
修改内容如下
[common]
server_addr = 阿里云服务器的ip(公网ip)
server_port = 7000 #对应阿里云服务器中的端口
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22(必须是22,ssh端口)
remote_port = 5000(就是上面阿里云服务器安全组规则里开放的第二个端口)
启动frpc服务
nohup ./frpc -c frpc.ini &
测试ssh连接
在自己的电脑上,输入
ssh -p 5000 用户名@阿里云服务器ip
例如
ssh -p 5000 mike@8.8.8.8
总结:
上面只写了如何实现内网穿透,还可以在不同的IDE里直接连接服务器。此外,在安全组里开放端口时,并不一定要选择0.0.0.0/0,实际上这是一种不安全的方法。在开发者社区里已有其他作者分享了更安全的设置方法,可以自行搜索查看。
这是我首次使用阿里云服务器,体验较好。阿里云服务器在使用上较为便捷,安全组的自定义设置也可以同时保障个性化和隐私。由于这只是初步体验,更多有趣的功能还待探索。我将在后续中继续更新我的使用体验,分享我的学习旅程。