From: Ed W <lists@wildgooses.com>
To: Andrew Beverley <andy@andybev.com>
Cc: Netfilter <netfilter@vger.kernel.org>
Subject: Re: High accuracy bandwidth accounting?
Date: Mon, 09 May 2011 23:49:16 +0100 [thread overview]
Message-ID: <4DC86F6C.7020600@wildgooses.com> (raw)
In-Reply-To: <1304977533.1921.305.camel@andybev-desktop>
On 09/05/2011 22:45, Andrew Beverley wrote:
> On Mon, 2011-05-09 at 15:12 +0100, Ed W wrote:
>> Hi, I have a slightly peculiar requirement to track very accurate *per
>> user* traffic for a small remote userbase. The internet connections
>> these users have available will be one or more of: a) circuit switched
>> satellite phone (ie per second billing), data volume billed (ie GPRS
>> style) satellite phone or a 3G cell phone - all of these will have non
>> trivial bandwidth costs and we want to attribute very exact costs back
>> on a per user basis.
>>
>> To do this I'm using a small custom built embedded router, and we will
>> use some form of 802.11x or captive portal style user authentication but
>> I have two areas I need advice on solving:
>>
>> 1) Best way to do per user traffic accounting *per* internet gateway. ie
>> each gateway will have quite radically different costs to run and so we
>> need to also count traffic per route. My current thinking is to use
>> packet marking to choose the route and my tests suggest that I can
>> pickup this mark via conntrack and therefore account using ulogd/pmacct
>> or similar? Anyone got any thoughts on other ways to slice this or
>> anything I am missing?
>
> That sounds good. Using marks is a pretty flexible way of achieving most
> things. I don't think I fully understand your setup though without a
> diagram. How are you identifying individual users within each route? By
> IP address?
The "per user" part is still under experimentation. The main option
seem to be some kind of authentication which then marks a MAC/IP combo
as "authenticated" and we track traffic to that device (being aware of
the limitations of that). However, if I use 802.11x auth then I appear
to get my traffic automatically put into it's own vlan - this might be
interesting, but vlans don't appear to give me a whole lot of options to
filter within iptables?
The basic scenario is a small number of guys in a remote location with
only a satellite connection to the internet. Lets imagine they are on a
tanker steaming across the Pacific say. The crew in this scenario might
be "sold" or otherwise allocated a quantity of data that they can use,
where the owner of the satellite connection will be paying between
$10-100/MB of data (it actually tends to be one end or the other
depending on the system used - fairly pricey anyway). However,
occasionally the unit will be within reach of an alternative connection
such as cell phone range - at that point we want to switch over to a
cheaper circuit and adjust our billing.
Essentially it's a captive portal scenario, but most captive portals
have the luxury of billing based on all traffic crossing the internal
network, whereas we want to track usage only across the expensive link
(and track each link separately).
Suggestions and comments welcome!
Ed W
next prev parent reply other threads:[~2011-05-09 22:49 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-09 14:12 High accuracy bandwidth accounting? Ed W
2011-05-09 21:45 ` Andrew Beverley
2011-05-09 22:07 ` Ed W
2011-05-09 22:16 ` Andrew Beverley
2011-05-09 22:49 ` Ed W [this message]
2011-05-11 14:30 ` Ed W
2011-05-12 0:01 ` Andrew Beverley
2011-05-12 22:17 ` Ed W
2011-05-12 22:27 ` Andrew Beverley
2011-05-09 23:23 ` Ed W
2011-05-14 9:23 ` Andrew Beverley
2011-05-14 13:36 ` Ed W
2011-05-14 16:29 ` Andrew Beverley
2011-05-14 22:33 ` Jan Engelhardt
2011-05-15 7:23 ` Andrew Beverley
2011-05-15 9:08 ` Jan Engelhardt
2011-05-16 6:43 ` Andrew Beverley
2011-05-16 7:23 ` Jan Engelhardt
2011-05-22 21:22 ` Andrew Beverley
2011-05-16 14:35 ` Ed W
2011-05-16 14:59 ` Jan Engelhardt
2011-05-16 16:53 ` Ed W
2011-05-14 9:48 ` Marek Kierdelewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DC86F6C.7020600@wildgooses.com \
--to=lists@wildgooses.com \
--cc=andy@andybev.com \
--cc=netfilter@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.