summaryrefslogtreecommitdiff
path: root/docs/services/pppoe-server.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/services/pppoe-server.rst')
-rw-r--r--docs/services/pppoe-server.rst56
1 files changed, 53 insertions, 3 deletions
diff --git a/docs/services/pppoe-server.rst b/docs/services/pppoe-server.rst
index 1316898e..9c457af5 100644
--- a/docs/services/pppoe-server.rst
+++ b/docs/services/pppoe-server.rst
@@ -33,9 +33,10 @@ Connections can be locally checked via the command
.. code-block:: sh
show pppoe-server sessions
- ifname | username | calling-sid | ip | type | comp | state | uptime
- -------+----------+-------------------+------------+-------+------+--------+----------
- ppp0 | foo | 08:00:27:fa:3e:50 | 10.1.1.100 | pppoe | | active | 00:04:15
+ ifname | username | ip | calling-sid | rate-limit | state | uptime | rx-bytes | tx-bytes
+ -------+----------+------------+-------------------+-------------+--------+----------+----------+----------
+ ppp0 | foo | 10.1.1.100 | 08:00:27:ba:db:15 | 20480/10240 | active | 00:00:11 | 214 B | 76 B
+
To use a radius server, you need to switch to authentication mode radius and
@@ -52,5 +53,54 @@ server configured, if you wish to achieve redundancy.
RADIUS provides the IP addresses in the example above via Framed-IP-Address.
+Bandwidth Shaping
+=================
+
+Bandwidth rate limits can be set for local users or RADIUS based attributes.
+
+Local user setup
+================
+
+The rate-limit is set in kbit/sec.
+
+.. code-block:: sh
+
+ set service pppoe-server access-concentrator 'ACN'
+ set service pppoe-server authentication local-users username foo password 'bar'
+ set service pppoe-server authentication local-users username foo rate-limit download '20480'
+ set service pppoe-server authentication local-users username foo rate-limit upload '10240'
+ set service pppoe-server authentication mode 'local'
+ set service pppoe-server client-ip-pool start '10.1.1.100'
+ set service pppoe-server client-ip-pool stop '10.1.1.111'
+ set service pppoe-server dns-servers server-1 '10.100.100.1'
+ set service pppoe-server dns-servers server-2 '10.100.200.1'
+ set service pppoe-server interface 'eth1'
+ set service pppoe-server local-ip '10.1.1.2'
+
+
+Once the user is connected, the user session is using the set limits and can be displayed via 'show pppoe-server sessions'.
+
+.. code-block:: sh
+
+ show pppoe-server sessions
+ ifname | username | ip | calling-sid | rate-limit | state | uptime | rx-bytes | tx-bytes
+ -------+----------+------------+-------------------+-------------+--------+----------+----------+----------
+ ppp0 | foo | 10.1.1.100 | 08:00:27:ba:db:15 | 20480/10240 | active | 00:00:11 | 214 B | 76 B
+
+
+RADIUS shaper setup
+===================
+
+The current attribute 'Filter-ID' is being used as default and can be setup within RADIUS:
+
+Filter-ID=2000/3000 (means 2000Kbit down-stream rate and 3000Kbit up-stream rate)
+
+The command below enables it, assuming the RADIUS connection has been setup and is working.
+
+.. code-block:: sh
+
+ set service pppoe-server authentication radius-settings rate-limit enable
+
+Other attributes can be used, but they have to be in one of the dictionaries in /usr/share/accel-ppp/radius.
.. _`accel-ppp`: https://accel-ppp.org/