如何实现NAT使用WFP? [英] How to implement NAT use WFP?
问题描述
大家好,所有
我在Win7上开发NAT,从论坛上,我可以使用WFP框架。
I development NAT on Win7, and from the forum, I can use WFP framwork.
使用 FWPM_LAYER_IPFORWARD_V4将内网数据包转发到互联网
use FWPM_LAYER_IPFORWARD_V4 to forward intranet packets to internet
使用 FWPM_LAYER_INBOUND_IPPACKET_V4将互联网数据包转发到内联网
use FWPM_LAYER_INBOUND_IPPACKET_V4 to forward internet packets to intranet
我引用了WFPSamples,但我遇到了一些问题:
I reference the WFPSamples, but I met some issues:
我无法在IPFORWARD层收到数据包?
I cannot receive the packet in IPFORWARD layer?
我们的测试环境:
一个用于连接互联网的无线卡,另一个用于AP(网关)的无线卡(802.11 / a)。
one wireless card to connect internet, another wireless card(802.11/a) use for AP(gateway).
谢谢!
Kandom
推荐答案
FORWARD只会在数据包被调用时被调用并非注定要收到的界面。 此外,这意味着必须为TCP / IP启用转发
。
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet \ Services \ Tcpip \Parameters
Value名称:IPEnableRouter
价值类型:REG_DWORD
价值数据:1
如果数据包的目的地是接收接口的地址:
- 数据包转到INBOUND_IPPACKET(本地堆栈处理它)。
如果数据包的目的地是通过不同的接口到达的地址:
- 如果未启用IP转发:
- 数据包已被丢弃
- 如果数据包的目的地是本地机器上的接口地址
- 如果松散的源映射未启用
- 数据包被丢弃
- If the packet is destined for an address of an interface on local machine
- If loose source mapping is not enabled
- The packet is discarded
- 数据包转到IPFORWARD,然后转到INBOUND_IPPACKET(本地堆栈进程 )
- The packet goes to IPFORWARD, and then to INBOUND_IPPACKET (local stack processes it)
- 数据包转到IPFORWARD
请注意,为了调用任何标注,流量必须与标注的过滤器匹配。
希望这有帮助,
这篇关于如何实现NAT使用WFP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
- If loose source mapping is not enabled
- 如果松散的源映射未启用
- 数据包已被丢弃