下载frp安装包 :https://github.com/fatedier/frp/releases (下载amd版本)
文档地址:https://frps.cn/document/23.html
下载安装包。
准备
第一个我们的云服务器具有公网1.1.1.1
第二个我们的局域网的服务器 192.168.1.1
将安装包分别上传给两台服务器
在云服务器安装(服务端安装):ip:1.1.1.1
//解压
tar -zxvf frp_0.48.0_linux_amd64.tar.gz -C /usr/
//进入目录
[root@paigu ~]# cd /usr/frp_0.48.0_linux_amd64/
[root@paigu frp_0.48.0_linux_amd64]# ll
total 27420
-rwxr-xr-x 1 1001 docker 12505088 Mar 8 11:46 frpc
-rw-r--r-- 1 1001 docker 11345 Mar 8 11:51 frpc_full.ini
-rw-r--r-- 1 1001 docker 126 Mar 8 11:51 frpc.ini
-rwxr-xr-x 1 1001 docker 15532032 Mar 8 11:47 frps
-rw-r--r-- 1 1001 docker 5907 Mar 8 11:51 frps_full.ini
-rw-r--r-- 1 1001 docker 26 May 18 15:08 frps.ini
-rw-r--r-- 1 1001 docker 11358 Mar 8 11:51 LICENSE
//因为云服务器有公网,所以将他作为服务端,编辑frps.ini文件
vim frps.ini
在里面加入:
[common]
bind_port = 8723
//记得在云服务器安全组开放8723端口
//启动服务端命令:
/usr/frp_0.48.0_linux_amd64/frps -c /usr/frp_0.48.0_linux_amd64/frps.ini
在局域网服务器安装(客户端安装):192.168.1.1
//解压
tar -zxvf frp_0.48.0_linux_amd64.tar.gz -C /usr/
//进入目录
[root@paigu ~]# cd /usr/frp_0.48.0_linux_amd64/
[root@paigu frp_0.48.0_linux_amd64]# ll
total 27420
-rwxr-xr-x 1 1001 docker 12505088 Mar 8 11:46 frpc
-rw-r--r-- 1 1001 docker 11345 Mar 8 11:51 frpc_full.ini
-rw-r--r-- 1 1001 docker 126 Mar 8 11:51 frpc.ini
-rwxr-xr-x 1 1001 docker 15532032 Mar 8 11:47 frps
-rw-r--r-- 1 1001 docker 5907 Mar 8 11:51 frps_full.ini
-rw-r--r-- 1 1001 docker 26 May 18 15:08 frps.ini
-rw-r--r-- 1 1001 docker 11358 Mar 8 11:51 LICENSE
//因为局域网服务器,所以将他作为客户端,编辑frpc.ini文件
vim frpc.ini
在里面加入:
[common]
//此处填写云服务器ip
server_addr = 1.1.1.1
//此处填写云服务器frps.ini文件中暴露的端口
server_port = 8723
[paigussh]
//本机的ssh配置
type = tcp
local_ip = 127.0.0.1
local_port = 22
//通过次端口ssh连接
remote_port = 8755
//记得在云服务器安全组开放8755端口
//启动服务端命令:
/usr/frp_0.48.0_linux_amd64/frpc -c /usr/frp_0.48.0_linux_amd64/frpc.ini
此时两个都启动了,如何连接?
使用工具,比如我的xshell
创建连接,ip填写公网的1.1.1.1,端口不能写22,写8755,如何就可以了。
以上配置只是最简单的配置,但是不安全,建议设置frp的验证密码。具体怎么样设置可以看看文章开头给的文档地址,很容易看得懂。
配置后台启动frp(system启动):
服务端配置
//配置后台启动前可以在frpc.ini和frps.ini文件中配置日志输出目录:
[common]
log_file = /var/log/frps.log
//开始配置system启动 客户端和服务器都可以配置
//服务端
vim /etc/systemd/system/frps.service
//添加:
[Unit]
Description=FRP Server
After=network.target
[Service]
ExecStart=/usr/frp_0.48.0_linux_amd64/frps -c /usr/frp_0.48.0_linux_amd64/frps.ini
Restart=always
[Install]
WantedBy=multi-user.target
客户端配置
//客户端
vim /etc/systemd/system/frpc.service
//添加:
[Unit]
Description=FRP Server
After=network.target
[Service]
ExecStart=/usr/frp_0.48.0_linux_amd64/frpc -c /usr/frp_0.48.0_linux_amd64/frpc.ini
Restart=always
[Install]
WantedBy=multi-user.target
以上配置文件详细解释:
[Unit]部分规定此服务的名字为“FRP Server”,并且会在网络启动完成之后启动。
[Service]部分规定了服务的执行方式。ExecStart定义了服务执行时的命令及其参数,即启动命令。此处运行了一个叫做“frps”的程序,同时传递了一个
参数“-c /usr/frp_0.48.0_linux_amd64/frps.ini”。Restart=always表示如果服务停止了,就会自动重新启动。
[Install]部分规定了此服务应该在何时安装及如何启动。WantedBy=multi-user.target表示此服务将被自动启动,并将为多个用户中的每一个用户提供服务。
//执行以下命令重新加载 systemd 配置并启用 FRP 服务:
systemctl daemon-reload
//服务端:
systemctl enable frps (该命令会将之前创建的systemd服务程序(在此处是frps)添加到开机自启动列表中,并为其生成一个符号链接,以便在系统启动时自动启动服务。这样,即使你重启计算机,服务也会自动开启,无需手动启动。)
//客户端
systemctl enable frpc
//启动服务端
sudo systemctl start frps (该命令会重新加载systemd的配置文件,以使刚才所做的更改生效。因此,当你编辑或者创建一个新的systemd服务时,执行此命令使配置文件生效)
//启动客户端
sudo systemctl start frpc