[玩转Linux] 安装部署Frp

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: [玩转Linux] 安装部署Frp
没有公网IP怎么怎么访问自己的路由器呢? 最便携的方法当属于使用FRP内网穿透应用了

方法/步骤

一: Linux平台

1.1 配置FRPS

1.1.1 打开frps.ini

[common]
# frp 服务端端口(默认端口号7000)
bind_port = 7000

# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 8080
vhost_https_port = 443




# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
# authentication_timeout = 900




# 仪表盘端口,只有设置了才能使用仪表盘(默认端口号7500)
dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
dashboard_user = admin
dashboard_pwd = admin




#日志路径
#日志记录级别
#日志保留天数
log_file = /usr/local/frps/frps.log
log_level = debug
log_max_days = 7

1.1.2 系统配置systemctl

# 创建frps.service
sudo vim /lib/systemd/system/frps.service

# 在frps.service里添加以下内容

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.ini  

[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frps安装路径(本文以安装到/usr/local/为例)

1.1.3 启动并设置开机重启

# 启动frps
sudo systemctl start frps

# 服务器开机自动启动frps
sudo systemctl enable frps

# 重启frps
sudo systemctl restart frps

# 停止frps
sudo systemctl stop frps

# 查看日志
sudo systemctl status frps

1.1.4 使用配置frps.ini启动命令:

nohup ./frps -c ./frps.ini &

1.2 配置FRPC

1.2.1 配置frpc.ini

[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx

[server1]
type = tcp
local_ip = 127.0.0.1 
local_port = 3306
remote_port = 3306

1.2.2 系统配置systemctl

# 创建frps.service
sudo vim /lib/systemd/system/frpc.service

# 在frps.service里添加以下内容

[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini  

[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frpc安装路径(本文以安装到/usr/local/为例)

1.2.3 启动并设置开机重启

# 启动frpc
sudo systemctl start frpc

# 服务器开机自动启动frpc
sudo systemctl enable frpc

# 重启frpc
sudo systemctl restart frpc

# 停止frpc
sudo systemctl stop frpc

# 查看日志
sudo systemctl status frpc

二: Windows 平台

要暴露设备的客户端配置: common 配置是服务端端口号
remote_port 在公网服务要暴漏的端口号

2.1 Frpc

2.1.1 编辑 frpc.ini文件

[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx

[server2]
type = tcp
local_ip = 127.0.0.1 
local_port = 6200
remote_port = 6200
  • 添加脚本(供计划任务使用)

start.bat

@echo off
:home
frpc -c frpc.ini
goto home

2.1.2 Frpc开机启动

开机启动可以加入操作系统计划任务或者使用工具进行

2.1.2.1 使用win10 任务计划

计算机管理--> 任务计划程序--> 创建任务
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.1.2.2 使用 WinSW 工具进行开机启动
Windows 启动工具 winSW 下载地址: https://github.com/winsw/winsw/releases
<service>
    <id>frp</id>
    <name>frp</name>
    <description>用frp发布本地电脑网站到外网</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。(执行winsw install如果返回值为0,说明已将程序注册为服务)

winsw install  
winsw start  

其他相关文章

🧲Nginx的安装和配置
🧲MySQL安装和配置

参考资料 & 致谢

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
107 1
Linux系统之部署轻量级Markdown文本编辑器
|
4月前
|
资源调度 JavaScript Linux
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
|
2月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
83 41
Linux系统之部署homer静态主页
|
2月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
103 3
Linux系统之部署Linux管理面板1Panel
|
2月前
|
Web App开发 资源调度 网络协议
Linux系统之部署IP工具箱MyIP
【10月更文挑战第5天】使用Docker部署Radicale日历和联系人应用Linux系统之部署IP工具箱MyIP
108 1
Linux系统之部署IP工具箱MyIP
|
2月前
|
Linux Shell 异构计算
在linux上部署yolov5和安装miniconda3
这篇文章介绍了在Linux系统上部署YOLOv5并安装Miniconda3的步骤,包括使用wget命令下载Miniconda安装脚本、安装Miniconda、初始化Conda环境、添加镜像源等。
105 3
在linux上部署yolov5和安装miniconda3
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
65 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
59 2
|
2月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
596 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!