使用FRP进行内网穿透
我们日常使用的个人电脑通常拿不到一个公网IP,就比如我本人的两台常用台式机都处于校园网内,如果在学校,有什么事情远程上去都OK,即使是使用了路由器,也可以在路由器上做一个简单的端口映射来搞定,但是如果遇到需要在公网访问的场合,就不太方便了。这时候就需要FRP服务来进行内网穿透。
下载
官方中文文档
FRPS
我个人有的资源:
- vultr远程主机一台,Ubuntu 16.04
- ecs远程主机一台, Windows Server 2016
实际上,不管是Windows还是Linux,只要下载官方Release,解压后使用
frps -c frps.ini
就可以了。默认的frps.ini文件仅有一行:
[common]
bind_port = 7000
记住这个端口,客户端连接这个端口就可以了。
如果是Linux,可以轻松设置脚本的自启动。这里说下Windows,我们可以使用计划任务,创建一个主机启动时触发的计划任务,并且取消一段时间后停止任务。并执行一个简单的脚本来后台运行frps。
举个例子:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:UsersAdministratorDocumentsfrpfrps.exe -c C:UsersAdministratorDocumentsfrpfrps.ini",0
把路径换成你自己的路径就可以了。
FRPC
FRPC我这里只介绍如何进行TCP端口映射,首先说一下frpc.ini这个文件
[common]
server_addr = X.X.X.X(你的服务器IP)
server_port = 7000(服务器上FRPS的端口bind_port)
[CieloPC](你注册的应用名,一个FRPS服务里不能有同名应用)
type = tcp(选择类型为tcp)
local_port = 3389(你要映射的端口)
remote_port = 33891(远程端映射到的端口,注意不要冲突)
custom_domains = aaa.aaa.aaa(你访问用的域名或者ip)
看完这个说明大概就能配了,之后把frpc也注册成启动任务,这样电脑重启后也会自动挂上服务,方法和frps一致的。
启动frpc的命令为
frpc -c frpc.ini