Complete noob and ia-pd configuration.



  • So, near as I can understand it, my one ISP hands out a /56 prefix, then its up to the router (pfsense box in my case) to delegate the addresses to other devices inside the LAN.

    I've had to custom create a dhcp6c_wan.conf which mostly works, except it keeps looping.

    This is my config

    interface em0_vlan3 {
            send ia-pd 0;
           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-interface em0_vlan5 {
            sla-id 0;
            sla-len 0;
            };
    };
    
    

    When I run /usr/local/sbin/dhcp6c -dDf -c /var/etc/dhcp6c_wan.conf -p /var/run/dhcp6c.pid em0_vlan3

    It seems to get a prefix, but it keeps looping

    Oct/30/2015 16:17:39: reset a timer on em0_vlan3, state=INIT, timeo=0, retrans=386
    Oct/30/2015 16:17:39: executes /var/etc/dhcp6c_wan_script.sh
    Oct/30/2015 16:17:39: script "/var/etc/dhcp6c_wan_script.sh" terminated
    Oct/30/2015 16:17:39: removing an event on em0_vlan3, state=REQUEST
    Oct/30/2015 16:17:39: removing server (ID: 00:03:00:01:0c:a4:02:23:f4:01)
    Oct/30/2015 16:17:39: got an expected reply, sleeping.
    Oct/30/2015 16:17:40: a new XID (4448c7) is generated
    Oct/30/2015 16:17:40: set client ID (len 14)
    Oct/30/2015 16:17:40: set elapsed time (len 2)
    Oct/30/2015 16:17:40: set option request (len 4)
    Oct/30/2015 16:17:40: set IA_PD
    Oct/30/2015 16:17:40: send solicit to ff02::1:2%em0_vlan3
    Oct/30/2015 16:17:40: reset a timer on em0_vlan3, state=SOLICIT, timeo=0, retrans=1049
    Oct/30/2015 16:17:40: receive advertise from fe80::ea4:2ff:fe23:f401%em0_vlan3 on em0_vlan3
    Oct/30/2015 16:17:40: get DHCP option server ID, len 10
    Oct/30/2015 16:17:40:   DUID: 00:03:00:01:0c:a4:02:23:f4:01
    Oct/30/2015 16:17:40: get DHCP option client ID, len 14
    Oct/30/2015 16:17:40:   DUID: 00:01:00:01:1b:d5:91:94:74:d0:2b:9d:84:9c
    Oct/30/2015 16:17:40: get DHCP option IA_PD, len 41
    Oct/30/2015 16:17:40:   IA_PD: ID=0, T1=86400, T2=144000
    Oct/30/2015 16:17:40: get DHCP option IA_PD prefix, len 25
    Oct/30/2015 16:17:40:   IA_PD prefix: 2001:56a:f3b1:2e00::/56 pltime=172800 vltime=345600
    Oct/30/2015 16:17:40: get DHCP option DNS, len 32
    Oct/30/2015 16:17:40: server ID: 00:03:00:01:0c:a4:02:23:f4:01, pref=-1
    Oct/30/2015 16:17:40: reset timer for em0_vlan3 to 0.994837
    Oct/30/2015 16:17:41: picked a server (ID: 00:03:00:01:0c:a4:02:23:f4:01)
    Oct/30/2015 16:17:41: a new XID (562947) is generated
    Oct/30/2015 16:17:41: set client ID (len 14)
    Oct/30/2015 16:17:41: set server ID (len 10)
    Oct/30/2015 16:17:41: set elapsed time (len 2)
    Oct/30/2015 16:17:41: set option request (len 4)
    Oct/30/2015 16:17:41: set IA_PD prefix
    Oct/30/2015 16:17:41: set IA_PD
    Oct/30/2015 16:17:41: send request to ff02::1:2%em0_vlan3
    Oct/30/2015 16:17:41: reset a timer on em0_vlan3, state=REQUEST, timeo=0, retrans=964
    Oct/30/2015 16:17:41: receive reply from fe80::ea4:2ff:fe23:f401%em0_vlan3 on em0_vlan3
    Oct/30/2015 16:17:41: get DHCP option server ID, len 10
    Oct/30/2015 16:17:41:   DUID: 00:03:00:01:0c:a4:02:23:f4:01
    Oct/30/2015 16:17:41: get DHCP option client ID, len 14
    Oct/30/2015 16:17:41:   DUID: 00:01:00:01:1b:d5:91:94:74:d0:2b:9d:84:9c
    Oct/30/2015 16:17:41: get DHCP option IA_PD, len 48
    Oct/30/2015 16:17:41:   IA_PD: ID=0, T1=86400, T2=144000
    Oct/30/2015 16:17:41: get DHCP option status code, len 32
    Oct/30/2015 16:17:41:   status code: no prefixes
    Oct/30/2015 16:17:41: get DHCP option DNS, len 32
    Oct/30/2015 16:17:41: nameserver[0] 2001:568:ff09:10c::53
    Oct/30/2015 16:17:41: nameserver[1] 2001:568:ff09:10d::53
    Oct/30/2015 16:17:41: make an IA: PD-0
    Oct/30/2015 16:17:41: status code for PD-0: no prefixes
    Oct/30/2015 16:17:41: IA PD-0 is invalidated
    Oct/30/2015 16:17:41: remove an IA: PD-0
    Oct/30/2015 16:17:41: reset a timer on em0_vlan3, state=INIT, timeo=0, retrans=421
    Oct/30/2015 16:17:41: executes /var/etc/dhcp6c_wan_script.sh
    Oct/30/2015 16:17:41: script "/var/etc/dhcp6c_wan_script.sh" terminated
    Oct/30/2015 16:17:41: removing an event on em0_vlan3, state=REQUEST
    Oct/30/2015 16:17:41: removing server (ID: 00:03:00:01:0c:a4:02:23:f4:01)
    Oct/30/2015 16:17:41: got an expected reply, sleeping.
    Oct/30/2015 16:17:41: a new XID (7688d) is generated
    Oct/30/2015 16:17:41: set client ID (len 14)
    Oct/30/2015 16:17:41: set elapsed time (len 2)
    Oct/30/2015 16:17:41: set option request (len 4)
    Oct/30/2015 16:17:41: set IA_PD
    Oct/30/2015 16:17:41: send solicit to ff02::1:2%em0_vlan3
    Oct/30/2015 16:17:41: reset a timer on em0_vlan3, state=SOLICIT, timeo=0, retrans=1036
    Oct/30/2015 16:17:41: receive advertise from fe80::ea4:2ff:fe23:f401%em0_vlan3 on em0_vlan3
    Oct/30/2015 16:17:41: get DHCP option server ID, len 10
    Oct/30/2015 16:17:41:   DUID: 00:03:00:01:0c:a4:02:23:f4:01
    Oct/30/2015 16:17:41: get DHCP option client ID, len 14
    Oct/30/2015 16:17:41:   DUID: 00:01:00:01:1b:d5:91:94:74:d0:2b:9d:84:9c
    Oct/30/2015 16:17:41: get DHCP option IA_PD, len 41
    Oct/30/2015 16:17:41:   IA_PD: ID=0, T1=86400, T2=144000
    Oct/30/2015 16:17:41: get DHCP option IA_PD prefix, len 25
    Oct/30/2015 16:17:41:   IA_PD prefix: 2001:56a:f3b1:2e00::/56 pltime=172800 vltime=345600
    Oct/30/2015 16:17:41: get DHCP option DNS, len 32
    Oct/30/2015 16:17:41: server ID: 00:03:00:01:0c:a4:02:23:f4:01, pref=-1
    Oct/30/2015 16:17:41: reset timer for em0_vlan3 to 0.995560
    ^C
    
    

    So it grabs the prefix of 2001:56a:f3b1:2e00::/56 but then just keeps looping. I tried manually assigning an address of 2001:56a:f3b1:2e00::1 to the appropriate WAN interface, but was unable to ping6/traceroute6 from the PFSense box itself.

    Any tips/advice would be greatly appreciated.



  • So,

    I modified my config slightly

    
    interface em0_vlan3 {
            send ia-pd 1;
            request domain-name-servers;
            request domain-name;
            script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
    };
    
    id-assoc pd 1 {
            prefix-interface em0_vlan5 {
    #        sla-id 1;
    #       sla-len 56;
            };
    };
    
    

    now this happens

    Oct/30/2015 21:07:26: reset a timer on em0_vlan3, state=INIT, timeo=0, retrans=383
    Oct/30/2015 21:07:27: a new XID (9026a) is generated
    Oct/30/2015 21:07:27: set client ID (len 14)
    Oct/30/2015 21:07:27: set elapsed time (len 2)
    Oct/30/2015 21:07:27: set option request (len 4)
    Oct/30/2015 21:07:27: set IA_PD
    Oct/30/2015 21:07:27: send solicit to ff02::1:2%em0_vlan3
    Oct/30/2015 21:07:27: reset a timer on em0_vlan3, state=SOLICIT, timeo=0, retrans=1088
    Oct/30/2015 21:07:27: receive advertise from fe80::ea4:2ff:fe23:f401%em0_vlan3 on em0_vlan3
    Oct/30/2015 21:07:27: get DHCP option server ID, len 10
    Oct/30/2015 21:07:27:   DUID: 00:03:00:01:0c:a4:02:23:f4:01
    Oct/30/2015 21:07:27: get DHCP option client ID, len 14
    Oct/30/2015 21:07:27:   DUID: 00:01:00:01:1b:d5:91:94:74:d0:2b:9d:84:9c
    Oct/30/2015 21:07:27: get DHCP option IA_PD, len 41
    Oct/30/2015 21:07:27:   IA_PD: ID=1, T1=86400, T2=144000
    Oct/30/2015 21:07:27: get DHCP option IA_PD prefix, len 25
    Oct/30/2015 21:07:27:   IA_PD prefix: 2001:56a:f3a8:a700::/56 pltime=172800 vltime=345600
    Oct/30/2015 21:07:27: get DHCP option DNS, len 32
    Oct/30/2015 21:07:27: server ID: 00:03:00:01:0c:a4:02:23:f4:01, pref=-1
    Oct/30/2015 21:07:27: reset timer for em0_vlan3 to 0.982435
    Oct/30/2015 21:07:28: picked a server (ID: 00:03:00:01:0c:a4:02:23:f4:01)
    Oct/30/2015 21:07:28: a new XID (68310) is generated
    Oct/30/2015 21:07:28: set client ID (len 14)
    Oct/30/2015 21:07:28: set server ID (len 10)
    Oct/30/2015 21:07:28: set elapsed time (len 2)
    Oct/30/2015 21:07:28: set option request (len 4)
    Oct/30/2015 21:07:28: set IA_PD prefix
    Oct/30/2015 21:07:28: set IA_PD
    Oct/30/2015 21:07:28: send request to ff02::1:2%em0_vlan3
    Oct/30/2015 21:07:28: reset a timer on em0_vlan3, state=REQUEST, timeo=0, retrans=977
    Oct/30/2015 21:07:28: receive reply from fe80::ea4:2ff:fe23:f401%em0_vlan3 on em0_vlan3
    Oct/30/2015 21:07:28: get DHCP option server ID, len 10
    Oct/30/2015 21:07:28:   DUID: 00:03:00:01:0c:a4:02:23:f4:01
    Oct/30/2015 21:07:28: get DHCP option client ID, len 14
    Oct/30/2015 21:07:28:   DUID: 00:01:00:01:1b:d5:91:94:74:d0:2b:9d:84:9c
    Oct/30/2015 21:07:28: get DHCP option IA_PD, len 41
    Oct/30/2015 21:07:28:   IA_PD: ID=1, T1=86400, T2=144000
    Oct/30/2015 21:07:28: get DHCP option IA_PD prefix, len 25
    Oct/30/2015 21:07:28:   IA_PD prefix: 2001:56a:f3a8:a700::/56 pltime=172800 vltime=345600
    Oct/30/2015 21:07:28: get DHCP option DNS, len 32
    Oct/30/2015 21:07:28: nameserver[0] 2001:568:ff09:10c::53
    Oct/30/2015 21:07:28: nameserver[1] 2001:568:ff09:10d::53
    Oct/30/2015 21:07:28: make an IA: PD-1
    Oct/30/2015 21:07:28: create a prefix 2001:56a:f3a8:a700::/56 pltime=140733193560832, vltime=140733193733632
    Oct/30/2015 21:07:28: invalid prefix length 56 + 16 + 64
    Oct/30/2015 21:07:28: executes /var/etc/dhcp6c_wan_script.sh
    Oct/30/2015 21:07:28: script "/var/etc/dhcp6c_wan_script.sh" terminated
    Oct/30/2015 21:07:28: removing an event on em0_vlan3, state=REQUEST
    Oct/30/2015 21:07:28: removing server (ID: 00:03:00:01:0c:a4:02:23:f4:01)
    Oct/30/2015 21:07:28: got an expected reply, sleeping.
    
    

    so em0_vlan5 now gets assigned       
    inet6 2001:56a:f3a8:a700:20c:29ff:fe20:fd1c prefixlen 56

    however, if I try to ping

    ping6 google.ca
    PING6(56=40+8+8 bytes) 2001:56a:f3a8:a700:20c:29ff:fe20:fd1c --> 2607:f8b0:400a:805::100f
    ping6: sendmsg: Operation not permitted
    ping6: wrote google.ca 16 chars, ret=-1
    
    

    but the routing table looks good

    [2.2.4-RELEASE][root@pfsense.wtf.local]/root: route -6 get google.ca
       route to: sea15s01-in-x03.1e100.net
    destination: default
           mask: default
        gateway: node-1w7jra22wzwwdjzfq1cmmcqo0.ipv6.telus.net
            fib: 0
      interface: em0_vlan3
          flags: <up,gateway,done,static>recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
           0         0         0         0      1500         1         0</up,gateway,done,static> 
    

    =\



  • So with this config file

    interface em0_vlan3 {
    #       information-only;
            send ia-pd 1;
            request domain-name-servers;
            request domain-name;
            script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
    };
    
    id-assoc pd 1 {
            prefix-interface em0_vlan5 {
            sla-id 1;
            sla-len 0;
            };
    
    };
    
    

    It works. I get functional IPV6 on my router, however pfsense doesn't seem to want to let me advertise this to clients on my lan.

    Also, there seems to be no choices/combination of options to do PD on a normal WAN interface. in the 2.2.5 changelog, it said IA-PD changes were made for PPPoE users.


Log in to reply