• FRP内网穿透教程


    一、FRP简介

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

    FRP好处是利用内网或防火墙后的机器(例如家用路由器后的192.168段的IP),对外网环境提供http或https服务。对于http和https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供tcp和udp服务,例如在家里通过ssh或者web访问公司内网环境内的主机或者业务进行办公!!

    二、服务端

    2.1 下载解压

    $ wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
    # 下载软件
    $ mv frp_0.34.3_linux_amd64.tar.gz /opt
    $ cd /opt
    $ tar -zxvf frp_0.34.3_linux_amd64.tar.gz
    $ cd frp_0.34.3_linux_amd64/
    # 解压

    2.2 配置

    服务端配置文件:frps.ini

    客户端配置文件:frpc.ini

    [common]
    bind_port = 7000 # 客户端通信端口
    vhost_http_port = 54321 # HTTP端口
    vhost_https_port = 54322 # HTTPS端口
    token = 123456 # 自定义秘钥

    2.3 启动

    $ ./frps -c ./frps.ini # 临时
    $ nohup ./frps -c ./frps.ini & # 后台

    2.4 配置为系统服务

    $ vim /usr/lib/systemd/system/frps.service #修改配置(这里没有该文件就添加个)
    [Unit]
    Description=fraps service
    After=network.target syslog.target
    Wants=network.target
    [Service]
    Type=simple
    #启动服务的命令(此处写你的 frps 的实际安装目录)
    ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
    [Install]
    WantedBy=multi-user.target

    三、客户端

    3.1 windows/Linux/Mac

    3.1.1 配置

    [common]
    server_addr = 152.136.170.74 # 公网IP
    server_port = 7000 # 服务器绑定端口
    token = 123456 # 与服务端秘钥一致
    [web]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    remote_port = 54321
    custom_domains = 152.136.170.74 # 建议使用域名进行区分
    [mysql]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 3306
    remote_port = 54328
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 54329

    3.1.2 启动

    $ ./frpc -c ./frpc.ini # 临时
    $ nohup ./frpc -c ./frpc.ini & # 后台

    3.1.3 配置为系统服务

    $ vim /usr/lib/systemd/system/frpc.service #修改配置(这里没有该文件就添加个)
    [Unit]
    Description=fraps service
    After=network.target syslog.target
    Wants=network.target
    [Service]
    Type=simple
    #启动服务的命令(此处写你的 frps 的实际安装目录)
    ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
    [Install]
    WantedBy=multi-user.target

    客户端启动一个web 服务, 使用http://公网IP:54321 进行访问测试!

    客户端启动一个mysql服务, 使用 IP:公网IP Port:54328 进行访问测试!

    客户端 使用 IP:公网IP Port :54329 进行访问测试!

    确认公网IP 远程端口 已放通!

    3.2 Dashboard & AdminUI

    # Dashboard (服务端配置)
    [common]
    dashboard_port = 7002
    dashboard_user = admin
    dashboard_pwd = admin
    # AdminUI (客户端配置)
    [common]
    admin_addr = 127.0.0.1 # 使用内网真实地址 即可访问测试
    admin_port = 7400
    admin_user = admin
    admin_pwd = admin

    四、总结

    使用frp工具有以下优势:

    • 利用处于内网或防火墙后的机器,对外网环境提供 HTTP 或 HTTPS 服务。
    • 对于 HTTP, HTTPS 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
    • 利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。

    具体环境具体利用!!

    加油!,隧道篇就到此结束…

  • 相关阅读:
    Java设计模式之适配器模式
    怎么看电脑实时充电功率
    Linux通过PID号找到对应的进程名及所在目录
    华清远见-JavaWeb学习总结
    前端大屏模板分享-可在线浏览
    【Elasticsearch专栏 11】深入探索:Elasticsearch如何支持多租户架构
    TAG YOU‘RE IT
    深入理解Java虚拟机之【方法区】
    【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解
    CentOS深度解析:构建高效、稳定的Linux服务器环境的最佳实践
  • 原文地址:https://blog.csdn.net/zfw_666666/article/details/126408922