本次测试环境为:
服务器端系统是 CentOS release 6.7 (Final)
客户端电脑是 :win 7 64 位
本次安装软件来源及版本
Releases · fatedier/frp (github.com)
版本是 v0.51.3
centos
windows 下载是
本次安装的遇见的问题记录
1. centos 系统下直接 使用wget 会报证书错误,未解决,后使用xshell自带的xftp上传上去的,然后解压后配置下配置问题就可以使用
2. centos系统下 服务端配置文件的端口设置为8000,8080等都无法使用,查看服务器有监听,猜测原因是运营商把端口限制了,后改为默认的7000 或其它更大的端口可以使用
3. 安装客户端的windows电脑(就是需要被远程的电脑或其它服务的) 运行时 看错命令然后一直调试了有几分钟不能用 把frpc.exe -c frpc.ini 写成了 frps.exe -c frpc.ini ,后发现订正后可以正常使用。
本次服务器端(具备公网固定IP的服务器或云主机)和客户端(有网但是无固定ip的网络客户端电脑)配置问题参考如下
服务器端配置:
[common]
# frp监听的端口,默认是7000,可以改成其他的,另外绑定的地址可以是固定的外网地址
bind_addr = 0.0.0.0
bind_port = 60010
# 授权码,请改成更复杂的 token 后面不能加除了 token值外任何内容包括#号的注释 不然有坑
token = abc123456
# frp管理后台端口,请按自己需求更改
dashboard_port = 8500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = abc123456
enable_prometheus = true
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
客户端配置:
[common]
#设置frps服务器端的地址 及就是安装在公网固定ip的公网固定ip
server_addr = 119.xxx.xxx.xxx
#设置frps服务器端的对外服务端口,这个是frpc客户端(本机)和frps服务端 通讯端口
server_port = 60010
#token是在服务器上设置的连接口令,原样填入即可。
token = abc123456
#创建一个穿透服务,命名ssh(名称可以任意取,尽量见名知意)ssh 使用
[ssh]
#代理类型
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 600022
#创建一个穿透服务,命名RDP,一般windows远程桌面使用
[rdp]
#代理类型
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
# 客户端联上服务端后会依照配置文件中的 remote_port 端口在服务器上开启这个端口,从而达到转发的目的
服务器端和客户端的脚本
制作脚本是为了服务器端开机执行frps服务和客户端执行frpc.exe 。
centos服务器端添加servcie 服务方法
# 1、创建frps.service
vim /lib/systemd/system/frps.service
# 2、在frps.service里添加以下内容
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录,写绝对路径)
ExecStart=/home/admin/frp/frps -c /home/admin/frp/frps.ini
[Install]
WantedBy=multi-user.target
windows系统添加bat脚本方法
# windows 脚本 (尴尬是不完全懂是什么意思,先记录下),新建一个frpc.bat文件,
# 把如下内容拷贝进去后运行,另外 cd 后面的路径应该是你自己frpc.exe的目录路径
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd D:\Program Files (x86)\frp
frpc -c frpc.ini
exit