[玩转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日志并进行多维度分析。
目录
相关文章
|
15天前
|
机器学习/深度学习 监控 Linux
eLxr 简介——为边缘到云部署提供企业级Linux
eLxr项目发布了Debian衍生版的第一个版本,继承了Debian的智能边缘功能,并计划对这些功能进行扩展,以便简化边缘到云的部署方法。eLxr是一个开源企业级Linux发行版,旨在应对近边缘网络和工作负载的独特挑战。
|
1月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
24天前
|
监控 Linux Shell
Linux系统之部署Linux命令大全搜索工具
【7月更文挑战第24天】Linux系统之部署Linux命令大全搜索工具
42 2
Linux系统之部署Linux命令大全搜索工具
|
13天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署CodeX Docs文档工具
【8月更文挑战第7天】Linux系统之部署CodeX Docs文档工具
28 4
|
12天前
|
Linux 网络安全 Windows
[linux]frp内网穿透
[linux]frp内网穿透
|
18天前
|
资源调度 JavaScript Ubuntu
Linux系统之部署RSS阅读器yarr
【8月更文挑战第1天】Linux系统之部署RSS阅读器yarr
24 3
|
20天前
|
关系型数据库 Linux 数据库
如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
本文指导用户如何在Linux服务器上使用Docker Compose部署Halo博客系统。首先确保拥有Linux服务器并安装Docker及Docker Compose。接着创建文件夹(例如`~/halo`),用于存放所有Halo相关数据。可以选择不同的Halo Docker镜像源,推荐使用具体版本而非`latest`标签以避免误操作。示例中提供了三种`docker-compose.yaml`配置方法:Halo+PostgreSQL、Halo+MySQL以及使用默认的H2数据库。每种配置都包括网络设置、健康检查和环境变量。
51 1
|
28天前
|
JavaScript 前端开发 Linux
【好玩的开源项目】Linux系统之部署捕鱼达人经典小游戏
【7月更文挑战第20天】Linux系统之部署捕鱼达人经典小游戏
40 7
|
30天前
|
Linux 测试技术 网络安全
【好玩的开源项目】Linux系统之部署吃豆人经典小游戏
【7月更文挑战第18天】Linux系统之部署吃豆人经典小游戏
60 2
|
1月前
|
Linux 测试技术 网络安全
【好玩的开源项目】Linux系统之部署跳一跳经典小游戏
【7月更文挑战第16天】Linux系统之部署跳一跳经典小游戏
47 7