穿透内网——从公网访问到本地局域网(frp)

frp

  • frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

  • 项目地址 https://github.com/fatedier/frp

  • 机器A 具有公网ip 47.x.x.x 可通过阿里云等云平台购买云机器 (推荐轻量级服务器)

  • 机器B 没有公网ip 在局域网中 例如实验室或者校园网中

安装配置

机器A

 wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz #下载发行包 可根据所需版本修改地址,新版本的下载速度较快
tar -xzvf frp_0.36.2_linux_amd64.tar.gz #解压
  • 修改配置文件

    cd frp_0.36.2_linux_amd64
    vim frps.ini #frps.ini 末尾s即指sever frpc末尾c即指client
    

    具体内容如下

    [common]
    bind_port = 7000 #监听地址 进程所占用的端口
    dashboard_port = 7500 #frp有一个管理页面 此为管理页面的端口
    dashboard_user = xxx #管理员名称
    dashboard_pwd = xxxx #管理员密码
    vhost_http_port = 7071 # 此为外网端口 通过访问该端口可连接至机器B的web服务
    [common]
    bind_port = 7000 #监听地址 进程所占用的端口 注意该7000端口要在阿里云安全组中配置成开放状态
    vhost_http_port = 80 # 此为外网端口,即向公网开放的地址,通过47.xx.xx.xx:80可访问到的页面
    dashboard_port = 7500 #frp有一个管理页面 此为管理页面的端口
    dashboard_user = root #登陆管理页面的管理员名称
    dashboard_pwd = 123456 #登陆管理页面的密码
    [rstudio_web]
    type = http
    custom_domains = 47.xxx.xxx.xxx
    auth_token =123
    

机器B

 wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz #下载发行包 可根据所需版本修改地址
tar -xzvf frp_0.36.2_linux_amd64.tar.gz #解压
  • 同机器A

  • 修改配置文件

    ```shell
    cd frp_0.36.2_linux_amd64
    vim frpc.ini #frps.ini 末尾s即指sever frpc末尾c即指client
    

    具体内容如下

    [common]
    server_addr = 47.100.38.115
    server_port = 7000
    auth_token = 123
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
    [rstudio_web]
    type = http
    local_ip = 127.0.0.1
    local_port = 8787 #B机器所开放的端口 即可通过localhost:8787所访问到的页面
    remote_port = 80 #即在公网中通过47.xx.xx.xx:80所访问到的页面
    custom_domains = 47.xx.xx.xxx #服务器域名或ip 必须唯一 当输入为ip时,用域名形式不一定能访问到 反之亦然
    
    [web01]
    type = http
    local_ip = 127.0.0.1
    local_port = 8888 
    remote_port = 7071 # 与机器A的端口相呼应
    custom_domains = a.free.domain  # 服务器域名或ip 必须唯一 当输入为ip时,用域名形式不一定能访问到 反之亦然
    [web02]
    type = http
    local_ip = 127.0.0.1
    local_port = 8881 #网站使用的端口
    remote_port = 7071 # 与机器A的端口相呼应
    custom_domains = b.free.domain #域名保证唯一
    

启动

  • 机器A

    nohup ./frps  -c frps.ini > frps.log 2>&1 &
    

    或者直接用./frps -c frps.ini

  • 机器B

    nohup ./frpc  -c frpc.ini > frpc.log 2>&1 &
    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值