当前位置: 首页 > news >正文

内网穿透部署

内网穿透部署

资源准备

  1. 内网穿透软件包:frp,下载frp_0.65.0_linux_amd64.tar.gz
  2. 可以连接公网的云服务器(本次是Ubuntu 24.04)
  3. 本地虚拟机(本次是Ubuntu 24.04)

云服务器frp服务配置

下载并解压内网穿透软件包,打开frps.toml文件,里面存放着当前frp服务的服务端端口,这个端口用于后续frp客户端进行连接,例如设置端口为8081:

bindPort = 8081

使用下面的命令启动frp服务:

# -c表示指定配置文件
./frps -c frps.toml 

启动后可以看到云服务器开始在0.0.0.0:8081端口开始监听

本地虚拟机frp服务配置

打开frpc.toml文件,首先配置要连接的frp服务端IP地址和端口,例如:

serverAddr = "8.110.214.88" # frp服务端IP地址
serverPort = 7011 # frp服务端服务的端口

接下来配置代理,例如:

[[proxies]]
name = "remote-connect" # 服务名称,自定义
type = "tcp" # 使用TCP协议
localIP = "127.0.0.1" # 本地IP
localPort = 22 # 本地SSH服务端口
remotePort = 9011 # frp服务器识别的端口,即一旦是9011端口上的信息就会转发给本地虚拟机的22端口

这个配置的作用是将本地机器的SSH服务(端口22)通过frp服务器暴露到公网。当通过云服务器8.110.214.88:9011端口连接时,frp会将这个连接转发到本地机器的127.0.0.1:22端口,从而实现远程SSH登录到内网机器的功能

需要注意的是,localPortremotePort可以相同,不会产生冲突,因为二者本身不在同一台机器上,localPort工作在本地虚拟机,remotePort工作在云服务器上,只要云服务器没有在指定端口上运行程序就不会出现问题

使用下面的命令启动frp服务:

# -c表示指定配置文件
./frpc -c frps.toml 

一旦连接成功,可以在frp服务端看到有客户端连接成功的日志

注意:
1. 现在可能还不能通过公网的任意一台设备进行连接,需要配置云服务器的安全组,开放的端口即为上面设置的7011和9011,访问来源是任意即可
2. 如果虚拟机开启了防火墙(可以使用sudo ufw status),则需要配置端口,例如:
bash sudo ufw allow 9011

开启本地虚拟机frp服务开机自启动

云服务器因为很少关机,所以基本上不配置,如果需要配置,只需要按照本地虚拟机的配置方式照葫芦画瓢即可,但是需要改变涉及到frpc的地方为frps

配置步骤如下:

  1. frpc文件和其配置文件放到系统指定目录下

  2. 改变文件的拥有者并设置可执行权限

    sudo mkdir -p /etc/frp
    sudo cp /home/yourname/frpc.toml /etc/frp/frpc.toml # /home/yourname替换为实际的frpc.toml文件所在目录
    sudo cp /home/yourname/frpc /usr/local/bin/frpc # # /home/yourname替换为实际的frpc文件所在目录
    sudo chown root:root /usr/local/bin/frpc
    sudo chmod +x /usr/local/bin/frpc
    
  3. 创建systemd服务文件

    sudo vim /etc/systemd/system/frpc.service # 也可以使用其他文本编辑器
    
  4. 编辑配置文件内容

    [Unit]
    Description=FRP Client Service # frp服务端就将Client修改为Server
    After=network.target[Service]
    Type=simple
    User=root
    Group=root
    ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml # 如果是frp服务端,需要配置为frps,就是第一步拷贝的文件路径
    Restart=always
    RestartSec=3
    LimitNOFILE=1048576[Install]
    WantedBy=multi-user.target
    

    说明:

    1. User=root:如果你的frp需要绑定80443等特权端口,必须用root。如不需要,可改为你自己的用户
    2. Restart=always:崩溃后自动重启
    3. LimitNOFILE=1048576:提升文件描述符限制,避免高并发时出错
    4. After=network.target:确保网络启动后再启动frp服务
  5. 重载systemd配置并启用自启动

    # 重载systemd配置
    sudo systemctl daemon-reload 
    # 启用开机自启
    # 如果是frp服务端,需要将frpc修改为frps,后面类似
    sudo systemctl enable frpc
    # 启动服务
    sudo systemctl start frpc
    # 查看状态
    sudo systemctl status frpc
    # 查看日志(实时)
    sudo journalctl -u frpc -f 
    

其他服务管理命令:

# 启动
sudo systemctl start frps
# 停止
sudo systemctl stop frps
# 重启
sudo systemctl restart frps
# 查看状态
sudo systemctl status frps
# 查看日志(实时)
sudo journalctl -u frps -f
# 禁用自启
sudo systemctl disable frps
http://www.dtcms.com/a/422852.html

相关文章:

  • port hybrid pvid vlan vlan-id 概念及题目
  • 十大高端网站定制设计在线制作图片的软件
  • sentinel docker gateway k8s 集群 主从
  • 嘉兴高端网站定制进销存软件排行榜前十名
  • 一个wordpress的爱好者北京关键词优化平台
  • 第四部分:VTK常用类详解(第111章 vtkGlyph3D符号化类)
  • 联邦大型语言模型、多智能体大型语言模型是什么?
  • Apache Doris 入门与技术替代方案
  • Day31_【 NLP _1.文本预处理 _(1)文本处理的基本方法】
  • 网站服务器 内容更新linux主机做网站
  • 外贸网站主机选择十大网游人气排行榜
  • 3D 和 4D 世界建模:综述(上)
  • C++单头文件实现windows进程间通信(基于命名管道)
  • Apache Flink:流处理革命的领导者与新一代大数据计算引擎
  • YOLO入门教程(番外):深度学习概识
  • 如何在 Apache 中启用 HSTS 以增强网络安全性 ?
  • AI 基础知识二 神经网络概述
  • 点拓网站建设做爰的细节描述和过程网站
  • 外贸网站建设哪家有名网站建设技术包括哪些方面
  • 鸿蒙NEXT安全单元访问开发指南:构建可信应用的安全基石
  • 申请免费网站建设网址备案
  • 排序算法汇总,堆排序,归并排序,冒泡排序,插入排序
  • 第四部分:VTK常用类详解(第110章 vtkVolumeTextureMapper2D体绘制纹理映射器类)
  • 【Linux网络】Socket编程:UDP网络编程实现ChatServer
  • Context Compliance Attack:大模型安全的新兴威胁与防御策略
  • 如何通过限制网络访问来降低服务器被攻击的风险?
  • 吉林省建设部网站yy直播是干什么的
  • 13.stack容器和queue容器
  • 详解STL中stack_queue为什么选择deque作为默认容器
  • ubuntu下AstrBot +NapCat QQ机器人