<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="远程绑定/内网穿透程序：remote-bind">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2022-03-27 08:03<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
远程绑定/内网穿透程序：remote-bind

Github：https://github.com/rust-net/remote-bind

remote-bind是一个小巧而强大的开源工具，它允许您将本地服务轻松地映射到公网，从而实现远程访问受限的本地应用。无论是Windows、Linux还是Android设备，都能享受到它所带来的便利。借助STUN（Session Traversal Utilities for NAT）技术和P2P（Peer-to-Peer）直连模式，remote-bind为穿越网络障碍提供了高效且安全的解决方案。

remote-bind由两个核心组件组成：Server和Client。Server负责在指定的公网IP和端口上监听连接请求，并对客户端的身份进行验证。Client则通过加密通信与Server建立连接，实现本地服务的公网映射。

STUN服务器：当NAT（Network Address Translation）存在时，remote-bind利用STUN协议帮助客户端发现其公共IP地址和端口，以实现从公网到内网服务的穿透。

P2P直连：在条件允许的情况下，remote-bind支持P2P直接通信，绕过服务器，提高数据传输速度并降低服务器负载。这一特性使得两个客户端之间能尝试建立更优化的直接连接，但请注意，P2P连接并非总是可行的。

remote-bind的应用场景广泛：

远程桌面: 您可以在家或外出时，通过公网访问办公室的电脑，进行文件管理和工作处理。

个人网站托管: 即使您的服务器没有公开IP，也可以通过remote-bind让全世界访问您在局域网内的个人站点。

物联网设备控制: 对于部署在家中的智能设备，如智能家居系统，可以通过公网进行远程监控和管理。

内部测试服务分享: 开发者可以方便地将内测服务暴露给团队成员，无需复杂的网络配置。

项目特点

跨平台: 支持Windows、Linux及Android操作系统，适应性强。

简单易用: 安装快捷，命令行参数清晰，即使是初级用户也能快速上手。

安全验证: 提供密码保护，确保只有授权的客户端才能连接到服务器。

灵活的连接方式: 结合STUN和P2P技术，提供稳定且高效的远程访问方案。

自定义映射: 可自由选择需要映射的本地服务及其公网端口，满足个性化需求。

综上所述，remote-bind是应对网络限制和提升远程访问体验的理想工具。无论是在日常办公、开发调试还是家庭娱乐场景下，它都值得您的信赖和使用。现在就下载remote-bind，开启无忧的远程服务之旅

服务器中继

在服务器 x.x.x.x 的 1234 端口上运行server，并设置密码为 passwd ：



XML/HTML代码


    ./server 1234 passwd

    

    

    2023-09-04 00:00:00 - [I] - server/src/main.rs:76 -&gt; Server started on x.x.x.x:1234

    2023-09-04 00:00:00 - [I] - core/src/server.rs:71 -&gt; STUN started on 0.0.0.0:1234

    2023-09-04 00:00:00 - [I] - core/src/server.rs:71 -&gt; STUN started on 0.0.0.0:1235






在局域网主机上运行客户端，将 127.0.0.1:3389 服务映射到 x.x.x.x:13389 上：



XML/HTML代码


    ./client x.x.x.x:1234 13389 passwd 127.0.0.1:3389

     

    2023-09-04 00:00:00 - [I] - client\src\main.rs:97 -&gt; 正在连接服务器：x.x.x.x:1234

    2023-09-04 00:00:00 - [I] - core\src\client.rs:18 -&gt; 正在连接

    2023-09-04 00:00:00 - [I] - core\src\client.rs:20 -&gt; 连接完成

    2023-09-04 00:00:00 - [I] - client\src\main.rs:104 -&gt; 正在绑定端口：13389

    2023-09-04 00:00:00 - [I] - client\src\main.rs:108 -&gt; 服务已绑定: 127.0.0.1:3389 -&gt; x.x.x.x:13389






P2P直连

在要进行P2P访问的主机上运行客户端，监听 127.0.0.1:9833 地址，映射到 x.x.x.x:13389 上绑定的服务：



XML/HTML代码


    ./client p2p x.x.x.x:1234 13389 127.0.0.1:9833

    

    

    2023-09-04 00:00:00 - [I] - core\src\client_p2p.rs:27 -&gt; 正在测试

    2023-09-04 00:00:00 - [I] - core\src\client_p2p.rs:29 -&gt; 测试成功

    2023-09-04 00:00:00 - [I] - core\src\client_p2p.rs:31 -&gt; 服务已启动: 127.0.0.1:9833




安卓客户端：https://github.com/rust-net/remote-bind-apk

OnePort

Github：https://github.com/rust-net/remote-bind/tree/tokio/oneport

通过探测请求数据实现端口复用

运行：



XML/HTML代码


    oneport

    # or

    oneport -c /path/to/config.yml






config.yml

该文件配置如何反向代理 Socket 请求：



XML/HTML代码


    config:

      # 监听地址

      listen: 0.0.0.0:1111

     

    rules:

        # 字符串匹配

      - rule: GET

        address: 127.0.0.1:80

        # 首字节匹配

      - rule: 3

        address: 127.0.0.1:3389

        # 多字节匹配

      - rule: [0x53, 0x53]

        address: 127.0.0.1:22

        # 内置规则

      - rule: $SSH

        address: 127.0.0.1:22

        # 内置规则可能是多个规则的集合，比如 $HTTP 匹配 GET、POST 等多个字符串

      - rule: $HTTP

        address: 127.0.0.1:80

        # 通配规则

      - rule: []

        address: 127.0.0.1:4444






目前的内置规则有：$SSH, $RDP, $HTTP

规则按顺序匹配，越靠前优先级越高

热重载

配置修改后支持热重载：



XML/HTML代码


    oneport -r

    # or

    oneport --reload




此程序可以实现单端口的多重复用，根据规则映射不同的协议和端口，转发到局域网其他机器上都是可以的，使用非常方便。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
