我正在使用Linux驱动程序g_ether为嵌入式Linux设备通信Ethernet over USB。dnsmasq包在嵌入式设备上运行,并配置为向通过USB连接到主板的任何PC提供DHCP服务。
它工作得很好,我可以在Windows (7和XP )的cmd.exe上ping Linux主板。在以管理员身份配置防火墙后,我还可以ping Windows 7:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allowWindows 7和Windows XP之间的不同之处在于,当我在XP下连接USB电缆时,我仍然可以使用常规的本地连接和Internet。在Windows 7中,当我连接USB设备时,我失去了本地连接和互联网,但获得了与Linux主板的Ethernet over USB连接。一旦我从Win7上拔下USB数据线,我就恢复了本地连接和互联网。
怎么回事?我想保持我的本地连接和互联网活动,同时也能够通过USB连接与我的以太网进行交互。我不确定这是防火墙问题还是其他问题。这绝对是一个Windows7的细微差别,我希望能理解并解决。
发布于 2012-09-06 00:30:44
此问题的解决方案是关闭作为路由器的dnsmasq服务。dnsmasq配置文件中不应包含dhcp-option=3。在关闭该服务的情况下,可以同时保持Ethernet over USB连接和局域网(带互联网)。在没有局域网连接的情况下,USB ->以太网也能正常工作。
此外,您可以将路由器行为保留在dnsmasq配置文件中,但将连接优先级设置为使LAN 1和USB RNDIS连接9999。右键单击适配器,然后为该适配器的IPV4行为选择高级选项。
https://stackoverflow.com/questions/12097718
复制相似问题