1、什么是内网穿透
简单说就是内网中的一台计算机具有自己的内部IP,外网的计算机具有公共的IP,而内部IP是无法直接通过外网来访问的,这就需要一种方式来将外网的IP转化为内部的合法IP来进行合法访问。
2、内网穿透过程
1)在具有公网IP的服务器或VPS上安装运行 frp 的服务端程序frps
2)在处于内网的目标主机上面安装运行 frp 的客户端程序 frpc
3)User 就可以通过公网服务器来实现内网穿透从而访问内网主机
3、配置过程
本人购买的是阿里云服务器,Cenos系统,会获得一个公网IP:xxx.xx.xxx.xxx,内网服务器是Ubuntu系统
1)在公网和内网服务器上下载frp安装包并解压
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz tar -xzvf frp_0.38.0_linux_amd64.tar.gz
ps:在公网服务器可以删除其他文件,只保留 frps、frps.ini,同理,在内网服务器上可以只保留frpc、frpc.ini
2)在公网服务器配置frps
进入frps文件夹后
vi frps.ini
输入以下内容
[common] bind_port = 7000 dashboard_port = 7500 dashboard_user = dashboard_user_name dashboard_pwd = dashboard_pwd_value
ps:
[common]部分是必须有的配置
其中bind_port是自己设定的frp服务端端口
dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面.
dashboard_user 和 dashboard_pwd要填写一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入.
保存上面的配置后,使用以下指令启动frp服务端。
nohup ./frps -c ./frps.ini &
在安全组规则开启端口后,浏览器输入“IP:7500”可以看到你的FRP的后台,如下
3)在内网服务器上配置frpc
修改配置文件:
vi frpc.ini
写入下面的内容
[common] server_addr = x.x.x.x #frp服务端地址,可以填ip或者域名,这里假设为x.x.x.x server_port = 7000 #frp服务端端口,即填写服务端配置中的 bind_port [ssh] type = tcp #连接类型,填tcp或udp local_ip = 127.0.0.1 #填127.0.0.1或内网ip都可以 local_port = 22 #需要转发到的端口,ssh端口是22 remote_port = 6000 #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访 #问客户端的 local_port,如果填0则会随机分配一个端口
ps:配置时,把注释部分消去
然后输入下面指令运行:
nohup ./frpc -c ./frpc.ini &
查看信息,出现success表示成功
4)在云服务器上添加安全组规则
最后尝试在控制台下输入下面一行:
ssh -p 6000 root@ip
然后输入密码,查看是否能登录上去
5)vscode remote配置(网上有相应资料,待补充。。。
建议使用密钥连接。
相关链接:
1. 树莓派使用FRP实现内网穿透教程 – 云+社区 – 腾讯云
2. https://zhuanlan.zhihu.com/p/138092534
3. VScode Remote 远程开发与调试(告别SSH)_Tinywan-CSDN博客
原文链接:https://blog.csdn.net/qq_40965033/article/details/103939801