frp搭建与使用教程
背景:
当下各种原因的复杂环境之下,在外不方便访问家中的内部设备,想寻求一种解决措施——frp
FRP是一款开源的、高性能的反向代理软件,其全称是Fast Reverse Proxy。它主要用于将一个内网服务暴露到公网上,以便外网用户可以访问该服务。FRP使用简单,支持多种协议,包括TCP、UDP、HTTP、HTTPS等。
一、前置准备
外网服务器一台(或者有公网ip的机器如腾讯服务器);
腾讯优惠券
内网服务器一台(win7/10电脑);
二、下载文件
下载地址:GitHub地址
关于arm/amd版本:
Linux系统可以通过如下命令确认
~ arch
# 查看当前系统是amd/arm
x86_64
# 返回x86_64就是amd架构的。
~ getconf LONG_BIT
64
# 返回64就是64位的
我这里确认是AMD64
位版本
Linux 0.51.2 版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
Window 0.51.2 版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_darwin_amd64.tar.gz
注意客户端与服务端版本尽量要一致
解压
[~] tar -zxvf frp_0.51.2_linux_amd64.tar.gz
frp_0.51.2_linux_amd64/
frp_0.51.2_linux_amd64/frpc.ini
frp_0.51.2_linux_amd64/frpc_full.ini
frp_0.51.2_linux_amd64/frps_full.ini
frp_0.51.2_linux_amd64/frps.ini
frp_0.51.2_linux_amd64/LICENSE
frp_0.51.2_linux_amd64/frpc
frp_0.51.2_linux_amd64/frps
# 改个名称方便后面操作
[~] mv frp_0.51.2_linux_amd64 frp_0.51.2
三、配置服务端(linux)
# 进入目录
[~] cd frp_0.51.2
# 展开列表
ll
[~ frp_0.51.2] ll
总用量 30768
-rwxr-xr-x 1 www docker 14278656 7月 25 21:39 frpc
-rw-r--r-- 1 www docker 12669 7月 25 21:44 frpc_full.ini
-rw-r--r-- 1 www docker 126 7月 25 21:44 frpc.ini
-rwxr-xr-x 1 www docker 17182720 7月 25 21:39 frps
-rw-r--r-- 1 www docker 5933 7月 25 21:44 frps_full.ini
-rw-r--r-- 1 www docker 28 7月 27 11:31 frps.ini
-rw-r--r-- 1 www docker 11358 7月 25 21:44 LICENSE
# 注意frpc是客户端,如果用不到,相关的都可以删除
# frps是服务端,我用当前主机当服务端,所以需要修改frps.ini
vim frps.ini
端口默认是 7000 ,为了安全,改成15000
(注意需要在Linux中和云服务器放火墙都放开该端口)
实际上还有一个web管理端默认端口7500,也是需要放开的
四、开启面板
方便后期监控状态
vim frps.ini
[common]
bind_port = 15000
# 远程访问监控面板的端口
dashboard_port = 7501
# dashboard user and passwd for basic auth protect
dashboard_user = admin
dashboard_pwd = admin
# dashboard TLS mode
dashboard_tls_mode = false
# dashboard_tls_cert_file = server.crt
# dashboard_tls_key_file = server.key
# enable_prometheus will export prometheus metrics on {dashboard_addr}:{dashboard_port} in /metrics api.
enable_prometheus = true
服务端基本准备好了
可以直接运行如下命令启动
./frps -c ./frps.ini
但是为了后期自动启动,使用systemctl
五、使用systemctl来控制frps
如Linux服务端上没有安装
systemd
,可以使用yum
或apt
等命令安装systemd
。
# yum
yum install systemd
# apt
apt install systemd
- 进入systemctl目录,创建
frps.service
cd /etc/systemd/system/
vim frps.service
# 或者直接
vim /etc/systemd/system/frps.service
- 复制下面的代码到文件
(frps.service)
中
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.51.2/frps -c /root/frp_0.51.2/frps.ini
[Install]
WantedBy = multi-user.target
- 相关
systemd
命令
systemctl start frps #启动frps
systemctl restart frps #重启frps
systemctl stop frps #停止frps
systemctl status frps # 查看运行日志
- 配置
frps
开机启动
systemctl enable frps #服务器开机自动启动frps
六、配置客户端
客户端就直接下载,确实客户端和服务端是一样的,只是调用的文件不同,一个是frpc/frps:
Window 0.51.2
版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_windows_amd64.zip
注意电脑的杀毒软件可能会删除它
-
客户端解压,注意只会用到frpc,其他的可以删除
-
为了方便自己写了一个
startup.bat
脚本。
-
打开
frpc.ini
,进行相关配置
这里说明一下参数:
[ssh] 实际上它是可以随意命名的,且可以同时配置多个
local_ip为需要映射到外网的主机
local_port 端口为需要映射到外网的主机端口
remote_port 是外网访问的时候
以上配置最终外网访问192.168.1.123:22
变成外网访问就是
124.xxx.xxx.xxx:6000
(腾讯云服务器公网ip)
- 客户端启动
以上图片中看到success就是成功启动了
最后可以访问服务端的控制台,看看链接状态
http://124.xxx.xx.xx:7501
账号密码在上面的配置中查看
更多推荐
所有评论(0)