IP防护代理协议

更新时间:2025-04-11  浏览次数:137次

概述

启用您的源服务器支持的协议版本。将客户端的原始IP和端口信息中继到您的源服务器。

代理协议v1:仅支持 TCP,使用文本格式头部。

代理协议v2:支持 TCP 和UDP,使用二进制格式头部,兼容更多元数据。

简单代理协议:专为 UDP 开发的轻量级协议,获取客户端源 IP 和端口信息。

启用 TCP代理协议v1

1、进入IP防护管理页面,选择“绑定”。

2、找到“协议类型”,选择“TCP”,配置好“地址类型”、“边缘端口”以及“源服务器IP”。

3、在“代理协议”选项中选择“代理协议v1”。

当TCP 应用程序配置为使用代理协议v1时,本站将在每个入站 TCP 连接前面添加代理协议纯文本标头。

代理协议v1 标头

代理协议会在每个连接前添加一个标头,报告客户端的 IP 地址和端口。PROXY 协议纯文本标头的格式如下:

PROXY_STRING single space INET_PROTOCOL single space CLIENT_IP single space PROXY_IP single space CLIENT_PORT single space PROXY_PORT "\r\n"

IPv4 地址的代理协议行示例如下所示:

PROXY TCP4 192.0.2.0 192.0.2.255 42300 443\r\n  

IPv6 地址的代理协议行示例如下所示:

PROXY TCP6 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 42300 443\r\n

启用 TCP/UDP 代理协议v2

1、进入IP防护管理页面,选择“绑定”。

2、找到“协议类型”,选择“TCP”或“UDP”,配置好“地址类型”、“边缘端口”以及“源服务器IP”。

3、在“代理协议”选项中选择“代理协议v2”。

 

当 TCP 应用程序配置为使用代理协议v2时,本站将在每个入站 TCP 连接前面添加代理协议二进制标头。

当 UDP 应用程序配置为使用代理协议v2时,本站将在流上的第一个UDP 数据报前面添加代理协议二进制头。

代理协议v2 标头  

代理协议在每个连接前面添加一个报告客户端 IP 地址和端口的标头。

IPv4 传入地址的代理协议二进制标头具有以下格式:

IPV6 传入地址的代理协议二进制标头具有以下格式:

启用UDP简单代理协议

1、进入IP防护管理页面,选择“绑定”。

2、找到“协议类型”,选择“UDP”,配置好“地址类型”、“边缘端口”以及“源服务器IP”。

3、在“代理协议”选项中选择“简单代理协议”。

简单代理协议(SIP)规定,源服务器也必须在发往客户端的数据包前添加相同的报头,包括原始客户端源信息。这样做是为了验证传入的数据包确实是发往客户端的。

简单代理协议标头

客户端源 IP 和端口被编码在固定长度、38 个八位字节长的标头中,并以下面描述的格式添加到每个代理 UDP 数据报的有效负载前面。

标题内容如下:

神奇数字:对于 SPP,16 位固定值设置为 0x56EC。此字段应用于标识 SPP 协议及其 38 字节 SPP 标头。

客户地址:代理 UDP 数据报的发起方(即客户端)的 128 位地址。如果客户端使用 IPv6 寻址,则为 IPv6 地址;如果客户端使用 IPv4 寻址,则为 IPv4映射的 IPv6 地址。

代理地址:代理 UDP 数据报接收方(即代理)的 128 位地址。其内容的解释方式应与客户端地址相同。

客户端端口:代理 UDP 数据报的 16 位源端口号。换句话说,就是客户端发送数据报的 UDP 端口号。

代理端口:代理 UDP 数据报的 16 位目标端口号。换句话说,就是代理接收数据报的 UDP 端口号。

有效载荷:数据报携带的报头后面的数据。魔数、地址和端口号按网络字节顺序编码。

描述标题的相应 C 结构是:

struct {

    uint16_t magic;

    uint8_t  client_addr[16];

    uint8_t  proxy_addr[16];

    uint16_t client_port;

    uint16_t proxy_port;

};

 

下一篇: 没有了

当前系统时间:2025-04-13 02:27:23(UTC+8) 注册人权利与责任注册人教育信息隐私政策

© 2025 Copyright© 2024 DNSOG. All rights reserved. 版权所有,保留所有权利