一、FRP介绍
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
服务端和客户端 UI 页面。
二、组网介绍
1、准备一台有公网IP的云服务器,并有远程登录的账号和密码
2、1台本地服务器,有远程登录账号和密码,且可以访问外网
三、软件下载
由于我的云服务器和内网都是centos主机,故下载的软件版本是 frp_0.36.2_linux_386.tar.gz,其它服务器版本请下载其它版本的frp软件
四、服务器端设置
1、登录公网服务器,上传软件frp_0.36.2_linux_386.tar.gz,并把它移动到/frp/frps(需提前创建)目录下
2、解压软件,编辑配置文件 vim frps.ini
[common]
bind_port = 7000 //和客户端连接的端口号,可更改,但是需要在云主机上放行端口号
3、配置开机启动 vim /frp/frps/systemd/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/frp/frps/frps -c /frp/frps/frps.ini //实际的路径,前面已经把文件放到这个目录
[Install]
WantedBy=multi-user.target
4、拷贝配置文件 mv /frp/frps/systemd/frps.service /lib/systemd/system/frps.service
5、设置开机自启 systemctl enable frps
五、客户端配置
1、编辑配置文件,vim /frp/frps/frpc.ini //配置文件放置的路径
[common]
server_addr = 云主机服务器IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001 //穿透的端口号
2、配置开机启动 vim /frp/frps/systemd/frpc.service
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/frp/frpc/frpc -c /frp/frpc/frpc.ini
ExecReload=/frp/frpc/frpc reload -c /frp/frpc/frpc.ini
[Install]
WantedBy=multi-user.target
3、拷贝配置文件 mv /frp/frps/systemd/frpc.service /lib/systemd/system/frpc.service
4、设置开机自启 systemctl enable frpc
六、远程访问
使用crt,IP地址是云主机的IP地址,端口号就是刚设置的6001,实现一个远程的访问