我想制作自己的用户模式 NAT 应用程序。
我有以下方案:
VM2[192.168. 8.2 ] ------ [192.168。8.1 ]Win2003[192.168. 9.1 ] ------ [192.168. 9.2 ]VM1
VM3[192.168. 8.3 ]_/
VM4[192.168. 8.4 ] _/
- 我在 8.1 和 9.1 接口上捕获 RAW IP 数据包。
- 一些来自 8.1 的数据包以这种方式传输到 9.1 接口:8.2->9.2 替换为 9.1->9.2
- 一些来自 9.1 的数据包以这种方式传输到 8.1 接口:9.2->9.1 替换为 9.2->8.2
我的应用程序根本没有绑定任何端口 - 它只是从接口捕获。
我看到了这样的场景:
- 8.2->9.2 翻译成 9.1->9.2 包含 SYN 标志
- 9.2->9.1 转换为 9.2->8.2 包含 SYN+ACK 标志
- 第 2 步包含 9.1->9.2 和 RST 标志...
Windows Server 2003 重置了我的 NATed 连接。我根本不想绑定任何端口。
我该如何处理?
更新:
user1202136,怎么可能:
使用 Windows 防火墙阻止来自用户空间 NAT 使用的端口的 RST 数据包。
无需编写自己的 NDIS 驱动程序?