FRP 搭建将内网服务穿透至Internet网路访问
frp(v0.58.1)实战教程
进来的朋友,你好! 这是由 张奔奔 同学搭建的 Windows 与 Centos 最新的FRP内网穿透服务的实战教程,志在解决由于局域网测试版本系统无法实现外网访问的弊端。特此编写本贴,什么是frp?什么是内外网穿透?请各位小伙伴自行百度,不做过多赘述,接下来,我们就进入实战环境。
FRP版本
本教程使用当前最新版本:0.58.1。
FRP分为两个主要组件:
FRPC:用于搭建在内网设备上,例如你的 Linux 计算机。
FRPS:用于搭建在具有公网IP的 Windows 服务器上。
在本教程中,我们将介绍如何在设备上搭建 FRP,以实现内网穿透功能,让你能够方便地访问本地文件或服务。
1.依赖的frp下载
1.1 我们首先进入0.58.1版本的下载地址:
https://github.com/fatedier/frp/releases
1.2 找到对应的 windows 和 linux 版本
Linux系统也可使用下方链接直接下载,为方式Github网站网络的不稳定性,依然建议使用下载文件包
wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
2.战术攻击Windows服务器
1.1 将下载好的 frp_0.58.1_windows_amd64.zip 传输至Windows 服务器中,并在自定义的文件夹中进行解压,解压后如下:
1.2 接下来要明确,服务器端使用的文件为 frps.exe + frp.toml,接下来我们用记事本或者Notepad++ 打开 “frp.toml” 文件 ,如下如图,并根据实际需要替换成自己需要的内容
#服务端监听端口
bindport = 7000
#服务端连接身份认证,默认token,可根据自己需要进行配置
auth,method = "token"
#服务端token密码,可根据自己需要进行配置
auth,token = "noke"
#服务端IP
webserver.addr = "0.0.0.0"
#服务端仪表板端口,可以根据实际自定义访问端口号
webserver.port = 9211
#访间web时的账号
webserver.user = "zhangbenben"
#访间web时的密码
webserver.password = "stkj@2022"
#设定自己服务穿透访问的端口号,可自行设置一个或多个端口号
vhostHrTPPort = 9212
#编辑完成后保存
此处需要注意: 你的服务器一定要在 “出入站规则” 和 “防火墙” 中放通你在配置文件中设置的端口号.
1.3 运行服务器端的frp程序
在文件夹中直接输入 cmd
弹出命令窗口后,在命令窗口中输入如下命令,显示frps started successfully ,证明启动成功。
frps -c frps.toml
1.4 产看运行后的仪表盘
在浏览器中输入您设置好的 IP地址 + 仪表盘访问端口号
3.战术攻击Linux客户端
3.1 通过Xftp或其他linux管理工具,将下载好的程序包传输至客户端中或直接使用程序下载 命令。
3.2 程序解压,使用Xshell 或其他Linux管理工具,将下载好的程序包进行解压
tar zxvf frp_0.58.1_linux_amd64.tar.gz
解压后进入文件目录
cd frp_0.58.1_linux_amd64/
配置frpc.toml配置信息,
vim frpc.toml
点击 i 配置信息如下:
# 访问服务端程序的服务器IP
serverAddr = "111.111.120.110"
# 服务端监听端口号,要与服务frps端端口一至
serverPort = 7000
# 验证连接,toke值,需要与服务服务frps端端口一至
auth.method = "token"
# 验证连接,密码值,需要与服务服务frps端端口一至
auth.token = "zhangbenben"
[[proxies]]
# 服务名称,可在仪表盘中显示
name = "PY"
# 穿透方式,http、tcp、udp、https、stcp等根据需要设置
type = "http"
# 本地需要穿透的ip地址
localIP = "192.168.1.201"
# 需要穿透的服务端口号
localPort = 80
# 外网访问的路径地址
customDomains = ["stpy.yuming.com"]
# 转发映射的端口号
remotePort = 9212
保存操作 ESC ,下一步:wq
3.3 启动本地映射端
./frpc -c frpc.toml
如果要隐藏运行程序,需使用一下命令
nohup frpc ./frpc -c frpc.toml > output.log 2>&1 &
关闭运行程序:
需要使用 ps -aux|grep frpc 或 jobs 查询当前运行的进程Id,在使用 kill +Id将进程杀死。
至此,搭建内网穿透教程就已经完成了,已经将本地Linux系统的web服务通过Windows服务器转发至Internet进行大家访问了
可以通过: http://stpy.yuming.com:9212
配置customDomains域名+remotePort的端口号
其他: 如果想要制作后使用便利,那么在Windows环境下可以创建 .bat快捷启动脚本、在Linux环境下创建 .sh 快捷启动脚本 .