Re: htb - 2 klienci dziela sie jednym laczem
Super dziekuje za wiadomosc ale nie chodzi mi o to. Ponizej podam przyklad
ktory zobrazuje o co mi chodzi:
$tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit
$tc class add dev eth0 parent 1:0 classid 1:200 htb rate 10kbit ceil 512kbit
$tc class add dev eth0 parent 1:1 classid 1:37 htb rate 8kbit ceil 128kbit
prio 2
$tc class add dev eth0 parent 1:1 classid 1:38 htb rate 8kbit ceil 128kbit
prio 2
$tc class add dev eth0 parent 1:200 classid 1:81 htb rate 8kbit ceil 512kbit
prio 2
$tc class add dev eth0 parent 1:200 classid 1:82 htb rate 8kbit ceil 512kbit
prio 2
$tc class add dev eth0 parent 1:200 classid 1:83 htb rate 8kbit ceil 512kbit
prio 2
tc filter add dev eth0 protocol ip preference 2 parent 1:0 u32 match ip dst
192.168.0.37 flowid 1:37
tc filter add dev eth0 protocol ip preference 2 parent 1:0 u32 match ip dst
192.168.0.38 flowid 1:38
tc filter add dev eth0 protocol ip preference 2 parent 1:0 u32 match ip dst
192.168.0.81 flowid 1:81
tc filter add dev eth0 protocol ip preference 2 parent 1:0 u32 match ip dst
192.168.0.82 flowid 1:82
tc filter add dev eth0 protocol ip preference 2 parent 1:0 u32 match ip dst
192.168.0.83 flowid 1:83
$tc qdisc add dev eth0 parent 1:37 handle 80:0 sfq perturb 10
$tc qdisc add dev eth0 parent 1:38 handle 81:0 sfq perturb 10
$tc qdisc add dev eth0 parent 1:81 handle 63:0 sfq perturb 10
$tc qdisc add dev eth0 parent 1:82 handle 64:0 sfq perturb 10
$tc qdisc add dev eth0 parent 1:83 handle 65:0 sfq perturb 10
Takie rozwiazanei nie dziala odpowiednio czy ma ktos pomysl an inne
rozwiazanie tego problemu ??
Pozdrawiam
Robert Niechciał
----- Original Message -----
From: "Grzegorz Krugły" <gk@karko.net>
To: <debian-user-polish@lists.debian.org>
Sent: Thursday, October 07, 2004 3:20 PM
Subject: Re: htb - 2 klienci dziela sie jednym laczem
Noodly napisał(a):
Witam mam pytanie odnosnie htb..
A wiec jak zrobic w htb tak aby kilka komputerow dzielolo sie jednym
pasmem powiedzmy komputery od 192.168.0.10-15 maja wspolne 256kilo a
reszta ma swoje ograniczenia ??
Prosze o pomoc
Pozdrawiam Robert Niechciał
Poniżej wklejam zawartość pliku masquerade, który wrzuciłem sobie do
/etc/network/if-up.d/, dzięki czemu odpala się zawsze wtedy, gdy podnoszę
interfejsy sieciowe.
Skrypt generalnie ustawia maskaradę (dzięki której wszyscy, którzy podepną
się do switcha mają dostęp do internetu), a następnie (linie zaczynające
się od tc) ustawiam HTB tak, że ja (172.16.0.2) mam gwarantowane 256kbps,
a pozostali (172.16.0.3-10) - 128kbps.
Pamiętaj, że ograniczać możesz ruch WYCHODZĄCY z serwera. U mnie jest to
mniej więcej tak:
INTERNET ----wlan0----- DEBIAN-BRAMA ----eth0---- SIEĆ DOMOWA
Dlatego ograniczam ruch z bramy do sieci domowej, tj. na eth0. To
automatycznie ogranicza userom dostęp do internetu (jak do bramy mają np.
max. 256kbps, to do internetu więcej nie wyciągną).
Linie z sfq perturb nie są obowiązkowe, ale dzięki nim jak ktoś odpali
eMule i wykorzysta całe należne mu pasmo, to nie zablokuje sobie np.
maili - pakiety zawsze zostaną "zmieszane", by przechodziły wszystkie.
Sieć mam ethernet100, więc ustawiłem ceil na 80-90Mb - żeby w razie czego
nie mieć sieci zapchanej po brzegi :)
To tyle - chaotycznych nieco - wyjaśnień.
Powiem tylko, że skrypcik napisałem na podstawie wielu różnych źródeł i
spełnia on swoje zadanie u mnie w chacie (3 kompy + brama + czasem kolega
z laptopem). Dodatkowo postawiłem serwer DHCP, dzięki czemu konfiguracja
klientów przebiega automatycznie :)
#!/bin/sh
echo -n "Konfiguruje udostepnianie internetu..."
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -t filter -P FORWARD DROP
iptables -t filter -A FORWARD -s 172.16.0.0/255.255.0.0 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -s 0/0 -d 172.16.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.0.2 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.3 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.4 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.5 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.6 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.7 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.8 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.9 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.10 -d 0/0 -j MASQUERADE
tc qdisc del root dev eth0
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 90000kbit ceil
90000kbit
tc class add dev eth0 parent 1:1 classid 1:2 htb rate 256kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:4 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:5 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:6 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:7 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:8 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:9 htb rate 128kbit ceil
80000kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 128kbit ceil
80000kbit
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.2
flowid 1:2
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.3
flowid 1:3
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.4
flowid 1:4
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.5
flowid 1:5
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.6
flowid 1:6
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.7
flowid 1:7
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.8
flowid 1:8
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.9
flowid 1:9
tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 172.16.0.10
flowid 1:10
tc qdisc add dev eth0 parent 1:2 handle 2:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:5 handle 5:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:6 handle 6:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:7 handle 7:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:8 handle 8:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:9 handle 9:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:10 handle 10:0 sfq perturb 10
echo "...skonczylem"
--
To UNSUBSCRIBE, email to debian-user-polish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
Reply to: