Unable to get IPv6 with internode



  • Hi all, I'm struggling to get ipv6 going with my isp (internode). I'm using pfsense 2.2, new/clean install. Setup is an adsl modem in bridge mode, pfsense doing pppoe.

    My ISP ipv6 page says:

    When you login, you will be assigned, via a dual-stack IPv4/IPv6 PPP session:

    • Your existing IPv4 address (if static) and any existing framed route(s)
    • A dynamic /64 IPv6 prefix for your PPP session
    • A static /56 IPv6 prefix for your LAN (if you are using a router with Prefix Delegation)

    I have my WAN ipv4 set to pppoe and ipv6 set to dhcp6. LAN ipv4 static with ipv6 set to track WAN. IPv4 enabled in advanced network settings.
    My WAN dhcp6 config:

    This is the configuration other people have said works for them.

    However, my lan interface doesn't get a ipv6 address:

    Here's my system.log at startup: https://gist.github.com/anonymous/36731b227ed8ec86fd37

    So I can't see what's stopping my lan interface getting an ipv6 address. I've tried setting a static address according to what my ISP has given me (on ipv6 info page it tells me "Your delegated static /56 IPv6 prefix for your LAN is: 2001:44b8:xxxx:yyy") but still no go - unable to ping any ipv6 addresses from pfsense box.

    I have the following firewall LAN rule:

    Any ideas on what I'm doing wrong or where I can look to find out what's going wrong?



  • Just a couple of extra bits of information I've found; ifconfig gives:

    pppoe0: flags=88d1<up,pointopoint,running,noarp,simplex,multicast>    metric 0 mtu 1492
       	inet6 fe80::baac:6fff:fe7d:xxxx%pppoe0 prefixlen 64 scopeid 0x7 
    	inet 150.101.zzz.zzz --> 150.101.32.75 netmask 0xffffffff 
    	inet6 2001:44b8:30a0:ec36:baac:6fff:fe7d:xxxx prefixlen 64 autoconf 
    	nd6 options=23<performnud,accept_rtadv,auto_linklocal></performnud,accept_rtadv,auto_linklocal></up,pointopoint,running,noarp,simplex,multicast>
    

    And when I login to my ISP portal and check current connections, it tells me under assigned addresses:

    IPv6:
    2001:44b8:30a0:zzzz::/64 (dynamic)
    2001:44b8:31dc:yyy::/56 (static routed)
    


  • Check on interfaces that Block bogon networks is unchecked

    See https://forum.pfsense.org/index.php?topic=87681.0



  • unchecked on both wan and lan



  • See an IPv6 tru PPPoE as a fe80…. The global adres is available cause DNS servers and PPPoE/ifconfig shows the IPv6 as 2001:44b8:30a0:ec36::/ as the 64 dynamic, but not the /56...

    Maybe you need to get the /56 without setting: Use IPv4 connectivity as parent interface ?

    And how do you setup LAN ? You could try with a global Static number like 2001:44b8:31dc:xyzt::1/64, &  RA(unmanaged).
    Then connected a switch on that LAN-nic and connect a box on that switch.

    [aside: you could need WAN IPv6 ICMP i/o allowance too.]



  • @hda:

    And how do you setup LAN ? You could try with a global Static number like 2001:44b8:31dc:xyzt::1/64, &  RA(unmanaged).
    Then connected a switch on that LAN-nic and connect a box on that switch.

    [aside: you could need WAN IPv6 ICMP i/o allowance too.]

    I gave this a go, computer on lan picked up an ipv6 in what looked like the correct range, still wasn't able to ping ipv6 addresses from it though. If I can get the pfsense box to ping6 first I'd be happy..

    Something I've just noticed while running ifconfig in console is that the bce1 interface keeps alternating its 2001:44b8:31dc:200:baac:6fff:fe7d:7f8e address from "detached autoconf" to "tentative autoconf" to "autoconf". Keeps cycling through them every few seconds. I don't know what this means. bce1 is the interface the WAN cable is plugged into. I'm also seeing 2001:44b8:30a0:fff9:baac:6fff:fe7d:7f8d on the pppoe0 interface which stays as autoconf. Nothing on the bce0 (lan) interface though  :'(



  • If /56 with PPPoE does not work, do you need to route the /56-address via the /64-address's gateway ?



  • Internode website says this:

    All customers receive a static /56 IPv6 prefix via DHCPv6 Prefix Delegation.

    So what you'll want to do is set the WAN interface IPv6 configuration type to "DHCP6" and the LAN interface configuration type to "track interface" and the "IPv6 interface" to "WAN". Do not configure any static addresses on anything. Also, you may may want to experiment with disabling "Request a IPv6 prefix only".

    EDIT: Looking at their directions, it looks like "Request a IPv6 prefix only" should in fact be enabled, so your settings should work as specified in your initial post… Hmm... You did enable IPv6 in "My Internode" -> "My Services" -> "IPv6 Settings"?



  • Anything of relevance in the "DHCP" and/or "Routing" logs?



  • @razzfazz:

    So what you'll want to do is set the WAN interface IPv6 configuration type to "DHCP6" and the LAN interface configuration type to "track interface" and the "IPv6 interface" to "WAN". Do not configure any static addresses on anything. Also, you may want to experiment with disabling "Request a IPv6 prefix only".

    Yep that's what I've got setup (also what others say works with this ISP). As above, my lan interface isn't getting an ipv6 address though. This is my ifconfig output:

    bce0: flags=8943 <up,broadcast,running,promisc,simplex,multicast>metric 0 mtu 1500
            options=c00bb <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,jumbo_mtu,vlan_hwcsum,vlan_hwtso,linkstate>ether b8:ac:6f:7d:7f:8d
            inet 192.168.107.11 netmask 0xffffff00 broadcast 192.168.107.255 
            inet6 fe80::1:1%bce0 prefixlen 64 scopeid 0x1 
            nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (100baseTX <full-duplex>)
            status: active
    bce1: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
            options=c00bb <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,jumbo_mtu,vlan_hwcsum,vlan_hwtso,linkstate>ether b8:ac:6f:7d:7f:8e
            inet6 fe80::baac:6fff:fe7d:7f8e%bce1 prefixlen 64 scopeid 0x2 
            inet6 2001:44b8:31dc:200:baac:6fff:fe7d:7f8e prefixlen 64 detached deprecated autoconf 
            nd6 options=23 <performnud,accept_rtadv,auto_linklocal>media: Ethernet autoselect (100baseTX <full-duplex>)
            status: active
    pflog0: flags=100 <promisc>metric 0 mtu 33144
    pfsync0: flags=0<> metric 0 mtu 1500
            syncpeer: 224.0.0.240 maxupd: 128 defer: on
            syncok: 1
    lo0: flags=8049 <up,loopback,running,multicast>metric 0 mtu 16384
            options=600003 <rxcsum,txcsum,rxcsum_ipv6,txcsum_ipv6>inet 127.0.0.1 netmask 0xff000000 
            inet6 ::1 prefixlen 128 
            inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 
            nd6 options=21 <performnud,auto_linklocal>enc0: flags=41 <up,running>metric 0 mtu 1536
            nd6 options=21 <performnud,auto_linklocal>pppoe0: flags=88d1 <up,pointopoint,running,noarp,simplex,multicast>metric 0 mtu 1492
            inet6 fe80::baac:6fff:fe7d:7f8d%pppoe0 prefixlen 64 scopeid 0x7 
            inet 150.101.xxx.yyy --> 150.101.32.75 netmask 0xffffffff 
            inet6 2001:44b8:30a0:fff9:baac:6fff:fe7d:7f8d prefixlen 64 autoconf 
            nd6 options=23 <performnud,accept_rtadv,auto_linklocal></performnud,accept_rtadv,auto_linklocal></up,pointopoint,running,noarp,simplex,multicast></performnud,auto_linklocal></up,running></performnud,auto_linklocal></rxcsum,txcsum,rxcsum_ipv6,txcsum_ipv6></up,loopback,running,multicast></promisc></full-duplex></performnud,accept_rtadv,auto_linklocal></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,jumbo_mtu,vlan_hwcsum,vlan_hwtso,linkstate></up,broadcast,running,simplex,multicast></full-duplex></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,jumbo_mtu,vlan_hwcsum,vlan_hwtso,linkstate></up,broadcast,running,promisc,simplex,multicast> 
    

    I have a dhcp6c process running:
    /usr/local/sbin/dhcp6c -d -c /var/etc/dhcp6c_wan.conf -p /var/run/dhcp6c_pppoe0.pid pppoe0

    I'm unsure what "track interface" actually does. How is the lan (bce0) interface supposed to get an address? (I'm totally new to ipv6)

    Yes, I've enabled IPv6 on internode's "IPv6 Settings". When I login to my ISP account portal and check existing connections, under "show logged in services" under assigned IP addresses it says:

    IPv6:
    2001:44b8:30a0:fff9::/64 (dynamic)
    2001:44b8:31dc:200::/56 (static routed)



  • The way it's supposed to work is that the DHPC6 client gets a prefix delegation, and then configures the interfaces as appropriate. Looking at your ifconfig output, it seems that for some reason it's actually setting up the delegated prefix on bce1 (your WAN), not bce0. Can you please paste the contents of /var/etc/dhcp6c_wan.conf on your box?

    EDIT: And /var/etc/radvd.conf as well, please.



  • /var/etc/dhcp6c_wan.conf:

    interface pppoe0 {
            send ia-pd 0;   # request prefix delegation
            request domain-name-servers;
            request domain-name;
            script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
    };
    id-assoc pd 0 {
            prefix ::/56 infinity;
            prefix-interface bce0 {
                    sla-id 0;
                    sla-len 8;
            };
    };
    

    /var/etc/radvd.conf:

    # Automatically Generated, do not edit
    # Generated config for dhcp6 delegation from wan on lan
    interface bce0 {
            AdvSendAdvert on;
            MinRtrAdvInterval 3;
            MaxRtrAdvInterval 10;
            AdvLinkMTU 1500;
            AdvOtherConfigFlag on;
                    prefix ::/64 {
                    AdvOnLink on;
                    AdvAutonomous on;
                    AdvRouterAddr on;
            };
            DNSSL sydney.xxxxx.com.au { };
    };
    
    


  • @Agrajag:

    /var/etc/dhcp6c_wan.conf:
    […]

    This looks correct.

    @Agrajag:

    /var/etc/radvd.conf:

    # Automatically Generated, do not edit
    # Generated config for dhcp6 delegation from wan on lan
    interface bce0 {
            AdvSendAdvert on;
            MinRtrAdvInterval 3;
            MaxRtrAdvInterval 10;
            AdvLinkMTU 1500;
            AdvOtherConfigFlag on;
                    prefix ::/64 {
                    AdvOnLink on;
                    AdvAutonomous on;
                    AdvRouterAddr on;
            };
            DNSSL sydney.xxxxx.com.au { };
    };
    
    

    This one, not so much; the "prefix" line should be something like "prefix 2001:44b8:31dc:200::/64 {", but for some reason it's not getting the correct prefix from the DHCP client. This does not explain at all how that prefix ended up on bce1, though… Did you reboot after your earlier experiments? In any case, I would suggest you reboot your box and then look at the logs for any output from dhcp6c (not sure if that's in the system or dhcp log nowadays).



  • To add: MTU values must be in alignment.

    Test if you need 1492 with the PPPoE (not the 1500). So in pfSense Interfaces WAN & LAN set MTU 1492.
    Assure with rebooting in line with the MoDem.

    Expectation:
    if MoDem in bridge > if MoDem/PPPoE(IPv4) on WAN-iface > if WAN-DHCP6 > then a fe80…. on WAN-iface and a 2001:44b8:etc/64 on LAN-iface.