1.概述:
frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp、udp、http、https等协议,frp官网:https://github.com/fatedier/frp
2.frp工作原理:
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口的转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户链接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从⽽实现内⽹对外暴露服务的能⼒。
3.安装配置
tdr 内⽹主机 不可以被⽹络访问
tds 外⽹主机 可以被外⽹通过ip或者域名访问
使⽤tds代理tdr主机,通过访问tds主机管理tdr主机
访问tds主机的特定端⼝,管理tdr主机的22端⼝
现在我们说tds为服务端,提供代理服务
tdr主机是客户端,被代理了
[root@tdr ~]# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz //已经给好的tar包
[root@tdr ~]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz //解压
[root@tdr ~]# cd frp/
[root@tdr frp]# ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd
[root@tdr frp]# cd
打开另一台主机(tds),创建/frp
[root@tds ~]# mkdir /frp
回到本机(tdr)
[root@tdr ~]# scp -r frp/* root@192.168.1.125:/frp
去另一台主机(tds)做服务端,提供代理服务
[root@tds ~]# vim /frp/frps.ini //注意文件名称
[common] //服务名称
bind_port = 7000 //服务端口
dashboard_user=aaa //控制台面板账号
dashboard_pwd=aaa //控制台密码
dashboard_port=7500 //控制台端口
token=xxxxxxxx //代理标识
这会防火墙必须打开
[root@tds frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent //打开控制台⾯板端⼝
success
[root@tds frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent //打开frp服务端⼝
success
[root@tds frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent //打开⼀组客户端⼝
success
[root@tds frp]# firewall-cmd --reload //加载防火墙更新
success
[root@tds frp]# ./frps -c frps.ini //注意文件名,这是server机
浏览器访问192.168.1.125:7500