FRP内网穿透

2022年11月1日 517点热度 0人点赞 0条评论

前言

如果你有自己的云服务器,并且需要用到内网穿透,那么可以考虑使用FRP搭建自己的内网穿透服务。

常用的内网穿透工具有:cpolar、natapp、向日葵……

但是以上介绍的工具,如果使用免费版,都有诸多限制(毕竟要恰饭的嘛)。所以,干脆自己弄一个吧。

安装

我使用的版本是 V0.43.0,下面以 http 穿透举例。

  1. 下载

    在Github的 Release 页面下载对应版本,下面是我下载的版本

    服务器:frp_0.43.0_linux_amd64.tar.gz

    本地win10:frp_0.43.0_windows_amd64.zip

  2. 服务器配置

    解压,修改配置。因为服务器是作为服务端,所以修改的是 frps.ini 文件,下面放上开启http服务的配置

    [common]
    # frp监听的端口,默认是7000,可以改成其他的
    bind_port = 7000
    # 授权码,请改成更复杂的
    token = helloword
    # HTTP请求端口
    vhost_http_port = 8080
    
    # frp管理后台端口,请按自己需求更改
    dashboard_port = 7500
    # frp管理后台用户名和密码,请改成自己的
    dashboard_user = root
    dashboard_pwd = root
    enable_prometheus = true
    
    # frp日志配置
    log_file = /home/app/frp/frps.log
    log_level = info
    log_max_days = 3
    

    修改完配置,然后执行以下命令启动服务端

    nohup ./frps -c ./frps.ini &
    
  3. 本地电脑配置

    同样的,在本地window上解压frp_0.43.0_windows_amd64.zip,修改配置文件 frpc.ini

    # 客户端配置
    [common]
    # 服务器ip
    server_addr = 1.1.1.1
    server_port = 7000
    # 授权码,和服务器的保持一致
    token = helloword
    
    [web]
    type = http
    # 本地监听的端口,可随意
    local_port = 8081
    # 自己的域名,不需要带http,没有域名用ip也可以
    custom_domains = www.javaedit.com
    

    改好配置,执行以下命令启动客户端(以为是window,所以要在cmd中执行命令)

    frpc.exe -c frpc.ini
    
  4. 使用

    本地电脑启动一个服务,监听8081端口(我启动的是tomcat),确保浏览器中输入 localhost:8081 能正常访问。

    此时访问 www.javaedit.com:8080 也能成功,对应配置就是(custom_domains:vhost_http_port)。

  5. 注意事项

    • 注意区分 frps.ini 是服务器用的,frpc.ini 是客户端用的
    • 确保服务器的防火墙没有拦截 frps.ini 中配置的vhost_http_port和bind_port端口,否则无法访问。
    • 因为服务端 frps.ini 中vhost_http_port配置的是8080,所以外网访问链接是www.javaedit.com:8080

王谷雨

一个苟且偷生的java程序员

文章评论