This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

50 User Limit and ipv6 Privacy Addresses

I am running the free for home use 50 user version of the firewall and I have 12 devices on my network.  I am recieving emails that I have breached the 50 user limit.  The problem is that it appears to be counting based on IP address.  Each machine that supports ipv6 is dual stacked and using privacy addresses so they have many numbers of addresses.

Is there another way to accomplish this maybe MAC Address?

Thanks!


This thread was automatically locked due to age.
  • Hi fjmiller,

    Unfortunately the UTM is hard-coded to count IP's as 'users.' It's been discussed before when IPv6 support first was introduced and it is a limitation of software licenses on the UTM.

    Appliance users are immune to the issue as those don't count IP's but are sized based on how much the hardware can handle. Doesn't help the home user tho as they only have the software option (even running on an appliance the home license is limited to 50 IPs)
  • Anyone who has IPv4 and IPv6 enabled on their computers will be experiencing this issue. On computers with IPv4 and IPv6 with both wired and wireless connections (e.g., laptops), 4 addresses will be used. Similarly for computers with more than one wired NIC. I hope utm will support multiple addresses per computer in the next release.
  • I would venture he has a configuration error. I have more than 12 devices and run both IPv4 and IPv6 and only have 37 IP addresses registered.

    Ian
  • Yeah, I'm not sure what the OP means by "privacy addresses", but the link-local IPv6 addresses should not be routing through the gateway, and thus should not be getting counted.
  • IPv6 - Wikipedia, the free encyclopedia

    The last time I looked into it the UTM's license count enforcement is layer-3 centric.  This means the systems using multiple IPv6 addresses are seen as multiple "users" for the license count.

    You may want to review the debugging output from:
    /usr/local/bin/count_active_ip.plx --debug --showcount
  • Yeah, I'm not sure what the OP means by "privacy addresses"


    My assumption here is that the original poster is referring to RFC1918 address space (i.e 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
  • My assumption here is that the original poster is referring to RFC1918 address space (i.e 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).


    No, click on the WikiPedia link posted by TechEd.

    iirc, the short version is that the client OS, in this mode, will randomly change its IP address regularly.

    Barry
  • I have the same problem as fjmiller. I have native IPv6 through Time Warner Cable and use the home version of Sophos UTM as my home gateway. I have about 12-14 devices on my network but am pretty much getting a daily message that I'm over my 50-user license.

    The issue seems to be that UTM is not "aging out" all of the many temporary IPv6 addresses that are being created by all my devices and so they are filling up the user count.  The way UTM's licensing system counts IPv6 addresses may need to change.

    To explain, IPv6 privacy extensions are defined in RFC 4941 - RFC 4941 - Privacy Extensions for Stateless Address Autoconfiguration in IPv6 - and at this point are implemented *by default* by:

    - all versions of Windows after Windows XP
    - all versions of Mac OS X from 10.7 onward
    - all versions of iOS since iOS 4.3
    - some versions of Linux

    I believe that Android also enabled IPv6 Privacy Extensions by default as of the "Ice Cream Sandwich" release.  What this means is that basically every recent smartphone, laptop and desktop connected to a network is going to be generating IPv6 temporary addresses by default.

    Basically, what happens is that rather than using an IPv6 address that incorporates the MAC address of the device (and that could be used then for tracking), the operating system creates a temporary IPv6 address that uses the network prefix with a randomly generated host address.  It then uses that temporary IPv6 address for some period of time before it discards the temporary address and creates a new one.

    Here's the problem for UTM's licensing - new temporary IPv6 addresses are generated **EACH DAY** for *every* device that is using IPv6.

    (Or I should say that the implementations I've seen of RFC 4941 *seem* to all generate a new address each day. This can be changed and some devices might be configured to generate new IPv6 addresses hourly.)

    It seems like UTM's licensing logic is to note IP addresses and then keep track of them for some period of time.  I don't know the expiration time... but given the stability of IPv4 addresses it could have been days or even a week.  Since IPv4 addresses are only typically assigned via DHCP or statically, the churn would be relatively small.

    However, in the world of IPv6, this assumption of little churn has to be removed.

    Consider this scenario - I have a network with 12 devices, 8 of which are IPv6-capable and generate IPv6 temporary addresses. Let's assume they only generate a new IPv6 temporary address each day. I have a license limit of "50 users". Here is how it would play out for the licensing system:

    Day 1  - 20 "users"
    -------
    12 IPv4 addresses
    8 IPv6 addresses

    Day 2  - 28 "users"
    -------
    12 IPv4 addresses
    16 IPv6 addresses

    Day 3  - 36 "users"
    -------
    12 IPv4 addresses
    24 IPv6 addresses

    Day 4  - 44 "users"
    -------
    12 IPv4 addresses
    32 IPv6 addresses

    Day 5  - 52 "users"
    -------
    12 IPv4 addresses
    40 IPv6 addresses

    Day 5  - 60 "users"
    -------
    12 IPv4 addresses
    48 IPv6 addresses

    Day 6  - 68 "users"
    -------
    12 IPv4 addresses
    56 IPv6 addresses

    Day 7  - 76 "users"
    -------
    12 IPv4 addresses
    64 IPv6 addresses

    Now, if the licensing algorithm is to age them out after 7 days, then the 8 IPv6 addresses in Day 1 will be removed on Day 8, but 8 new IPv6 addresses will be generated... the 8 from Day 2 will be removed on Day 9, but 8 new IPv6 addresses will be generated... etc., etc.

    The key point is that from Day 5 onward I'm exceeding the 50 user limit even though I still only have my 12 devices on the network.

    There are really two issues here - first, all my IPv6-capable devices are being double-counted. There are still only 12 devices on Day 1, even though they generate 20 "users" in the UTM licensing.

    But leaving that aside, this expiration issue of IPv6 temporary addresses is the larger problem.  All I can think of is that the UTM licensing mechanism needs to change for IPv6 addresses to age out the addresses after perhaps only 24 hours.  A concern could be that this might undercount the number of users and so you might want to track the addresses for 48 hours... but again, those temporary addresses are gone after 24 hours.  They'll never be seen again on the network.
  • Here's a post that talks more about IPv6 temporary addresses in Linux:

    IPv6 temporary addresses and privacy extensions « ipsidixit.net

    Note the point about the lifetime of temporary addresses.  When a new temporary IPv6 address is generated the operating system starts to use it immediately, but keeps the older temporary IPv6 address around as "deprecated" to deal with existing connections.

    [As a side note, if any Sophos developers need someone to test a fix for this licensing mechanism on an IPv6 network, I'd be glad to do so.]
  • Hi,

    For now, I'd suggest:
    a. turn off this addressing mode in the clients, if practical

    b. shrink the size of your internal subnet; e.g. instead of using (the IPv6 equivalent of) a /24 try a /26 or /27; this should cause IPs to be re-used (by random devices) more often, and then the total IPs counted will be lower.
    edit: I guess a subnet that small is probably abnormal with IPv6; I don't know if it's possible or not.

    Barry