下载地址:https://github.com/fatedier/frp/releases
FRP原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
下载安装服务端软件
[root@web ~]# wget [root@web ~]# tar -zxvf frp_0.55.1_linux_amd64.tar.gz [root@web ~]# mv frp_0.55.1_linux_amd64 frp [root@web ~]# cd /sjd
修改配置文件:frps.toml
[root@web sjd]# cd frp [root@web frp]# vim frps.toml bindPort = 7000 # The default value is 127.0.0.1. Change it to 0.0.0.0 when you want to access it from a public network. webServer.addr = "0.0.0.0" webServer.port = 7500 # 配置 Web 服务器以启用 frps 的仪表板。 webServer.user = "admin" webServer.password = "admin"
默认frp是用命令在前台运行,我们来创建服务的方式后台运行
[root@web frp]# vim /etc/systemd/system/frps.service [Unit] Description=frps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令,下面是你的frp的安装运行路径 ExecStart=/sjd/frp/frps -c /sjd/frp/frps.toml [Install] WantedBy=multi-user.target [root@web frp]# systemctl start frps #写入上面内容后,使用命令启动服务 stop restart等 [root@web frp]# systemctl enable frps #添加到开机启动里面
web仪表板看到的客户端连接信息
客户端配置,因为使用的是XP系统,下载frp_0.20.0_windows_386.zip
解决后修改配置文件frpc.ini
[common] server_addr = frp服务器端的IP server_port = 7001 [mir1] type = tcp local_ip = 127.0.0.1 local_port = 7000 remote_port = 7000 [mir2] type = tcp local_ip = 127.0.0.1 local_port = 7100 remote_port = 7100 [mir3] type = tcp local_ip = 127.0.0.1 local_port = 7200 remote_port = 7200 [mir4] type = tcp local_ip = 127.0.0.1 local_port = 7300 remote_port = 7300 [mir5] type = tcp local_ip = 127.0.0.1 local_port = 7400 remote_port = 7400
客户端做开机启动,写一个bat文件,然后添加到任务计划里开机启动
@echo off D:\frp\frpc.exe -c D:\frp\frpc.ini
也可以将frp注册成windows服务,就不用看到黑框框了,注册服务的工具nssm
将nssm.exe程序复制到需要注册系统服务的应用程序目录下
cmd到应用目录下,执行: nssm install 自定义服务名称
选择frpc.exe文件所在路径,配置启动参数,添加成功后,运行services.msc 找到frp服务启动它
本文为 小风原创文章,转载无需和我联系,但请注明来自 小风博客www.hotxf.com