2

This question is a follow-up to "How to set up a Linux server as a router ?" but with an added prerequisite : I want to be sure, before I begin mounting a Ubuntu router, that I will be able to implement QoS. This is mainly to use fine-grained QoS that I want a custom router in the first place so I need to be sure that it is possible.

I want to use an Ubuntu Server machine as my home network router (with DHCP, DMZ, Firewall rules). I also want to be able to throttle the up-link bandwidth (to provide QoS) based on the following criteria:

  • Local IP range
  • Local MAC address
  • Local Port range
  • Remote IP range
  • Remote Port range
  • Priority

For example, I'd like to be able to limit the bandwidth of my Google Drive Sync (which sync to a Google IP on port 443), but only if other services with higher priority needs the bandwidth.

In fact, I'd like to have a mix between StreamEngine QoS (that can limit bandwidth to destination IP but only work with 0..255 priority on my D-Link router) and Cisco "casual" routers (that allow for explicit bandwidth limit - 50KB/s for example - but only on local IP rules).

Is this possible using Ubuntu Server ? If so, where should I start ?

3
  • 1
    I'm not an expert on router setup (only playing with an ASUSWRT device...), but I think all you want to do can be done using a combination of iptables and iproute2. frozentux.net/iptables-tutorial/iptables-tutorial.html lartc.org/howto
    – soulsource
    May 6, 2014 at 13:23
  • Reading the man page of tc and some other web resources about it and it seems to be exactly what I need to create custom QoS rules. Still reading but it looks promising right now... May 6, 2014 at 13:51
  • soulsource, could you please copy your comment as an answer ? iptables and tc (iproute2) are exactly what I need... May 9, 2014 at 20:15

1 Answer 1

2

I think all you want to do can be done using a combination of iptables and iproute2. Please have a look at the Iptables-Tutorial and the advanced router howto.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .