none
win7使用openvpn拨号后广播问题 RRS feed

  • 问题

  • 公司建立了一个openvpn服务器,同事们可以在不同的地区通过openvpn连接,相互之间就想在同一个局域网内。文件共享等都能够正常使用。

    但部分udp广播程序在win7上无法正常使用。经过测试发现在XP、2003上广播,其他终端(包括win7终端)都能收到广播包,但在win7上广播只有win7终端所处的物理局域网能收到广播,其他地区的openvpn终端无法收到广播。

    openvpn分配的IP为192.168.10.*,win7的物理IP为192.168.1.*。在win7终端本机广播并接收发现,大部分广播包的源地址都是192.168.1.*很少有192.168.10.*。

    请问如何能够做到win7广播能够让openvpn终端和win7所处的物理局域网的终端都收到广播?

    win7系统已经关闭防火墙,杀毒用的是Microsoft Security Essentials,并关闭了网络检查系统
    2011年12月29日 5:38

答案

  • 您好,您的问题可能是由于以下原因导致:

    在Windows XP和Windows server 2003中,广播包会从所有网卡上发出,发出的广播包的源地址是绑定顺序最优先的网卡地址。而在Windows 7中,广播包只会从1张网卡上发出,具体从哪一张网卡发出取决于机器里的路由表条目。拥有最低Metric值的目的地址为255.255.255.255的条目最为优先。由于您的Windows 7客户端在连接VPN后,优先从物理网卡发广播包,于是只有物理局域网内的机器能收到广播包,而其他VPN局域网内的机器无法收到广播包。请参考以下的网站:

    http://serverfault.com/questions/72112/how-to-alter-the-global-broadcast-address-255-255-255-255-behavior-on-windows

    您可以用route print命令来查看机器路由表,并且改变网卡绑定顺序,把VPN虚拟网卡设为最为优先。然后查看问题能否解决。

    2012年1月3日 8:24

全部回复

  • 您好,您的问题可能是由于以下原因导致:

    在Windows XP和Windows server 2003中,广播包会从所有网卡上发出,发出的广播包的源地址是绑定顺序最优先的网卡地址。而在Windows 7中,广播包只会从1张网卡上发出,具体从哪一张网卡发出取决于机器里的路由表条目。拥有最低Metric值的目的地址为255.255.255.255的条目最为优先。由于您的Windows 7客户端在连接VPN后,优先从物理网卡发广播包,于是只有物理局域网内的机器能收到广播包,而其他VPN局域网内的机器无法收到广播包。请参考以下的网站:

    http://serverfault.com/questions/72112/how-to-alter-the-global-broadcast-address-255-255-255-255-behavior-on-windows

    您可以用route print命令来查看机器路由表,并且改变网卡绑定顺序,把VPN虚拟网卡设为最为优先。然后查看问题能否解决。

    2012年1月3日 8:24
  • 谢谢

    C:\Windows\system32>route change 255.255.255.255 mask 255.255.255.255 192.168.10.21 metric 1

    解决了

    修改后的metric为31,好像自动加30

    2012年1月6日 15:35