networking桥接 – DHCP和DNS问题

背景:我是一个embedded式有线networking设备的devise者,几乎在所有的设置中工作,但有些情况下,它不工作,我正在处理根本原因和解决问题。

这是多个部分的问题,然而关于两个相关的事情。

问题1 – 端口没有准备好后,它获得承运人

情景:我将Windows 7 PC设置为WiFi(通过路由器与DHCP / DNS互联)和有线embedded式设备(直接连接)之间的梁。 当有线embedded式设备closures时,它连接的Windows PC端口closures。 当我给设备上电时,它在几秒钟内发送DHCP发现,但似乎Windows PC的端口(或其驱动器部分)还没有准备好,并且没有响应DHCP分组。 如果我以后手动发出DHCP请求,它会起作用; 如果将集线器放在中间,以便在embedded式设备不closuresPC的端口时,设备上电后可以正确地从DHCP获得IPconfiguration。

似乎我在思科等智能路由器(太多)中遇到了同样的问题,他们也不想在运营商出现在线路上后正常工作。

在操作系统中是否有任何设置 – Windows,Linux和Cisco IOS,我可以调整它,使端口在感应到载体后尽快可用。

问题2 – DNS响应被阻止

与上述设置相同 – Windows PC作为WiFi(互联网)和有线(embedded式设备)之间的桥梁。 embedded式设备在线路中发出DNS请求,我可以看到请求出现在WiFi侧,并且可以看到PC的WiFi侧接收到来自路由器的响应,但是这个响应没有出现在有线侧。

我不知道可能是这个块的原因是什么,但是我发现通过比较由另一台PC连接而不是embedded式设备发送的数据包,embedded式设备发送的数据包没有强制设置片段标志。

更新:我可以看到,在embedded式设备的路上,SYN / ACK TCP数据包也被Windows 7 PC网桥封锁。 为了防止这种阻塞,我必须设置一些设置,但是我不能限制它的可能性。

我已经find了一个答案,与Windows主机阻止数据包的离奇行为。 答案很简单–Windows电脑认为这些数据包是为自己的!

桥接机制似乎与将数据包从一个接口转换为另一个接口相关,将网桥的MAC地址放入数据包中。 在我的情况下,我将Windows PC主机设置为使用DHCP接收IP地址,但是当有线设备尝试使用DHCP时,Windows PC正在用自己的设备replace该设备的MAC地址,当然路由器也会为该设备提供相同的IP地址。 因此,有两个具有相同IP地址的设备,并且无论embedded式设备发送了什么,(几乎)所有回复(除了广播的DHCP之外)在具有该IP地址的菊花链中的第一个设备的入口处结束(因此在Windows PC)。

解决方法很简单 – 我给DHCP主机,DHCP地址池之外的固定的IP地址。