DualWAN issue, can only get ipv6 on 1 WAN interface at a time



  • Edit: New info, this might be a bug…. I did a packet capture of the process and it turns out when I change the ia-na, comcast DOES assign a new valid IP.  pfSense just isn't picking it up for some reason.  Any ideas?  (Attached a pic of the packet capture)

    I have 2 WAN connections, with 2 modems. I am trying to get 2 ipv6 addresses from Comcast. I can do either interface, but not both at once. The interfaces are given the exact same ipv6 IP when they work (one at a time).

    I think the issue is that the DUID that the dhcp6 client is sending is identical on both interfaces. I tried setting a different ia-na in the configuration file manually, it didn't help.
    I've done a lot of searching but I can't seem to find anything about how to rig this so each interface can send its own unique DUID.
    Any ideas?

    Further info: I have my primary ipv6 interface working, with assisted DHCPv6 so my machines get assigned the automatic addresses and my internal local address.  This all works fine, full connectivity.  My backup plan is to run a tunnel broker over the secondary interface... but that's not ideal.

    Heres a manual run of dhcp6c:

    /usr/local/sbin/dhcp6c -fD -c /var/etc/dhcp6c_opt1.conf igb1
    Nov/22/2014 10:38:18: get_duid: extracted an existing DUID from /var/db/dhcp6c_duid: 00:01:00:01:1b:12:6d:ae:00:25:90:f3:8d:22
    Nov/22/2014 10:38:18: dhcp6_ctl_authinit: failed to open /usr/local/etc/dhcp6cctlkey: No such file or directory
    Nov/22/2014 10:38:18: client6_init: failed initialize control message authentication
    Nov/22/2014 10:38:18: client6_init: skip opening control port
    Nov/22/2014 10:38:18: cfdebug_print: <3>[interface] (9)
    Nov/22/2014 10:38:18: cfdebug_print: <5>[igb1] (4)
    Nov/22/2014 10:38:18: cfdebug_print: <3>begin of closure [{] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[send] (4)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[ia-na] (5)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[28790] (5)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>comment [# request stateful address] (26)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[request] (7)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[domain-name-servers] (19)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[request] (7)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[domain-name] (11)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[script] (6)
    Nov/22/2014 10:38:18: cfdebug_print: <3>["/var/etc/dhcp6c_opt1_script.sh"] (32)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>comment [# we'd like some nameservers please] (35)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of closure [}] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>[id-assoc] (8)
    Nov/22/2014 10:38:18: cfdebug_print: <13>[na] (2)
    Nov/22/2014 10:38:18: cfdebug_print: <13>[28790] (5)
    Nov/22/2014 10:38:18: cfdebug_print: <13>begin of closure [{] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of closure [}] (1)
    Nov/22/2014 10:38:18: cfdebug_print: <3>end of sentence [;] (1)
    Nov/22/2014 10:38:18: configure_pool: called
    Nov/22/2014 10:38:18: clear_poolconf: called
    Nov/22/2014 10:38:18: dhcp6_reset_timer: reset a timer on igb1, state=INIT, timeo=0, retrans=383
    Nov/22/2014 10:38:19: client6_send: a new XID (7c731e) is generated
    Nov/22/2014 10:38:19: copy_option: set client ID (len 14)
    Nov/22/2014 10:38:19: copyout_option: set identity association
    Nov/22/2014 10:38:19: copy_option: set elapsed time (len 2)
    Nov/22/2014 10:38:19: copy_option: set option request (len 4)
    Nov/22/2014 10:38:19: client6_send: send solicit to ff02::1:2%igb1
    Nov/22/2014 10:38:19: dhcp6_reset_timer: reset a timer on igb1, state=SOLICIT, timeo=0, retrans=1088
    Nov/22/2014 10:38:20: copy_option: set client ID (len 14)
    Nov/22/2014 10:38:20: copyout_option: set identity association
    Nov/22/2014 10:38:20: copy_option: set elapsed time (len 2)
    Nov/22/2014 10:38:20: copy_option: set option request (len 4)
    Nov/22/2014 10:38:20: client6_send: send solicit to ff02::1:2%igb1
    Nov/22/2014 10:38:20: dhcp6_reset_timer: reset a timer on igb1, state=SOLICIT, timeo=1, retrans=2151
    Nov/22/2014 10:38:22: copy_option: set client ID (len 14)
    Nov/22/2014 10:38:22: copyout_option: set identity association
    Nov/22/2014 10:38:22: copy_option: set elapsed time (len 2)
    Nov/22/2014 10:38:22: copy_option: set option request (len 4)
    Nov/22/2014 10:38:22: client6_send: send solicit to ff02::1:2%igb1
    Nov/22/2014 10:38:22: dhcp6_reset_timer: reset a timer on igb1, state=SOLICIT, timeo=2, retrans=4283