内网穿透之FRP,域名访问本地服务(1),Linux运维数据结构算法面试题
Install]sudo systemctl enable frps# 允许自启动。
[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运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**





**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**

为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

本份面试集锦涵盖了
* **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行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-FXAdpujQ-1712611874669)]

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