[Install]
WantedBy=multi-user.target


设置自启动,并启动服务:



sudo systemctl enable frps # 允许自启动

执行成功会提示“Created symlink /etc/systemd/system/multi-user.target.wants/frps.service → /usr/lib/systemd/system/frps.service.”

sudo systemctl start frps # 启动客户端服务


后续如果更改了配置文件,执行下边命令重启服务:



sudo systemctl daemon-reload
sudo systemctl restart frps


查看服务状态:



sudo systemctl status frps # 查看服务状态



> 
> 注:以上为云服务端配置,内网客户端也需要配置
> 
> 
> 


#### 3.3.3 客户端配置


将 `client` 目录上传到内网服务器,原来frpc.toml的内容删了,按照如下编辑 frpc.toml,参数见注释。



[common]

服务端公网IP、监听端口bind_port

serverAddr = “公网IP地址”
serverPort = 7000

webServer.addr = “0.0.0.0”
webServer.port = 7500
webServer.user = “username”
webServer.password = “password”

授权码

auth.method = “token”
auth.token = “e10adc3949ba59abbe56e057f20f883e”

设置心跳

auth.additionalScopes = [“HeartBeats”]

去除访问限速

transport.tcpMux = false

frp日志配置

log.to = “./frpc.log”
log.level = “info”
log.maxDays = 3

[[proxies]]
name = “ssh”
type = “tcp”
localIP = “127.0.0.1”
localPort = 22
remotePort = 2288

name 为服务名称,下方解释:访问frp服务端的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。

type 为连接的类型,此处为tcp

localIP 为中转客户端实际访问的IP

localPort 为目标端口

remotePort 为远程端口,记得服务端的防火墙打开这个端口


同样地,本地执行 `./frpc -c frpc.toml` 即可启动客户端。



> 
> 注:frpc.toml可以改名;frpc.toml每一行内容的后面不可以加注释,否则会报错。建议使用 tmux 在后台启动服务  
>  内网服务器一定要能够访问外网(`如果是校园网,网络断开的话要重新登陆才行,否则服务也会断开`)
> 
> 
> 


回到服务器的dashboard界面,找到tcp端口,可以看到2288端口已经是online状态,即绑定成功。以上所有相当于`公网IP:2288对应127.0.0.1:22`


#### 3.3.4 访问内网其他服务


在上面的client端,也就是`frpc.toml`文件末尾添加:



[[proxies]]
name = “ssh”
type = “tcp”
localIP = “127.0.0.1”
localPort = 9800
remotePort = 9000


### 3.2 第二种方式:通过docker启动服务


使用frp软件时,在某些服务器上是二进制文件,通过`sudo chmod +x frpc`等指令也无法执行,那么docker可以完美解决所有问题。


#### 3.2.1 使用方法:


过程同第一种类似。只有在`./frps -c frps.toml`和`./frpc -c frpc.toml`的时候,换成通过docker启动即可,首先安装docker:



安装docker

sudo apt install docker.io -y

创建用户组

sudo groupadd docker

将用户添加到 docker

sudo usermod -aG docker $USER

重启docker服务(生产环境慎用):

sudo systemctl restart docker

添加访问和执行权限:

sudo chmod a+rw /var/run/docker.sock

查看当前 docker 用户列表

sudo cat /etc/group | grep docker


**公网的服务端**:  
 编辑配置文件,可以放在`/etc/frpc/frps.toml`,内容如下:



[common]

frp监听的端口,默认是7000,可修改

bind_port = 7000

开启Dashboard用于管理和查看服务状态。Dashboard端口、用户名和密码,请改成更复杂的。

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123456

认证token,增加安全性。请改成更复杂的,这个token之后在客户端会用到

token = e10adc3949ba59abbe56e057f20f883e

去掉速度限制

tcp_mux = false

frp日志配置

log_file = ./frps.log
log_level = info
log_max_days = 3


然后启动docker:



docker镜像:snowdreamtech/frps

重启:always

网络模式:host

文件映射:/your-toml-path/frps.toml:/etc/frp/frps.toml

docker run --restart=always --network host -d -v /your-toml-path/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps


**内网客户端:**  
 编辑配置文件,可以放在`/etc/frpc/frpc.toml`,内容如下:



[common]

服务端公网ip、监听端口bind_port

server_addr = 公网IP地址
server_port = 7000

服务端的授权码

token = e10adc3949ba59abbe56e057f20f883e

去掉速度限制

tcp_mux = false

[single step web ui]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288


然后启动docker:



docker镜像:snowdreamtech/frpc

重启:always

网络模式:host

文件映射:/your-toml-path/frpc.toml:/etc/frp/frpc.toml

docker run --restart=always --network host -d -v /your-toml-path/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc



> 
> 注:公网的服务端和内网的客户端区别在于:docker镜像不一致。
> 
> 
> 


## 四、心跳设置


如不设置心跳,FRP 创建的连接可能在间隔较长时间后会断开,重新连接需刷新几次才能成功。FRP 本身提供了心跳机制来维持连接。




---





**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/ad4ef62064b744a1411ccc58a02c2fbf.png)
![img](https://img-blog.csdnimg.cn/img_convert/c074e37777f9b39f185dd7edce2b5583.png)
![img](https://img-blog.csdnimg.cn/img_convert/31e52fadcb1683880bf7107f3321f654.png)
![img](https://img-blog.csdnimg.cn/img_convert/9b36aefc38024b25a483cfe5a9fd49e1.png)
![img](https://img-blog.csdnimg.cn/img_convert/5f2a180fd0c1b3bcbcf1d605bd551347.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/a700a4f2682bde916b2bb8c8b61e5b7c.jpeg)



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/c90a7f95b73e361d57a940e53f4dae0b.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/a4480f4634738968ffc2ae49e6f1ef44.jpeg)

11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-FXAdpujQ-1712611874669)]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐