• Linux安装frp并实现内网穿透


    准备

    一台公网服务器(配置无要求网络稳定就行)
    内网客户端(准备要穿透出去的设备)

    服务端(公网服务器)

    这里是为服务端配置frp 只关注frpsfrps.ini即可
    frp项目地址 :https://github.com/fatedier/frp
    在这里插入图片描述
    不知道公网服务器对应那个架构可以输入:arch 来进行查询自己的架构
    在这里插入图片描述

    x86_64 对应frp_0.38.0_linux_amd64.tar.gz
    
    • 1

    在这里插入图片描述
    解压:tar -zxvf frp_0.48.0_linux_amd64.tar.gz
    进入文件夹:cd frp_0.38.0_linux_amd64/

    frps配置

    对frps.ini文件进行配置

    vim frps.ini

    [common]
    bind_port = 8599
    dashboard_port = 7500
    token = safrhdnv7943horizonlink888
    dashboard_user = admin
    dashboard_pwd = horizonlink888

    bind_port:表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到
    dashboard_port:是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务器的IP)查看frp服务运行信息
    token:用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到
    dashboard_user、dashboard_pwd:表示打开仪表板页面登录的用户名和密码,自行设置即可

    这时候我们的服务器需要放开两个端口 一个为8599(和客户端通信的端口)、另一个为7500(服务端仪表板的端口)

    运行frps

    ./frps -c frps.ini

    出现以下输出说明正常运行
    在这里插入图片描述
    将其在后台运行

    nohup ./frps -c frps.ini &

    查询进程是否存在:ps -aux|grep fr
    这样服务端frp的配置就完成了,通过访问公网7500端口进入后台管理页面

    客户端

    在客户端这边我们只需要关注frpc、frpc.ini就可以了

    安装frp

    步骤同服务端相同自行操作即可

    配置frpc

    cd frp_0.38.0_linux_amd64/
    
    vim frpc.ini
    
    [common]
    server_addr = 47.108.71.55
    server_port = 8599
    token = safrhdnv7943horizonlink888
    
    [8215TO7005]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8125
    remote_port = 7005
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    server_addr:为服务端IP地址,填入即可。
    server_port:为服务器端口,填入你设置的端口号即可,如果未改变就是7000
    token:是你在服务器上设置的连接口令,原样填入即可。
    [xxx]:表示一个规则名称,自己定义,便于查询即可。
    type:表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
    local_port:是本地应用的端口号,需要穿透的端口号。
    remote_port:是该条规则在服务端开放的端口号

    客户端需要放开8125端口

    运行frpc

    一样挂在后台运行即可:nohup ./frpc -c frpc.ini &

    查看后台进程:ps -aux|grep fr

    frp实现内网穿透完成,在服务端通过ip:客户端设置的remote_port即可访问,如是要穿透ssh则local_port设置成22或者其他

    frp中文文档

    https://gofrp.org/

    参考链接:

    https://blog.csdn.net/weixin_49764009/article/details/122018688?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168048838316800211588934%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168048838316800211588934&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-122018688-null-null.142v80insert_down38,201v4add_ask,239v2insert_chatgpt&utm_term=linux%E5%AE%89%E8%A3%85frp%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F

    设置开机自动执行的.sh

    编辑 /etc/rc.d/rc.local
    在上述文件中的 touch /var/lock/subsys/local后面加上要执行的.sh目录及文件名。比如/opt/frp/start.sh

    在这里插入图片描述
    保存退出后执行chmod +x /etc/rc.d/rc.local使开机启动生效

    start.sh

    #!/bin/bash
    
    #启动frpc
    #检查程序的运行状态,避免重复启动
    frpc_kill=`ps -ef | grep "frpc" | grep -v grep | awk '{print $2}'`
    echo ${frpc_kill}
    if [ -n "${frpc_kill}" ];
    then
      echo "frpc started"
    else
      #后台运行脚本
      #这里是你自己的frp路径 进入
      cd /opt/frp/frp_0.48.0_linux_amd64/
      #这里是你自己的frp路径 删除nohup.out文件
      rm -rf /opt/frp/frp_0.48.0_linux_amd64/nohup.out
      #启动frpc
      nohup ./frpc -c frpc.ini &
      #查看启动日志
      tail -f /opt/frp/frp_0.48.0_linux_amd64/nohup.out
      echo "frpc successfully started"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    c语言练习45:模拟实现内存函数memcpy
    react-hooks 在不编写 class 的情况下使用 state 以及其他的 React 特性
    C语言 蓝牙通信
    Linux工具篇Vim
    MybatisPlus搭建项目
    OpenHarmony Axios组件使用过程中,Api9不适配问题
    实战ResNet:CIFAR-10数据集分类
    RabbitMQ-死信队列
    QML粒子系统
    SparkSQL之LogicalPlan概述
  • 原文地址:https://blog.csdn.net/pengxiaozhong/article/details/133993072