我正在尝试开发一个像Microsoft NAP一样的DHCP强制扩展。 我阻止dynamicIP请求机器(不符合某些策略)的技巧是剥离IP租约中声明的默认网关(无默认网关),并将租约子网掩码设置为255.255.255.255。
现在我需要阻止的机器能够到达networking上的某些特定位置(IP)。 为了做到这一点,我在租约中join了一些静态路由。 例如,我通过路由器10.10.10.254(需要访问的阻塞的计算机10.10.10.11连接的那个)包括10.10.10.11。
不幸的是,一旦我把默认网关设置为空,阻塞的机器就无法到达任何添加的静态路由。 我也试过无类静态路由。
有任何想法吗 ? 任何人都知道MS NAP是如何做到的?
在你的例子中,你可能需要包含一个到10.10.10.254的路由。 这条路线可以是“它本地连接到这个接口”(为了你,我希望是这样)。
我认为问题是将子网掩码定义为255.255.255.255。 你实质上是告诉计算机它自己在一个网段上,然后不告诉它与其他网段进行通信的人(即网关)。 正确的解决办法是设置一个专用的网段,使用没有为LANconfiguration路由的真实网关服务器,然后configuration从专用networking到所需LAN地址的静态路由。 或者,您需要将计算机放置在具有足够大的子网掩码的广播网段上,以便达到所需的地址,然后在机器所连接的任何路由器上configuration静态路由。
为了简化:没有网关=只广播,255.255.255.255子集=没有广播(一切路由到网关)
比尔·韦斯:我们试过这个(把路由器地址作为静态路由添加到网关是特殊的0.0.0.0意思是在同一个链路上)。 这允许ping到达路由器而不是目标机器(通过这个路由器的另一个静态路由)。
Greg Bray:我们find了一个解决scheme,在这个解决scheme中,与不在静态路由表中的机器不同的网段可以ping通。 基本上我们把默认网关设置为0.0.0.0,子网掩码设置为255.255.255.255这意味着:请咨询静态路由表以获取任何查询。 我们也把静态路由的网关设置为0.0.0.0,这意味着这个网关与被阻塞的机器在同一个链路上(我想,如果错误的话请纠正我)。 但是,我们怎么能ping通同一个网段上的机器呢?
还有一件事:想象一下使用上面设置的默认网关和子网掩码的两台阻塞的机器。 现在被阻止的机器A可以ping另一个被阻塞的机器B,为了使B能够响应这个ping请求(假设A已经有了到B的静态路由),我是否还需要一条到B的静态路由? 我的意思是ping响应利用ping请求头中关于请求者机器的信息来回复它? 或者它需要显式的静态路由的响应?
感谢你们 :)
你正在进行的问题的一部分是,你正在阻止比你的静态路由更具体的networking。 路由器根据pipe理距离select要发送东西的networking,而静态路由的pipe理距离为1.但是,如果不同的路由是更具体的networking(也就是说有更多的networking比特而不是主机比特),他们会忽略AD。 所以,如果你将你的掩码设置为255.255.255.255,你就是networking位,你到networking+主机的静态路由被忽略了。
另外,这是怎么一个强制执行,因为他们可以手动设置他们的信息,完全忽略这个系统?