一直想内网穿透,网上主要的方法就是向日葵,或者frp,很多收费的frp但是速度太垃圾了。搞了很久最后终于搞好了。
1、自己去买个有独立ip的服务器,按流量付费阿里云便宜的很。在阿里云(安全组)和宝塔(安全)直接放行1-10000端口,管他呢。
2、下载linux服务端文件和window客户端文件,下载地址:https://github.com/fatedier/frp/releases
备用下载地址:https://kdocs.cn/l/cuALyJetS2LB
3.登录服务器,英文新建一个文件夹,名字随便。上传linux压缩文件并且解压。然后打开frps.toml,删除原有的代码
输入如下代码(复制到记事本自行去掉换行空格):
bindPort = 7100 # 监听端口
auth.method = "token"
auth.token = "12345678" # 这个是可以理解成连接密码,自己写自己的
webServer.addr = "0.0.0.0"
# web面板
webServer.port = 7600 # frp后台端口
webServer.user = "admin" # frp后台账号
webServer.password = "admin" # frp后台密码
注意:如果这个时候没有改token和后台账号密码,后续更改后要在进程守护者重启程序,不然无法运行。
4、软件商城-下载进程守护者,选择运行目录,复制目录地址到启动命令,再再最后加上:frps -c ./frps.toml
服务器ip+7600端口能登录到后台就说明成功了。
---------------------
4、接下来是window客户端:在需要远程连接的电脑上用记事本打开frpc.toml
输入如下代码(复制到记事本自行去掉换行空格):
serverAddr = "阿里云服务器公网ip" # 服务端ip
serverPort = 7100 # 服务端端口,与服务器配置文件上的端口要一致
auth.method = 'token' # 客户端访问验证方式
auth.token = '12345678' # 客户端访问验证密码,与服务器配置文件上的密码要一致
[[proxies]]
name = "1"
type = "tcp"
localIP = "第一个穿透的本地ip地址" # 你本地虚拟机的IP
localPort = 123 # 本地虚拟机端口号
remotePort = 123 # 穿透到服务端的端口号
[[proxies]]
name = "2"
type = "tcp"
localIP = "第2个要穿透的本地ip" # 你本地虚拟机的IP
localPort = 456 # 本地虚拟机端口号
remotePort = 456 # 穿透到服务端的端口号
[[proxies]]
name = "3"
type = "tcp"
localIP = "第3个要穿透的本地ip地址" # 你本地虚拟机的IP
localPort = 789 # 本地虚拟机端口号
remotePort = 789 # 穿透到服务端的端口号
依次类推,要穿透多少个ip就设置多少个[[proxies]]。
注意:name不能重复,多台电脑多个客户端也不能重复,命名自己随意。不然无法运行。
5、随后运行,打开客户端文件夹,点最上面的地址栏,输入cmd。再输入代码:.\frpc.exe -c frpc.toml 有个点不要漏复制了。
(1)如果出现: error converting YAML to JSON: yaml: invalid leading UTF-8 octet 直接用其他的电脑向日葵远程编辑frpc.toml文件后覆盖frpc.toml;
(2)出现运行一下cmd程序直接不见的,也是没有安装好。重新配置。记得name一定不能重复。
(3)出现: start proxy success 就是代理成功。
6、运行也可以自行用记事本编写bat批量处理文件,代码如下:你的frp文件夹\frpc.exe -c 你的frp文件夹\frpc.toml
范例:C:\Users\Administrator\Desktop\frp\frpc.exe -c C:\Users\Administrator\Desktop\frp\frpc.toml
编辑完后后缀名改成.txt改成.bat。运行就可以了。
最后:要一直能穿透客户端必须24小时挂机,所以建议有一台24小时开机的工控机,咸鱼便宜的很300都能搞定。
结束
参考资料: