我想创建自己的用户模式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 ] _ /
我的应用程序根本不绑定任何端口 - 它只从接口捕获。
我看到了这种情况:
Windows Server 2003重置我的NATed连接。我根本不想绑定任何端口。
我该如何处理?
更新
user1202136,怎么可能:
使用Windows防火墙阻止来自您的端口的RST数据包 用户空间NAT使用。
没有编写自己的NDIS驱动程序?
答案 0 :(得分:5)
根据TCP规范,当在未绑定到任何进程的端口上收到ACK(或SYN + ACK)时,始终发送RST。这样做是为了确保可以可靠地检测到节点崩溃。
在您的情况下,Windows Server 2003中的TCP / IP实现会生成RST数据包。您应该阻止ACK到达TCP层或阻止RST到达线路。您可以尝试以多种方式执行此操作: