因为工作的原因,平时都是用linux系统部署软件,但是我的IP代理服务器是windows系统的,所以这两种系统我都研究了一下如何搭建frp内网穿透服务端。
windows服务端/客户端下载地址:点此下载
linux服务端和windows客户端下载地址:点此下载
windows服务端部署
1.把压缩包解压后,将以下配置复制到服务端配置文件,即frps.ini文件
[common]bind_addr = 0.0.0.0#服务端运行端口,可以自定义1-65535之间即可bind_port = 9527#dashboard WEB控制台登录用户名,可以自定义dashboard_user = admin#dashboard WEB控制台登录密码dashboard_pwd = 12345#dashboard WEB控制台端口,可以自定义1-65535之间即可,启动后通过浏览器访问如http://ip:8080dashboard_port = 8080#设置客户端token,对应客户端的token配置,作用类似密码验证,可以自定义token = 123456789
2.WIN+R输入cmd,打开命令提示符
3.复制服务端路径
4.在命令提示符中输入cd 路径后回车,在输入 frps.exe -c frps.ini后回车
5.浏览器输入服务端IP:端口,查看是否部署成功,例如:
备注:服务器开放防火墙TCP的8080,9090,9527端口
CentOs 7.3服务端部署
1.使用CRT或者Xshell等工具连上服务器后,切换至/usr/local路径
cd /usr/local
1.在 /usr/local目录下,输入rz并按下回车键,选择安装包进行上传
rz
3.解压安装包
tar -zxvf frp_0.37.1_linux_amd64.tar.gz
4.重命名解压后的目录,方便后面填写路径
mv frp_0.37.1_linux_amd64 frp
5.编辑frps.ini文件
vi /usr/local/frp/frps.ini
6.先按下“i”键进入输入模式,将以下内容复制进去,,按下“esc”键,再按下“:”键,输入“wq!”后回车。
[common]bind_addr = 0.0.0.0#服务器代理端口bind_port = 9527#与客户端进行校验的令牌token = 123456789#控制面板的账号dashboard_user = admin#控制面板的密码dashboard_pwd = admin123#控制面板端口号dashboard_port = 8080
7.启动frp服务
./frps -c ./frps.ini
8.添加systemd配置文件,不然每次服务器重启后都要手动启动服务
vim /usr/lib/systemd/system/frps.service
9.先按下“i”键进入输入模式,将以下内容复制进去,,按下“esc”键,再按下“:”键,输入“wq!”后回车。
[Unit]Description=frpsAfter=network.target[Service]TimeoutStartSec=30ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.iniExecStop=/bin/kill $MAINPID[Install]WantedBy=multi-user.target
10.设置开机启动
systemctl daemon-reloadsystemctl enable frp
11.启动frp服务端
systemctl start frp
12.检查服务是否运行起来,看下有没有返回值,有的话,说明成功了。成功了最好重启服务器再验证一下
ps -aux | grep frps
备注:服务器开放防火墙TCP的8080,9090,9527端口
客户端配置
1.把压缩包解压后,将以下配置复制到客户端配置文件,即frpc.ini文件,如果有多台PC需要远程,就把remote_port改成不一样的,比如A电脑配置为9090,B电脑配置为9091,C电脑配置为9092........
[common]# 配置服务器IP地址server_addr = 这里填服务器IP#配置服务端监听的端口,与服务端的bind_port端口保持一致server_port = 9527#服务端配置token,将服务端配置的token复制到此处token = 123456789pool_count = 5#这里是配置端口范围转发[range:services]#类型为tcptype = tcp#本地ip地址通常为127.0.0.1local_ip = 127.0.0.1#本机的远程端口,默认为3389local_port = 3389#映射到服务端的端口范围(公网服务器可用的端口,1-66535)remote_port =9090
2.在命令提示符中执行 frpc.exe -c frpc.ini即可,操作步骤和服务端配置步骤2-3相似
3.任务管理器中查看是否有这项进程
最后就可以通过服务器IP+端口远程到内网的电脑上了,例如我映射的端口是9090,那就是服务器IP:9090进行访问。
Windows客户端/服务端开机自启
方法一:
1.编辑文件winsw.xml,将路径替换为文件所在路径,如果是服务端就把frpc.exe更改为frps.exe
2.管理员模式运行命令提示符,切到到文件路径后,执行 winsw.exe install
3.检查服务是否启动
4.操作指令
winsw.exe install //注册winsw.exe uninstall //卸载winsw.exe start //启动winsw.exe stop //停止winsw.exe restart //重启winsw.exe status //查看状态
方法二:
1.在frp 目录下,新建一个start.bat的文件,复制下面内容进去,最下面“D:\FRP\”是绝对路径,根据自己的情况进行替换,如果是服务端就把frpc.exe更改为frps.exe
@echo offif "%1" == "h" goto beginmshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit:beginD:\FRP\frpc.exe -c D:\FRP\frpc.ini
2.加start.bat添加进开机服务,右键【此电脑】-【管理】-【任务计划程序】-【创建任务】,并按如下操作,然后确定即可。