[SOLVED] tunnel is broken, and not sure how to fix it.



  • I have had IPv6 tunnel running for quite some time, today I had the wise idea of trying to use Server 2008 DHCP to hand out my leases… I'm sure it would be great, but I can not find a way to have Server 2008 send the gateway. So I reverted everything back, and now my pfsense box will not hand out the gateway. I have deleted all my IPv6 settings, restarted everything from scratch, but still nothing.  If i manually assign a gateway to my Windows (desktop) nic, IPv6 works perfectly.

    Right pfsense is handing out IP's, but no gateway. Anyone have an idea of what I could be missing?



  • In DHCPv6 you can not send a gateway, this is something the router needs to advertise.

    I recently added the "Router Only" setting to the DHCPv6 server page so that it will only advertise the router but not stateless autoconfig.
    You can also set the router advertisements to "Managed", you can then let either the Windows Server or pfSense DHCPv6 server hand out the addresses.

    Kind regards,

    Seth



  • How can I verify my router is advertising it properly?

    Right now, when I put the gateway IP in, IPv6 functionality works (getting the IP and DNS from DHCPv6, in either Windows or from the DHCPv6 in the router)



  • i'm afraid your windows is still advertising itself as a router, turn that off, you'll find that if you down the server and reboot the client it will get the correct prefix.

    Another issue is that other kit might have picked up on the prefix. For example, just last week 1 of the 2 linksys wireless jobs, a Linksys E3000 picked up the old prefix and decided to maintain it eventhough it was deprecated.

    Worse, it advertised itself as a gateway and it doesn't even have internet (router with dhcp disabled). Another issue is that the e3000 does not even officially support IPv6, it doesn't have a knob in the gui. So here it is broadcasting itself making my life miserable.

    Luckily, after power cycling both, it went away.

    A traceroute should show you where it goes off to.



  • ok, windows dhcpv6 server is off. Re did all the ipv6 settings, now seeing this…

    Aug 30 23:20:49 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1
    Aug 30 23:20:49 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'' returned exit code '1', the output was 'route: writing to routing socket: No such process route: writing to routing socket: Network is unreachable change net default: gateway 2001:470:X:XXX::1: Network is unreachable'
    Aug 30 23:20:49 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1
    Aug 30 23:20:49 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Aug 30 23:20:49 php: : Deny router advertisements for interface opt2
    Aug 30 23:20:48 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'' returned exit code '1', the output was 'route: writing to routing socket: No such process route: writing to routing socket: Network is unreachable change net default: gateway 2001:470:X:XXX::1: Network is unreachable'
    Aug 30 23:20:48 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1
    Aug 30 23:20:48 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Aug 30 23:20:48 php: : ROUTING: setting default route to XXX.179.102.1
    Aug 30 23:20:48 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'' returned exit code '1', the output was 'route: writing to routing socket: No such process route: writing to routing socket: Network is unreachable change net default: gateway 2001:470:X:XXX::1: Network is unreachable'
    Aug 30 23:20:48 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1
    Aug 30 23:20:48 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'



  • that means your gif tunnel is down.



  • I think i found a bug?

    This line:

    php: /interfaces_gif_edit.php: The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'

    If I run this by hand:

    /sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen /64

    It works, and subsequent lines no longer fail. It appears the "/" on the "/64" is missing.

    I contacted, he.net and they tore down my tunnel and rebuilt it and found no fault. I looked at the "interfaces_gif_edit.php" but I don't know php well enough to find what i'm looking for.



  • Ok, its that line, running the command by hand the WANv6 changes:

    Before command is run
    WANV6 (opt2)    -> gif0       -> NONE/NONE     2001:470:X:XXX::2/64

    After
    WANV6 (opt2)    -> gif0       -> NONE/NONE     2001:470:X:XXX::2/126

    /sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen /64

    /sbin/route change -inet6 default '2001:470:X:XXX::1'

    change net default: gateway 2001:470:X:XXX::1

    EDIT: Missed redacting an IP.



  • that we can change. Thanks for investigating



  • Ok, I just grabbed the latest download, new errors are popping up now :(

    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Sep 1 10:23:27 php: : Deny router advertisements for interface opt2
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Sep 1 10:23:27 php: : ROUTING: setting default route to XXX.179.102.1
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'



  • @djroketboy:

    Ok, I just grabbed the latest download, new errors are popping up now :(

    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Sep 1 10:23:27 php: : Deny router advertisements for interface opt2
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'
    Sep 1 10:23:27 php: : ROUTING: setting default route to XXX.179.102.1
    Sep 1 10:23:27 php: : The command '/sbin/route change -inet6 default '2001:470:X:XXX::1'%'gif0'' returned exit code '1', the output was '2001:470:X:XXX::1%gif0: hostname nor servname provided, or not known'
    Sep 1 10:23:27 php: : ROUTING: setting IPv6 default route to 2001:470:X:XXX::1%gif0
    Sep 1 10:23:27 php: : The command '/sbin/ifconfig gif0 inet6 2001:470:X:XXX::2 2001:470:X:XXX::1 prefixlen 64 ' returned exit code '1', the output was 'ifconfig: ioctl (SIOCAIFADDR): Invalid argument'

    Well, crap… should have checked the forum before updating... i'm now seeing this as well.

    2.1-DEVELOPMENT (i386)
    built on Thu Sep 1 11:03:54 EDT 2011

    Sep 1 17:49:23 php: : The command '/sbin/route change -inet6 default '2001:470:xxxx:xxx::1'%'gif0'' returned exit code '1', the output was '2001:470:xxxx:xxx::1%gif0: hostname nor servname provided, or not known'
    Sep 1 17:49:23 php: : ROUTING: setting IPv6 default route to 2001:470:xxxx:xxx::1%gif0
    Sep 1 17:49:23 php: : The command '/sbin/route change -inet6 default '2001:470:xxxx:xxx::1'%'gif0'' returned exit code '1', the output was '2001:470:xxxx:xxx::1%gif0: hostname nor servname provided, or not known'
    Sep 1 17:49:23 php: : ROUTING: setting IPv6 default route to 2001:470:xxxx:xxx::1%gif0
    Sep 1 17:49:23 php: : Deny router advertisements for interface opt1
    Sep 1 17:49:23 php: : The command '/sbin/route change -inet6 default '2001:470:xxxx:xxx::1'%'gif0'' returned exit code '1', the output was '2001:470:xxxx:xxx::1%gif0: hostname nor servname provided, or not known'
    Sep 1 17:49:23 dhcpleases: Could not deliver signal HUP to process because its pidfile does not exist, No such file or directory.
    Sep 1 17:49:23 php: : ROUTING: setting IPv6 default route to 2001:470:xxxx:xxx::1%gif0
    Sep 1 17:49:23 php: : ROUTING: setting default route to xxx.xxx.98.1
    Sep 1 17:49:23 php: : The command '/sbin/route change -inet6 default '2001:470:xxxx:xxx::1'%'gif0'' returned exit code '1', the output was '2001:470:xxxx:xxx::1%gif0: hostname nor servname provided, or not known'



  • oops, ok i see what I did wrong, the interface scope should only be passed onto link local addresses.

    Sorry!



  • No worries… this is what we're here to help with after all, right. ;-)

    Thanks for all your work, Seth!



  • Both should be fixed just now.



  • Thanks!!!  ;D I'm back up and running.


Log in to reply