centos7内网穿透frp配置

  1. 服务器选择说明:
    公网:阿里云centos7
    内网:centos7

  2. 官网信息
    源码地址:https://github.com/fatedier/frp
    文档说明:https://github.com/fatedier/frp/blob/master/README_zh.md
    下载地址:https://github.com/fatedier/frp/releases

  3. 选择对应系统下载

    wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
    tar -zxf frp_0.29.0_linux_amd64.tar.gz 
    cd frp_0.29.0_linux_amd64
    

    在这里插入图片描述
    将 frps 及 frps.ini 放到具有公网 IP 的机器上
    将 frpc 及 frpc.ini 放到处于内网环境的机器上

  4. 阿里云服务器配置
    frps.ini 配置文件
    默认端口7000,我这边不变,可以配置自己的端口

    [common]
    bind_port = 7000
    

    启动命令:

    ./frps -c ./frps.ini

  5. 内网服务器配置
    frpc.ini配置文件

    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    

    配置说明:
    server_addr:云服务器地址
    server_port:和云服务器中frps.ini的bind_port值一致
    [ssh]:一个配置组名,可以随意配置字符串,只要和其他组名区分开就行
    type:tcp或者udp,映射web或者ssh端口都是tcp
    local_ip:需要映射的内网主机ip,本机写127.0.0.1就可以
    local_port:需要映射的内网主机端口
    remote_port:使用云服务器哪个端口访问该服务器

    客户端启动命令:

    ./frpc -c ./frpc.ini &

    备注:
    阿里云需开通:7000、6000端口

  6. 自己电脑ssh远程访问内网服务器

    ssh -oPort=6000 [email protected]

  7. 开机启动配置和后台运行
    云服务:

    cd /lib/systemd/system/
    vim frps.service

    添加一下内容

    [Unit]
    Description=fraps service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    ExecStart=/home/software/frp_0.29.0_linux_amd64/frps -c /home/software/frp_0.29.0_linux_amd64/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    

    备注:
    ExecStart的/home/software/frp_0.29.0_linux_amd64 换成自己frp的存放地址

    命令就可以控制启动和停止:

    systemctl start frps
    systemctl stop frps

    设置开机启动:

    systemctl enable frps

    看日志命令:

    tail -f nohup.out

    查看是否启动成功

    ps -ef|grep frps

    root      9873  8418  0 14:32 pts/0    00:00:00 grep --color=auto frps
    root     28508     1  0 10:12 ?        00:00:02 /home/software/frp_0.29.0_linux_amd64/frps -c /home/software/frp_0.29.0_linux_amd64/frps.ini
    

    查看开机启动项命令:

    systemctl list-unit-files

    内网服务器和云端配置一样,只需要改一下启动配置文件

  8. 定时任务监听是否启动,云端服务器配置
    我shell位置目录

    cd /home/shell
    vim frp.sh

    添加如下内容:

    pid=$(ps -ef|grep frps|grep -v grep | awk '{print $2}')
    
    #日志输出
    monitorLog=/home/shell/logs/frps.log
    Monitor()  
    {
      echo "[info]开始监控frps...[$(date +'%F %H:%M:%S')]"  
      echo "[info]frps进程ID为:$pid. " 
      if [ -n "$pid" ];then
        echo "[info]frps进程ID为:$pid. 运行正常" 
      else
        echo "[error]进程不存在! frps自动重启..."  
        $(systemctl start frps)
        echo "[info]frp启动成功"
      fi
      echo "------------------------------"  
    }
    Monitor>>$monitorLog
    

    修改权限:chmod u+x frp.sh

  9. 添加到定时任务

    vim /etc/crontab

    最后添加:

    */30 * * * * root /home/shell/frp.sh

    半小时监控一次
    加载任务,生效

    crontab /etc/crontab

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章