[玩转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日志并进行多维度分析。
目录
相关文章
|
26天前
|
资源调度 JavaScript Linux
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
|
1月前
|
机器学习/深度学习 监控 Linux
eLxr 简介——为边缘到云部署提供企业级Linux
eLxr项目发布了Debian衍生版的第一个版本,继承了Debian的智能边缘功能,并计划对这些功能进行扩展,以便简化边缘到云的部署方法。eLxr是一个开源企业级Linux发行版,旨在应对近边缘网络和工作负载的独特挑战。
|
17天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
29天前
|
Web App开发 编解码 Linux
使用Selenium自动化测试解决报告生成失败问题及Linux部署指南
这篇文章介绍了使用Selenium自动化测试解决报告生成失败问题的方法,包括Linux环境下的部署指南和代码实现。
21 1
使用Selenium自动化测试解决报告生成失败问题及Linux部署指南
|
26天前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
27天前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
30天前
|
安全 Linux Shell
在Linux中,如何使用脚本进行系统配置和部署?
在Linux中,如何使用脚本进行系统配置和部署?
|
1月前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署CodeX Docs文档工具
【8月更文挑战第7天】Linux系统之部署CodeX Docs文档工具
38 4
|
1月前
|
Linux 网络安全 Windows
[linux]frp内网穿透
[linux]frp内网穿透
|
26天前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?