<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frotmail.nl/index.php?action=history&amp;feed=atom&amp;title=TrafficManagement</id>
	<title>TrafficManagement - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frotmail.nl/index.php?action=history&amp;feed=atom&amp;title=TrafficManagement"/>
	<link rel="alternate" type="text/html" href="https://wiki.frotmail.nl/index.php?title=TrafficManagement&amp;action=history"/>
	<updated>2026-08-06T02:51:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.frotmail.nl/index.php?title=TrafficManagement&amp;diff=103&amp;oldid=prev</id>
		<title>Eric: Created page with &quot;Handleiding thumb =Installatie &amp; Configuratie= ==Opzetten database== In de map staat een bestand &#039;db.sql&#039;. Maak in MySQL een nieuwe database en importeer de gegevens uit db.sql.  ==Config.inc.php== Vervolgens moeten we enkele instellingen maken in deze file, voorbeeld:  &lt;?php  $dbhost = &#039;localhost&#039;;  $dbuser = &#039;trafficuser&#039;;  $dbpass = &#039;trafficpass&#039;;  $dbname = &#039;traffic&#039;;    //connectie maken  $db = mysql_connect($dbhost, $dbuser...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.frotmail.nl/index.php?title=TrafficManagement&amp;diff=103&amp;oldid=prev"/>
		<updated>2022-04-05T09:44:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Handleiding &lt;a href=&quot;/index.php?title=Afbeelding:TrafficManagement_2.0b.png&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Afbeelding:TrafficManagement 2.0b.png (page does not exist)&quot;&gt;thumb&lt;/a&gt; =Installatie &amp;amp; Configuratie= ==Opzetten database== In de map staat een bestand &amp;#039;db.sql&amp;#039;. Maak in MySQL een nieuwe database en importeer de gegevens uit db.sql.  ==Config.inc.php== Vervolgens moeten we enkele instellingen maken in deze file, voorbeeld:  &amp;lt;?php  $dbhost = &amp;#039;localhost&amp;#039;;  $dbuser = &amp;#039;trafficuser&amp;#039;;  $dbpass = &amp;#039;trafficpass&amp;#039;;  $dbname = &amp;#039;traffic&amp;#039;;    //connectie maken  $db = mysql_connect($dbhost, $dbuser...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Handleiding&lt;br /&gt;
[[Afbeelding:TrafficManagement_2.0b.png|thumb]]&lt;br /&gt;
=Installatie &amp;amp; Configuratie=&lt;br /&gt;
==Opzetten database==&lt;br /&gt;
In de map staat een bestand &amp;#039;db.sql&amp;#039;. Maak in MySQL een nieuwe database en importeer de gegevens uit db.sql.&lt;br /&gt;
&lt;br /&gt;
==Config.inc.php==&lt;br /&gt;
Vervolgens moeten we enkele instellingen maken in deze file, voorbeeld:&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $dbhost = &amp;#039;localhost&amp;#039;;&lt;br /&gt;
 $dbuser = &amp;#039;trafficuser&amp;#039;;&lt;br /&gt;
 $dbpass = &amp;#039;trafficpass&amp;#039;;&lt;br /&gt;
 $dbname = &amp;#039;traffic&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 //connectie maken&lt;br /&gt;
 $db = mysql_connect($dbhost, $dbuser, $dbpass);&lt;br /&gt;
 mysql_select_db($dbname);&lt;br /&gt;
 &lt;br /&gt;
 //ssh connectie params&lt;br /&gt;
 $ssh[&amp;#039;host&amp;#039;] = &amp;#039;localhost&amp;#039;;&lt;br /&gt;
 $ssh[&amp;#039;port&amp;#039;] = &amp;#039;22&amp;#039;;&lt;br /&gt;
 $ssh[&amp;#039;key&amp;#039;] = &amp;#039;/var/www/sshkey.key&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 //Interne netwerkkaart&lt;br /&gt;
 $internal_nic = &amp;quot;eth1&amp;quot;;&lt;br /&gt;
 $external_nic = &amp;quot;eth0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 //Afmetingen grafische objecten&lt;br /&gt;
 $node_height = 50;&lt;br /&gt;
 $node_width = 200;&lt;br /&gt;
 $node_hspacing = 30;&lt;br /&gt;
 &lt;br /&gt;
 $diagram_height = 400;&lt;br /&gt;
 $diagram_width = 700;&lt;br /&gt;
 $diagram_offset = 100;&lt;br /&gt;
 &lt;br /&gt;
 $debug = 0;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Het meeste spreekt voor zich en hier besteed ik dus zo min mogelijk aandacht aan.&lt;br /&gt;
&lt;br /&gt;
Nadat deze file is aangemaakt zou de web-interface zichtbaar moeten zijn op het adres waarop deze is geÃ¯nstalleerd.&lt;br /&gt;
&lt;br /&gt;
==Configure Uplinks==&lt;br /&gt;
Voor we iets kunnen toevoegen moeten we de uplinks configureren. We moeten tenminste 1 LAN adapter en 1 WAN adapter toevoegen. &lt;br /&gt;
Bijvoorbeeld:&lt;br /&gt;
 Interface:         eth0&lt;br /&gt;
 Download Speed:    100000000&lt;br /&gt;
 Upload Speed:      100000000&lt;br /&gt;
 Type:              LAN&lt;br /&gt;
Voor de LAN adapter zijn alleen deze 4 velden &amp;#039;&amp;#039;&amp;#039;verplicht&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
De overige velden worden alleen gebruikt voor de WAN adapter:&lt;br /&gt;
&lt;br /&gt;
Bijvoorbeeld:&lt;br /&gt;
 Interface:         eth1&lt;br /&gt;
 Ip:                212.212.212.212&lt;br /&gt;
 Netmask:           255.255.255.0&lt;br /&gt;
 Network:           212.212.212.0/24&lt;br /&gt;
 Download Speed:    1000000&lt;br /&gt;
 Upload Speed:      1000000&lt;br /&gt;
 Gateway:           212.212.212.1&lt;br /&gt;
 Type:              WAN&lt;br /&gt;
&lt;br /&gt;
==Configure Firewall==&lt;br /&gt;
Hieruit wordt een iptables script gegenereerd welke de markings voor zijn rekening zal nemen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Let op!&amp;#039;&amp;#039;&amp;#039;: Ieder pakketje kan slechts 1 marking mee krijgen, de markings worden uitgedeeld op volgorde van marking nummer. Deze volgorde is ook terug te zien in de lijst.&lt;br /&gt;
&lt;br /&gt;
Wanneer je dus HTTP voor iedereen wilt beperken op 0,5 mbit behalve voor de admin, zal je &amp;quot;admin&amp;quot; en kleiner marking nummer moeten geven als &amp;quot;HTTP&amp;quot;&lt;br /&gt;
Voorbeeld:&lt;br /&gt;
 Naam      Omschrijving              Mark&lt;br /&gt;
 Admin     ip adres van admin pc       1&lt;br /&gt;
 HTTP      Alle HTTP verkeer          50&lt;br /&gt;
 Misc      Alle overige pakketjes    170&lt;br /&gt;
In deze setup zal de pc van Admin alleen door de marking 1 worden verwerkt&lt;br /&gt;
&lt;br /&gt;
Voorbeeld invulling:&lt;br /&gt;
 Name     Protocol   Source   Destination   SrcPort DstPort  Mark&lt;br /&gt;
 AdminUp  tcp        10.0.0.5                                 1&lt;br /&gt;
 AdminDwn tcp                 10.0.0.5                        1&lt;br /&gt;
 HTTP     tcp                                       80       10&lt;br /&gt;
 SMTP     tcp                                       25       20&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Let op!&amp;#039;&amp;#039;&amp;#039;: Wanneer je een firewall regel maakt (en dus aan een mark koppelt) die je niet invoert als service zal deze &amp;#039;&amp;#039;&amp;#039;niet&amp;#039;&amp;#039;&amp;#039; worden ge-shaped (behalve door de &amp;#039;root&amp;#039;node welke de totale snelheid van een interface bepaald. &amp;#039;&amp;#039;&amp;#039;EDIT Eric:&amp;#039;&amp;#039;&amp;#039; Ow ja? volgens mij helemaal niet geshaped! hij valt niet in MISC en ook niet in en andere filter dus onbeperkte snelheid! )&lt;br /&gt;
&lt;br /&gt;
==Creating Providers==&lt;br /&gt;
Klik op een leeg stuk in het diagram en rechts verschijnt een formulier.&lt;br /&gt;
In dit formulier vullen we in: &lt;br /&gt;
 Name:   [Naam van ISP]&lt;br /&gt;
 Type:   Provider&lt;br /&gt;
 Parent: Root (root)&lt;br /&gt;
&lt;br /&gt;
En vervolgens kiezen we &amp;#039;Add&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We krijgen nu een volgend formulier met daarin de velden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IPRoute tabel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Iedere provider (en gecombineerde) moet een uniek nummer hebben in deze tabel, ik begin meestal bij 150, 151, 152... enz.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default Provider&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Wanneer we een gecombineerde uplink/provider hebben MOET deze ook default zijn. Verder geeft dit aan over welke provider het verkeer zal gaan wat niet wordt behandeld in de traffic shaper&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uplink&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier selecteren we de WAN adapter welke we net hebben aangemaakt. Indien het een gecombineerde uplink is kunnen we hier meerdere Uplinks aangeven&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Weight&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hierin wordt de verdeling aangegeven van het verkeer (indien er meerdere WAN adapters worden gebruikt) Dit getal dient tenminste 1 te zijn. Het is zo bijvoorbeeld mogelijk om het verkeer in de verhouding 2:1 te verdelen over 2 uplinks.&lt;br /&gt;
&lt;br /&gt;
Er wordt in de TC scripts nog geen rekening gehouden met het weight, de router zal de pakketjes wel in deze verhouding verdelen over de providers maar bij het traffic shapen wordt er gewoon 50:50 getelt.&lt;br /&gt;
&lt;br /&gt;
Tenslotte klikken we dan op &amp;#039;Commit&amp;#039; en onze provider zal zichtbaar worden.&lt;br /&gt;
&lt;br /&gt;
==Creating Services==&lt;br /&gt;
De laatste stap is het toevoegen van Services. Deze services worden aan een marking gekoppeld en daarbij wordt het upload/download limiet ingesteld.&lt;br /&gt;
&lt;br /&gt;
We klikken weer op een leeg stuk in het diagram en kiezen bij Type voor Service. De Parent moet een geldige provider zijn, de naam mag je zelf verzinnen.&lt;br /&gt;
&lt;br /&gt;
Per service kan een Rate en een Max worden ingesteld. Het idee is dat de Max een limiet aangeeft, en de Rate een gegarandeerd minimum.&lt;br /&gt;
Ook is het mogelijk om een Prioriteit mee te geven. Overige bandbreedte wordt dan in volgorde van prioriteit verdeeld over de overige Services. Prioriteit 0 is de hoogste. Echter zal het Max nooit worden overschreden.&lt;br /&gt;
&lt;br /&gt;
Voorbeeld:&lt;br /&gt;
 WAN capaciteit 20 kb/s&lt;br /&gt;
 Naam      Rate       Max      Verbruik&lt;br /&gt;
 HTTP    10kb/s    15kb/s         5kb/s&lt;br /&gt;
 FTP     10kb/s    15kb/s            ??&lt;br /&gt;
In dit voorbeeld zal er voor FTP 15kb/sec beschikbaar zijn&lt;br /&gt;
&lt;br /&gt;
Voorbeeld:&lt;br /&gt;
 WAN capaciteit 20 kb/s&lt;br /&gt;
 Naam      Rate       Max      Verbruik&lt;br /&gt;
 HTTP    10kb/s    15kb/s         1kb/s&lt;br /&gt;
 FTP     10kb/s    15kb/s            ??&lt;br /&gt;
In dit voorbeeld zal er voor FTP toch maar 15kb/sec beschikbaar zijn, dit is omdat &amp;#039;Max&amp;#039; nooit zal worden overschreden.&lt;br /&gt;
&lt;br /&gt;
Voorbeeld:&lt;br /&gt;
 WAN capaciteit 20 kb/s&lt;br /&gt;
 Naam      Rate       Max      Verbruik     Prio&lt;br /&gt;
 HTTP     5kb/s    15kb/s         5kb/s        0&lt;br /&gt;
 FTP      5kb/s    15kb/s            ??        1&lt;br /&gt;
 SMTP     5kb/s    15kb/s            ??        2&lt;br /&gt;
In dit voorbeeld zal het overige verkeer eerst aan FTP worden toegekend, en pas daarna aan SMTP. Uiteraard wordt er wel altijd minimaal voldaan aan de &amp;#039;Rate&amp;#039; instelling. Dus FTP kan nooit ervoor zorgen dat SMTP minder dan 5 krijgt (tenzij SMTP minder nodig heeft).&lt;br /&gt;
&lt;br /&gt;
==Commit==&lt;br /&gt;
Wanneer we tenslotte op commit drukken zal de config worden uitgevoerd op de server. De scripts die hierbij zijn gegenereerd kunnen worden ingezien.&lt;br /&gt;
&lt;br /&gt;
Bij een commit:&lt;br /&gt;
* Worden er eerst een aantal zaken opgeruimd&lt;br /&gt;
** Oude TC regels&lt;br /&gt;
** IP Rule zaken&lt;br /&gt;
** IProute tabellen&lt;br /&gt;
** iptables regels (dit gebeurt nu nog een eindje verderop)&lt;br /&gt;
&lt;br /&gt;
* Wordt vervolgens IPRoute ingesteld, het verdelen van de services over de beschikbare uplinks&lt;br /&gt;
&lt;br /&gt;
* Wordt vervolgens tc, de traffic shaper, ingesteld&lt;br /&gt;
&lt;br /&gt;
* En tenslotte wordt iptables ingesteld, om de juiste services de juiste markings mee te geven (Deze markings worden door tc en iproute gebruikt om het verkeer te routeren en te shapen)&lt;br /&gt;
&lt;br /&gt;
=Beheren=&lt;br /&gt;
Wanneer de 1e setup is gedaan zal het ding nog beheerd moeten worden&lt;br /&gt;
==Tips==&lt;br /&gt;
Zorg ervoor dat de Rate van de services samen niet hoger komt als de Rate van je uplink (je kan niet meer garanderen dan je hebt!). * Wanneer je dit in orde hebt zal het &amp;quot;lenen&amp;quot; van bandbreedte onderling ook netjes volgens de prioriteiten worden afgehandeld.&lt;br /&gt;
&lt;br /&gt;
* Zorg ervoor dat je je instellingen kan controleren, cacti is een prima tool om dit in de gaten te houden.&lt;br /&gt;
&lt;br /&gt;
==Cacti statistieken==&lt;br /&gt;
Bij het pakket zitten ook templates en php files om de statistieken van tc in cacti weer te geven. Uitleg hierover volgt!&lt;br /&gt;
&lt;br /&gt;
==Shape onnauwkeurigheid==&lt;br /&gt;
Oude situatie&lt;br /&gt;
&lt;br /&gt;
        Totaal 2x 1 mbit download&lt;br /&gt;
 &lt;br /&gt;
                    &lt;br /&gt;
                [interne nic]&lt;br /&gt;
                      |&lt;br /&gt;
                      |&lt;br /&gt;
            [root node Max 2mbit]&lt;br /&gt;
                 /    |    \   \&lt;br /&gt;
                /     |     \   -----------\&lt;br /&gt;
               /      |      \              \&lt;br /&gt;
              /       |       \              \&lt;br /&gt;
             /        |        \              \&lt;br /&gt;
 [HTTP        ]  [SSH        ] [MAIL        ] [MISC       ]&lt;br /&gt;
  Min:  512kbit   Min: 128kbit  Min:  256kbit  Min: 128kbit&lt;br /&gt;
  Max: 1024kbit   Max: 256kbit  Max: 1024kbit  Max: 512kbit&lt;br /&gt;
 &lt;br /&gt;
Nieuwe Situatie&lt;br /&gt;
&lt;br /&gt;
               [interne nic]&lt;br /&gt;
                     |&lt;br /&gt;
                     |&lt;br /&gt;
           [root node Max 2mbit]&lt;br /&gt;
                 |        \   &lt;br /&gt;
                 |         \   &lt;br /&gt;
       [Provider A+B]  [ Provider A ]   &lt;br /&gt;
       [ Max 2 mbit ]  [ Max 1 mbit ]    &lt;br /&gt;
          /     \             \    \-----------   &lt;br /&gt;
         /       \             \               \&lt;br /&gt;
        /         \             \               \&lt;br /&gt;
 [HTTP        ]  [SSH        ] [MAIL         ]  [MISC        ]  &lt;br /&gt;
  Min:  512kbit   Min: 128kbit  Min:  256kbit    Min: 128kbit&lt;br /&gt;
  Max: 1024kbit   Max: 256kbit  Max: 1024kbit    Max: 512kbit&lt;br /&gt;
&lt;br /&gt;
===Uitleg===&lt;br /&gt;
Wanneer je in de oude situatie MISC met 512kbit belast en MAIL met 1024kbit wordt er van Provider A 1,25 mbit verlangt. Dit gaat mis&lt;br /&gt;
&lt;br /&gt;
In de nieuwe situatie wordt een niveau hoger dan het limiet gelegd bij 1 mbit. Zo komen de rate&amp;#039;s en prioriteiten beter tot hun recht. Hier werd in de oude situatie niets mee gedaan&lt;br /&gt;
&lt;br /&gt;
Wanneer we echter HTTP en MAIL vol gaan belasten blijft het probleem bestaan omdat Provider A en Provider A+B een uplink delen. Hier is momenteel niet echt veel aan te doen.&lt;/div&gt;</summary>
		<author><name>Eric</name></author>
	</entry>
</feed>