frp介绍
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
配置教程
配置frp穿透,首先必须要有一台具有外网ip的服务器(即:可以外网访问)。如果没有,接下来的教程就不用看了。配置教程主要分为两个部分,一是服务器端(外网服务器)的配置;二是客户端(内网服务器)配置。
下载frp
选择和系统一致的包进行下载。下载的文件包中有服务器端和客户端,需要在Windows部署客户端需要额外下载windows版本的包。
Linux_amd64: Linux_arm: Windows_amd64:
安装frps
服务端的安装以Linux为例,默认监听7500端口。
#下载包 wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz #解压 tar -zxvf frp_0.52.3_linux_amd64.tar.gz #拷贝文件到指定目录 cd frp_0.52.3_linux_amd64 cp frps /usr/frp/frps cp frps.toml /usr/frp/frps.toml #编辑frps.toml vim /usr/frp/frps.toml #begin [common] #请按自己需求更改 #frp监听的端口,默认是7000 bind_port = 7876 #frps服务端与客户端通信端口 #frp管理后台配置 dashboard_port = 7451 dashboard_user = "" #用户名 dashboard_pwd = "" #口令 enable_prometheus = true vhost_http_port = 9721 #http服务需要用到的端口 vhost_https_port = 9722 #https服务需要用到的端口 max_pool_count = 50 #推荐使用,只有共享密钥(secretKey)与服务器端一致的用户才能访问该服务 sk = "blog.xuanzhe.club" #日志相关 log_file = ./frps.log log_level = info log_max_days = 3 #end #编辑frps.service vim /etc/systemd/system/frps.service #begin [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /usr/frp/frps -c /usr/frp/frps.toml [Install] WantedBy = multi-user.target #end #启动frps systemctl start frps #自启frps systemctl enable frps #停止frps systemctl stop frps #重启frps systemctl restart frps #查看frps状态 systemctl status frps #添加监听端口 #frps与客户端通信端口 sudo firewall-cmd --permanent --add-port=7876/tcp #frp管理后台端口 sudo firewall-cmd --permanent --add-port=7451/tcp #远程代理端口号 sudo firewall-cmd --permanent --add-port=4526/tcp sudo firewall-cmd --reload
安装frpc
客户端以Windows为例
解压下载的包,编辑frpc.toml文件
#部署的外网IP serverAddr = "" #外网服务绑定的端口 serverPort = 7876 [[proxies]] name = "2550720300" type = "tcp" sk = "blog.xuanzhe.club" localIP = "127.0.0.1" localPort = 3389 remotePort = 4526
添加frpc到服务
如果choco无法启动
win+x
选择打开powershell(管理员)
执行以下命令
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
安装完成后,cmd执行以下命令:
#安装命令 choco install dart-sdk #更新命令 choco upgrade dart-sdk #安装nssm choco install nssm #安装服务 nssm install frpc
打开NSSM的服务安装程序,填写如下的信息后,点击安装服务。
注:remotePort与每个客户端绑定,不可重复使用。如需绑定不同网段的内网设备,需要使用不一样的端口。
参考文章:
#转载请注明出处!
快来制作你的简历吧 ,请猛戳这里→点击在线制作
宝塔服务器面板,一键全能部署及管理,送你3188元礼包。请猛戳这里→点我领取