/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Problemer med tc
Fra : Stig Meyer Jensen


Dato : 24-05-03 15:11

Jeg har lavet noget traffic shaping med htb og de ser ud til at virke fint med min webserver:

#!/bin/bash
cd /usr/bin
echo cleaner...
tc qdisc del dev eth0 root 2> /dev/null > /dev/null
tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
echo opretter klasser...
tc qdisc add dev eth0 root handle 1: htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbps ceil 10kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6kbps prio 0 ceil 6kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4kbps prio 1 ceil 4kbps

bemærk at jeg har sat rate og ceil ned, så det er nemt for mig at teste.

Problemer er bare at maskinen (der kører Redhat 9) også fungerer som router / firewall og de klienter der forbinder gennem den bliver IKKE begrænset af ovenstående - dvs de kan bruge hele liniens båndbredde selv om jeg gerne vil kunne begrænse det.

Netværket ser således ud:
CC-Router 192.168.1.3 (gateway til internet)
RedHat server 192.168.1.4
Klienter 192.168.1.x
.... alle sammen forbundet til den samme switch.

Er der nogen der kan fortælle mig hvor det går galt?

--

Stig Meyer Jensen
stig@mine_3_initaler



 
 
Steen Suder, privat (25-05-2003)
Kommentar
Fra : Steen Suder, privat


Dato : 25-05-03 12:34

Stig Meyer Jensen wrote:
> Jeg har lavet noget traffic shaping med htb og de ser ud til at virke fint med min webserver:
>
> #!/bin/bash
> cd /usr/bin
> echo cleaner...
> tc qdisc del dev eth0 root 2> /dev/null > /dev/null
> tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
> echo opretter klasser...
> tc qdisc add dev eth0 root handle 1: htb default 11
> tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbps ceil 10kbps
> tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6kbps prio 0 ceil 6kbps
> tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4kbps prio 1 ceil 4kbps
>
> bemærk at jeg har sat rate og ceil ned, så det er nemt for mig at teste.
>
> Problemer er bare at maskinen (der kører Redhat 9) også fungerer som router / firewall og de klienter der forbinder gennem den bliver IKKE begrænset af ovenstående - dvs de kan bruge hele liniens båndbredde selv om jeg gerne vil kunne begrænse det.
>
> Netværket ser således ud:
> CC-Router 192.168.1.3 (gateway til internet)
> RedHat server 192.168.1.4
> Klienter 192.168.1.x
> ... alle sammen forbundet til den samme switch.
>
> Er der nogen der kan fortælle mig hvor det går galt?

Hvad er eth0 på Linuxen?
NAT'er Linuxen?

Jeg tør næsten ikke spørge, men hvad bruger klienterne som deres default
gateway? Bruger de rent faktisk .4?

Er HTB med i den aktuelle kerne? Er HTB loadet (hvis modul)?

--
Mvh. / Best regards,
Steen Suder      <http://www.suder.dk/>
ICQ UIN         4133803


Stig Meyer Jensen (25-05-2003)
Kommentar
Fra : Stig Meyer Jensen


Dato : 25-05-03 13:24


"Steen Suder, privat" <sfs_news@suder.dk> wrote in message news:3ed0aa3b$0$248$bc7fd3c@news.sonofon.dk...
> Stig Meyer Jensen wrote:
> > Jeg har lavet noget traffic shaping med htb og de ser ud til at virke fint med min webserver:
> >
> > #!/bin/bash
> > cd /usr/bin
> > echo cleaner...
> > tc qdisc del dev eth0 root 2> /dev/null > /dev/null
> > tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
> > echo opretter klasser...
> > tc qdisc add dev eth0 root handle 1: htb default 11
> > tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbps ceil 10kbps
> > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6kbps prio 0 ceil 6kbps
> > tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4kbps prio 1 ceil 4kbps
> >
> > bemærk at jeg har sat rate og ceil ned, så det er nemt for mig at teste.
> >
> > Problemer er bare at maskinen (der kører Redhat 9) også fungerer som router / firewall og de klienter der forbinder gennem den bliver IKKE begrænset af ovenstående - dvs de kan bruge hele liniens båndbredde selv om jeg gerne vil kunne begrænse det.
> >
> > Netværket ser således ud:
> > CC-Router 192.168.1.3 (gateway til internet)
> > RedHat server 192.168.1.4
> > Klienter 192.168.1.x
> > ... alle sammen forbundet til den samme switch.
> >
> > Er der nogen der kan fortælle mig hvor det går galt?
>
> Hvad er eth0 på Linuxen?
> NAT'er Linuxen?

eth0 på linuxen er det eneste netkort der pt er i - jeg prøvede med flere men besluttede mig for at det kunne gøres med et (?). eth0 har adressen 192.168.1.4 og default gateway 192.168.1.3 (CC routeren).
Umiddelbart har jeg ikke nogen statiske nat entries idet der ikke er nogen serveren efter denne "router" men den laver jo snat på alle pakker, så de får liniens WAN adresse...

> Jeg tør næsten ikke spørge, men hvad bruger klienterne som deres default
> gateway? Bruger de rent faktisk .4?

De får ip fra min dhcpd og dens conf ser således ud:

option routers 192.168.1.4;
option domain-name "xxxx";
option subnet-mask 255.255.255.0;
subnet 192.168.1.0 netmask 255.255.255.0 {
option domain-name-servers 212.242.40.3;
option routers 192.168.1.4;
default-lease-time 12355200;
range 192.168.1.12 192.168.1.5;
}
ddns-update-style ad-hoc;

> Er HTB med i den aktuelle kerne? Er HTB loadet (hvis modul)?

Det mener jeg - ellers kunne jeg vel ikke forestille mig at det virker delvist.

rpm -qa kernel giver mig:
kernel-2.4.18-14

.... og der mener jeg absolut htb er med ;)

--

Stig Meyer Jensen
stig@mine_3_initialer.dk



Steen Suder, privat (25-05-2003)
Kommentar
Fra : Steen Suder, privat


Dato : 25-05-03 14:20

Stig Meyer Jensen wrote:
> "Steen Suder, privat" <sfs_news@suder.dk> wrote in message news:3ed0aa3b$0$248$bc7fd3c@news.sonofon.dk...
>
>>Stig Meyer Jensen wrote:
>>
>>>Jeg har lavet noget traffic shaping med htb og de ser ud til at virke fint med min webserver:
>>>
>>>#!/bin/bash
>>>cd /usr/bin
>>>echo cleaner...
>>>tc qdisc del dev eth0 root 2> /dev/null > /dev/null
>>>tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
>>>echo opretter klasser...
>>>tc qdisc add dev eth0 root handle 1: htb default 11
>>>tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbps ceil 10kbps
>>>tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6kbps prio 0 ceil 6kbps
>>>tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4kbps prio 1 ceil 4kbps
>>>
>>>bemærk at jeg har sat rate og ceil ned, så det er nemt for mig at teste.
>>>
>>>Problemer er bare at maskinen (der kører Redhat 9) også fungerer som router / firewall og de klienter der forbinder gennem den bliver IKKE begrænset af ovenstående - dvs de kan bruge hele liniens båndbredde selv om jeg gerne vil kunne begrænse det.
>>>
>>>Netværket ser således ud:
>>>CC-Router 192.168.1.3 (gateway til internet)
>>>RedHat server 192.168.1.4
>>>Klienter 192.168.1.x
>>>... alle sammen forbundet til den samme switch.
>>>
>>>Er der nogen der kan fortælle mig hvor det går galt?
>>
>>Hvad er eth0 på Linuxen?
>>NAT'er Linuxen?
>
>
> eth0 på linuxen er det eneste netkort der pt er i - jeg prøvede med flere men besluttede mig for at det kunne gøres med et (?). eth0 har adressen 192.168.1.4 og default gateway 192.168.1.3 (CC routeren).
> Umiddelbart har jeg ikke nogen statiske nat entries idet der ikke er nogen serveren efter denne "router" men den laver jo snat på alle pakker, så de får liniens WAN adresse...

Jeg er ikke helt sikker på at jeg forstår...

Hvis ikke din Linux NAT'er, vil CC-routeren sende downstream pakker
direkte til klienterne på dit LAN da det vil være den adresse den ser
den korresponderende upstream trafik komme fra... eller hvad?

Og hvad er i det hele taget ideen med at have en firewall når LAN og WAN
ikke sidder på hver sin side af den? Der tager jeg forbehold for evt.
VLAN, tunneling og Hvad Ved Jeg (tm).

Bruger du måske proxyarp?

>>Jeg tør næsten ikke spørge, men hvad bruger klienterne som deres default
>>gateway? Bruger de rent faktisk .4?
>
>
> De får ip fra min dhcpd og dens conf ser således ud:
>
> option routers 192.168.1.4;
> option domain-name "xxxx";
> option subnet-mask 255.255.255.0;
> subnet 192.168.1.0 netmask 255.255.255.0 {
> option domain-name-servers 212.242.40.3;
> option routers 192.168.1.4;
> default-lease-time 12355200;
> range 192.168.1.12 192.168.1.5;
> }
> ddns-update-style ad-hoc;

OK.

Har du overvejet hvad det er en router gør og hvad din Linux gør i dette
setup?

Kunne man tænke at en router normalt /router/ imellem to /forskellige/ net?

Du kunne lige så godt ændre

> option routers 192.168.1.4;

til

option routers 192.168.1.3;

Igen undskylder jeg hvis jeg har misforstået dit setup.


>>Er HTB med i den aktuelle kerne? Er HTB loadet (hvis modul)?
>
>
> Det mener jeg - ellers kunne jeg vel ikke forestille mig at det virker delvist.
>
> rpm -qa kernel giver mig:
> kernel-2.4.18-14
>
> ... og der mener jeg absolut htb er med ;)

Så skal det være RedHat-specifikt for HTB er først med i Vanilla fra
2.4.20 IIRC.

Har du selv lagt HTB på?

Hvad siger 'lsmod | grep sch_'?

--
Mvh. / Best regards,
Steen Suder      <http://www.suder.dk/>
ICQ UIN         4133803


Stig Meyer Jensen (25-05-2003)
Kommentar
Fra : Stig Meyer Jensen


Dato : 25-05-03 14:29


"Steen Suder, privat" <sfs_news@suder.dk> wrote in message news:3ed0c2e8$0$248$bc7fd3c@news.sonofon.dk...
[snip]

> >
> > eth0 på linuxen er det eneste netkort der pt er i - jeg prøvede med flere men besluttede mig for at det kunne gøres med et (?). eth0 har adressen 192.168.1.4 og default gateway 192.168.1.3 (CC routeren).
> > Umiddelbart har jeg ikke nogen statiske nat entries idet der ikke er nogen serveren efter denne "router" men den laver jo snat på alle pakker, så de får liniens WAN adresse...
>
> Jeg er ikke helt sikker på at jeg forstår...
>
> Hvis ikke din Linux NAT'er, vil CC-routeren sende downstream pakker
> direkte til klienterne på dit LAN da det vil være den adresse den ser
> den korresponderende upstream trafik komme fra... eller hvad?
>
> Og hvad er i det hele taget ideen med at have en firewall når LAN og WAN
> ikke sidder på hver sin side af den? Der tager jeg forbehold for evt.
> VLAN, tunneling og Hvad Ved Jeg (tm).

Når du nu nævner det, kan jeg godt se at der er noget helt galt med setup'et her. Det der sikkert sker er at klienterne går til linux maskinen med udgående pakker og cc routeren vender direkte tilbage til klienten med downstream pakkerne. Derfor ingen shaping. Jeg tror jeg vil forsøge mig med at give klienterne et andet subnet ;)

> Har du overvejet hvad det er en router gør og hvad din Linux gør i dette
> setup?

Det har jeg så nu.

> Kunne man tænke at en router normalt /router/ imellem to /forskellige/ net?

Jep - og jeg kan godt se problematikken.

> Du kunne lige så godt ændre
>
> > option routers 192.168.1.4;
>
> til
>
> option routers 192.168.1.3;
>
> Igen undskylder jeg hvis jeg har misforstået dit setup.

Det har du ikke... det er bare bygget i flere etaper (klienterne var originalt undladt) og et sted i processen har jeg ikke tænkt mig om.

> >>Er HTB med i den aktuelle kerne? Er HTB loadet (hvis modul)?
> > Det mener jeg - ellers kunne jeg vel ikke forestille mig at det virker delvist.
> >
> > rpm -qa kernel giver mig:
> > kernel-2.4.18-14
> >
> > ... og der mener jeg absolut htb er med ;)
>
> Så skal det være RedHat-specifikt for HTB er først med i Vanilla fra
> 2.4.20 IIRC.
>
> Har du selv lagt HTB på?

Det tror jeg faktisk jeg har.

> Hvad siger 'lsmod | grep sch_'?

Den har 3 linier (ingress, sfq og htb) hvor den sidste er:
sch_htb 22048 1 (autoclean)

Det tolker jeg som at det virker.

Tak for hjælpen indtil videre. Jeg roder lidt med mine subnet og vender måske tilbage :)

--

Stig Meyer Jensen
stig@mine_3_initialer.dk


Steen Suder, privat (25-05-2003)
Kommentar
Fra : Steen Suder, privat


Dato : 25-05-03 14:23

Stig Meyer Jensen wrote:
> "Steen Suder, privat" <sfs_news@suder.dk> wrote in message news:3ed0aa3b$0$248$bc7fd3c@news.sonofon.dk...

<KLIP>

>>Er HTB med i den aktuelle kerne? Er HTB loadet (hvis modul)?
>
>
> Det mener jeg - ellers kunne jeg vel ikke forestille mig at det virker delvist.
>
> rpm -qa kernel giver mig:
> kernel-2.4.18-14

Du har ret:
<http://rpmfind.net/linux/RPM/redhat/8.0/i386/lib_modules_2.4.18-14_kernel_net_sched_Tree.html>

--
Mvh. / Best regards,
Steen Suder      <http://www.suder.dk/>
ICQ UIN         4133803


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste