zoukankan      html  css  js  c++  java
  • frp之UDP内网穿透

    这次frp的搭建的起因是这样的,元旦假期和朋友玩星露谷,使用steam自带的联机,掉线很频繁,玩一会必掉线,之后换用游侠对战平台,联机效果也不理想,会存在卡顿等情况,之后还遇到了报错;想到自己还有一台公网服务器,所以一怒之下搭建frp内网穿透进行联机。

    下载

    需要根据自己的实际情况自行下载,网址为https://github.com/fatedier/frp/releases

    我的服务器为Linux,客户端是Windows,就需要同时下载Linux和Windows的压缩包(在本篇文章发布时,frp版本更新到0.38.0)。

    配置

    在进行配置之前先看一下frp的目录结构,以Windows为例。

    frp_0.38.0_windows_amd64/
    ├── LICENSE
    ├── frpc.exe
    ├── frpc.ini
    ├── frpc_full.ini
    ├── frps.exe
    ├── frps.ini
    ├── frps_full.ini
    └── systemd
        ├── frpc.service
        ├── frpc@.service
        ├── frps.service
        └── frps@.service
    

    类似上面结构,Linux与Windows程序中不同的仅为可执行文件的不同。

    服务器端

    修改frps.ini文件,修改如下:

    [common]
    bind_udp_port = 8001 # 设置服务器监听UDP端口为8001,可根据需要进行修改
    privilege_token = test # 鉴权使用的token值,可根据需要进行修改(客户端与服务端的privilege_token相同才能进行连接,实际环境一定要设置为一个复杂值,此处为方便填入test)
    
    dashboard_port = 8002 # 启用Dashboard监听的端口
    dashboard_pwd = test # HTTP BasicAuth 用户名,登录Dashboard时的用户名
    dashboard_user = admin # HTTP BasicAuth 密码,登录Dashboard时的密码
    enable_prometheus = true # 是否提供 Prometheus 监控接口,需要同时启用了 Dashboard 才会生效
    

    未对服务器监听端口进行设置,默认为7000,可添加bind_port参数进行设置端口。

    配置完成,运行frps,命令为./frps -c frps.ini

    客户端

    修改frpc.ini,如下:

    [common]
    server_addr = 服务器IP,根据实际情况修改
    bind_udp_port = 8001 # 连接服务端UDP的端口
    privilege_token = test # 与服务器中相同
    
    [udp]
    type = udp # 设置协议类型为UDP
    local_ip = 127.0.0.1 # 设置本机IP
    local_port = 24642 # 设置需要进行转发的端口,可根据需求进行修改
    remote_port = 8888 # 设置转发到服务器的端口,可根据需求进行修改
    

    其中bind_udp_port的设置可能不生效,实际还是需要连接到7000端口(不进行配置为默认7000端口),local_port的24642端口为星露谷联机端口,udp部分的内容为将24642端口UDP协议的数据转发到服务器的8888端口,联机时输入xxx.xxx.xxx.xxx:8888就可以与本机建立连接(xxx.xxx.xxx.xxx为服务器的公网IP或域名)。

    配置完成,打开cmd,进入到frp目录下,使用.\frpc.exe -c frpc.ini运行与服务器建立连接。

    ps:如果服务器是阿里云、腾讯云的云服务器,需要在安全组或者是防火墙中将涉及到的服务器端口开放,同时主机的防火墙策略也要设置允许,这里开放的端口为7000、8001、8002、8888,且8888端口允许的协议为UDP。

  • 相关阅读:
    scala 基础
    Feign拦截器和解码器
    SpringCloud对使用者透明的数据同步组件
    POI SXSSF API 导出1000万数据示例
    HDFS文件浏览页返回上级目录功能
    Spring Security OAuth2.0
    Spring Security实现OAuth2.0授权服务
    Spring Security实现OAuth2.0授权服务
    Zookeeper学习笔记:简单注册中心
    Eclipse集成Git做团队开发:分支管理
  • 原文地址:https://www.cnblogs.com/venoms/p/15762292.html
Copyright © 2011-2022 走看看