none
Vista, APIPA, Routing issue

    Question

  • We have encountered a special situation where Vista will not route to a network that use IP adresses from the APIPA address range. This is only a problem with Vista and newer MS OS versions (Windows Server 2008, Windows 7). XP and Windows 2003 do not have any problems.

    What we have seen sofar is that if Vista has an active LAN adapater and a Wireless Adapter then it will not route to an APIPA network. If you disable either adapter, so the PC does only have one active interface then the routing works ok.

    There might be other scenarioes where the routing also is "broken", but we have not verified this yet.

    Does anyone have a suggestion on how to solve this with a workaround/fix ?

    Please do not comment on that APIPA is not supposed to be used in routed networks acccording to the RFC 3927 etc, as we are fully aware of this. Also we know that the best and right solution to the problem would be to do an IP redesign and get rid of the APIPA IP subnets. 

    However, as this is not a viable  solution in the short term due to the size and complexity of the network, we seek a workaround or a fix that will get Vista/Windows 2008/Windows 7 to work in this scenario.

    If it was possible to disable APIPA in Vista then it might work, but unfortunately it seems that the way APIPA has been implemented in Vista differs from earlier Windows versions why the known registry hacks that work on Windows 2003/XP do not work in Vista. This is discussed in another thread in this Forum APIPA - Disabling IP Autoconfiguration in Vista

    Also we know it will work if you add a fixed route entry in the routing table on the client, but unfortunately this is an impractial workaround as we cannot easily predict from which subnet a Laptop will be connected.

    Finally, for academic curiosity I would be happy if anyone could explain why Vista treats APIPA differently than XP/Windows Server 2003 ?
    Thursday, March 19, 2009 8:42 PM

Answers

All replies

  • Hi,

     

    Thank you for posting.

     

    We can try to add a route entry for the APIPA. If you want, please run "route print" from a command prompt and post the results to the thread and will help you perform some further research.

     

    Meanwhile, I would like to share the following documents with you. Hope they can help you on adding the route entry.

     

    The IP routing table

    http://technet.microsoft.com/en-us/library/cc779122.aspx

     

    Route

    http://technet.microsoft.com/en-us/library/bb490991.aspx

     

    Thanks.


    Nicholas Li - MSFT
    Tuesday, March 24, 2009 9:34 AM
    Moderator
  • I am having this problem too, very annoying when APIPA is supposed to be designed to work independently of the internet or otherwise LAN.
    Friday, May 15, 2009 1:40 AM
  • Hello!
    I also have a problem like yours, but only with Vista computers (XP does seem to be immunized).
    My company has a legacy network which stays within the APIPA range and need to be accessed thru a router.
    My computer (Vista Business) is connected to a network on a 172 range and the correct route is given by the default gateway.
    When the computer is turned on, I know it uses APIPA to discover DHCP, but it still remains with an APIPA IP address after it gets the IP from DHCP.
    MS stuff says APIPA only stays for a short time and when a DHCP is not found, but in Vista it stands longer. Perhaps it's a bug.
    The ip routing table from boot up is shown below (translated from Portuguese):
    <pre>
    Active routes:
      Networkaddress                Mask      Gateway        Interface   Metric
             0.0.0.0             0.0.0.0    172.31.7.1      172.31.7.58   276
           127.0.0.0          255.0.0.0      on-link        127.0.0.1   306
           127.0.0.1     255.255.255.255      on-link       127.0.0.1   306
     127.255.255.255     255.255.255.255      on-link        127.0.0.1   306
         169.254.0.0         255.255.0.0      on-link      172.31.7.58    306
         169.254.255.255     255.255.0.0      on-link      172.31.7.58    306
          172.31.7.0      255.255.255.0       on-link      172.31.7.58   276
         172.31.7.58     255.255.255.255      on-link      172.31.7.58   276
        172.31.7.255     255.255.255.255     on-link      172.31.7.58   276
           224.0.0.0          240.0.0.0      on-link        127.0.0.1   306
           224.0.0.0         240.0.0.0      on-link      172.31.7.58   276
     255.255.255.255     255.255.255.255      on-link       127.0.0.1   306
     255.255.255.255     255.255.255.255      on-link      172.31.7.58   276
    =============================================================================
    Persistent routes:

    =============================================================================
    </pre>
    As you can see, 169 networks cannot be accessed with this routing table.
    I already tried to disable those registry keys (MS workaround found at Technet), checked everything else and all showed up helpless.
    If I add a persistent route to 169 network I still have to run a route delete 169.254.0.0 before the route add command, otherwhise the routing table will stay useless.
    Does anyone have an idea that could help to solve this annoyance?
    Or does anyone have a workaround that "works around" it?
    Thanks,
    Cesar

    • Edited by Groh Thursday, August 13, 2009 10:02 PM Jesus, this is annoying too! Can't get rid of this chars!
    Thursday, August 13, 2009 9:56 PM
  • RFC 3927 states:

       The host MUST NOT send a packet with an IPv4 Link-Local destination
       address to any router for forwarding.

    Vista and newer systems are just being compliant.

     

    Tuesday, May 10, 2011 11:29 PM