美文网首页Linux
Frp - 内网穿透工具使用介绍

Frp - 内网穿透工具使用介绍

作者: 红薯爱帅 | 来源:发表于2020-09-17 16:26 被阅读0次

    1. 概述

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

    • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
    • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
    • 代理组间的负载均衡。
    • 端口复用,多个服务通过同一个服务端端口暴露。
    • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
    • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
    • 服务端和客户端 UI 页面。

    github: https://github.com/fatedier/frp/

    Architecture

    2. 准备工作

    2.1. 下载frp

    release: https://github.com/fatedier/frp/releases

    image.png

    2.2. 机器准备

    • 一台具有公网IP的机器,作为Frp Server
    • 一台内网内的机器,作为Frp Client

    3. Frp Server

    • 下载docker image

    采用docker方式启动
    https://hub.docker.com/r/lihaixin/frp/dockerfile
    https://github.com/lihaixin/frp-docker

    $ docker pull lihaixin/frp
    
    • 修改配置文件
    $ cat docker-compose.yml 
    version: '2.3'
    services:
      frp-server:
        image: 'lihaixin/frp'
        ports:
          - '21010-21040:21010-21040'
        mem_limit: 500m
        environment:
          - TOKEN=XXYYZZ1122
          - FRP_PORT=21010
          - ALLOW_PORTS=21011-21040
        network_mode: bridge
    
    • 启动
    $ docker-compose up -d
    
    • 查看dashboard
      配置DASHBOARD_PWD,通过7000端口,可以查看frp运行情况(以后尝试下)

    3. Frp Client

    • 下载frp_0.33.0_linux_amd64.tar.gz,修改配置文件
    $ cat frpc.ini 
    [common]
    server_addr = 111.222.333.444
    server_port = 21010
    authentication_method = token
    token = XXYYZZ1122
    
    [frpc-ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 21011
    
    • 创建开机启动
    $ cat /etc/systemd/system/frpc.service 
    [Unit]
    Description=FRPC
    After=network-online.target
     
    [Service]
    Type=simple
    ExecStart=/u/devops/frp/frpc -c /u/devops/frp/frpc.ini
    KillMode=process
    Restart=on-failure
    RestartSec=1min
     
    [Install]
    WantedBy=multi-user.target
    

    加载服务,并enable开机启动

    sudo systemctl daemon-reload
    sudo systemctl enable frpc
    sudo systemctl start frpc
    
    • 备注:frpc也可以通过docker启动,这样不用设置开机启动

    4. 测试

    • 找另外一个nat内的机器,测试是否ok
    ssh ssh-account@111.222.333.444 -p 21011
    

    相关文章

      网友评论

        本文标题:Frp - 内网穿透工具使用介绍

        本文链接:https://www.haomeiwen.com/subject/lltlyktx.html