windows 使用frp进行内网穿透【版本0.61.0】

注意:从 [v0.52.0] 版本开始,配置文件由 frps.ini 改成了 frps.toml

一:服务端配置#

  1. 下载软件【直接到github下载(https://github.com/fatedier/frp/releases)压缩包,或者执行命令:】

    wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
  2. 配置

    frps为服务端配置文件,frpc为客户端配置文件,只配置frps文件
  3. 修改配置文件【frps.toml】
    #【服务端口】
    bindPort = 7001
    #【授权码,请改成更复杂的 客户端会用到】
    auth.token = "token123456"
    #【服务端通过此端口接监听和接收公网用户的http请求】
    vhostHTTPPort = 7002 # 
    #【dashboard配置】
    webServer.addr = "0.0.0.0"
    webServer.port = 7003
    #【dashboard 用户名密码,可选,默认为空】
    webServer.user = "admin"
    webServer.password = "admin"
  4. 防火墙开启 7001、7002、7003端口
  5. 启动命令:
     ./frps -c ./frps.toml 
     #后台守护执行
     ./frps -c ./frps.toml &
  6. 输入ip+端口号 ,输入账号密码 访问 dashboard管理后台

二:加入 systemd 服务 (可选)#

在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

操作步骤:

  1. 安装 systemd 如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)apt(适用于 Debian/Ubuntu)来安装它:
    # 使用 yum 安装 systemd(CentOS/RHEL)
    yum install systemd
    
    # 使用 apt 安装 systemd(Debian/Ubuntu)
    apt install systemd
  2. 创建 frps.service 文件
    使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务
    sudo vim /etc/systemd/system/frps.service
  3. 写入内容
    [Unit]
    # 服务名称,可自定义
    Description = frp server
    After = network.target syslog.target
    Wants = network.target
    
    [Service]
    Type = simple
    # 启动frps的命令,需修改为您的frps的安装路径
    ExecStart = /path/to/frps -c /path/to/frps.toml
    
    [Install]
    WantedBy = multi-user.target
  4. 使用 systemd 命令管理 frps 服务
    # 启动frp
    sudo systemctl start frps
    # 停止frp
    sudo systemctl stop frps
    # 重启frp
    sudo systemctl restart frps
    # 查看frp状态
    sudo systemctl status frps
  5. 设置 frps 开机自启动
     
    sudo systemctl enable frps

三:客户端配置#

  1. 下载软件
    直接到github下载(https://github.com/fatedier/frp/releases)压缩包,或者执行命令:
    wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_windows_amd64.zip
  2. 配置【解压 frp_0.61.0_windows_amd64.zip】

    注意:客户端只修改配置文件 frps.toml
  3. 修改配置文件【frpc.toml】
    #【此配置不可更改】
    serverAddr = "公网ip"
    #【公网服务端端口】
    serverPort = 7001
    #【令牌,与公网服务端保持一致】
    auth.token = "token123456"
    #【代理配置】
    [[proxies]]
    name = "carver_test"
    type = "tcp"
    localIP = "0.0.0.0" # 需要暴露的服务的IP
    localPort = 80 # 将本地80端口的服务暴露在公网的80端口
    #customDomains = ["web2.frp.xxx.cn"] # 此处只改三级域名(*.frp.xxx.cn)* 改为你自定义的名字
  4. 启动命令:
    windows 下启动命令:
    .\frpc.exe -c .\frpc.toml
    出现 start proxy success 说明配置成功
  5. 访问 dashboard 页面,点击tcp,查看客户端情况#

  6. 浏览器访问 公网IP+ 7001 就能访问windows的本地代理的项目#

  7. 配置nginx【域名代替ip访问】
    server {
        listen     80;
        listen  [::]:80;
        server_name *.frp.xxx.cn;
    ​
        location / {
            proxy_set_header Host $host;
            #frp监听客户端http请求
            proxy_pass http://公网IP:7002;
        }
    ​
    }
    ​
    ​
    server {
        listen     80;
        listen  [::]:80;
        server_name frp.xxx.cn;
    ​
        location / {
            proxy_set_header Host $host;
            # 管理面板
            proxy_pass http://公网IP:7003;
        }
    ​
    }
    ​

四:如何使用frp远程连接电脑

  1. frps.toml配置
    bindAddr = "0.0.0.0"
    bindPort = 7001
     
    vhostHTTPPort = 7002
    
    #【管理后台面板信息】
    webServer.addr = "0.0.0.0"
    webServer.port = 7003
    webServer.user = "admin"
    webServer.password = "admin"
    
    auth.token = "123456"
  2. frpc.toml配置
    [common]
    tls_enable = true
    server_addr = 公网ip
    server_port = 7001
    token = "123456"
    
     
    [RDP]
    type = tcp
    local_ip = 0.0.0.0
    local_port = 3389
    remote_port = 7004
  3. 执行命令
    frpc -c frpc.toml

移动端连接方式:在App Store中搜索“windows app”,获取App,之后配置就好了#

Windows端连接方式:win + R 输入 mstsc ,输入IP:端口#

可以参考该文档:https://blog.csdn.net/chenmian12318/article/details/142916910#

 

作者:Carver-大脸猫

出处:https://www.cnblogs.com/carver/articles/18523172

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

转载请注明原处

posted @   Carver-大脸猫  阅读(6630)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu