moja sytuacja: INET -------- (eth0) SERV (eth1) --------- LAN
w lanie sa 2 kompy (192.168.2.10 i 192.168.2.9).
moj skrypt htb (porazajaca wielkosc:P) wyglada tak:
Kod: Zaznacz cały
#!/bin/bash
# HTB script
lan_max="10mbit"
lan_user="5mbit"
inet_max="256kbit"
inet_user="128kbit"
tc qdisc del root dev eth1
tc qdisc add dev eth1 root handle 1:0 htb
# glowna kolejka na interface
tc class add dev eth1 parent 1:0 classid 1:1 htb rate $lan_max ceil $lan_max
# kolejka na polaczenia do internetu
tc class add dev eth1 parent 1:1 classid 1:2 htb rate $inet_max ceil $inet_max
# kolejka na polaczenia do serwera (lan)
tc class add dev eth1 parent 1:1 classid 1:3 htb rate $lan_max ceil $lan_max
# ustawienia dla usera laczacego sie z inetem
tc class add dev eth1 parent 1:2 classid 1:4 htb rate $inet_user ceil $inet_max burst 10k
tc class add dev eth1 parent 1:2 classid 1:5 htb rate $inet_user ceil $inet_max burst 10k
# ustawienia dla usera laczacego sie z serwerem (lan)
tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 match ip src 192.168.2.1 flowid 1:3
# ustawienia dla userow laczacych sie z inetem
tc filter add dev eth1 protocol ip prio 1 parent 1:0 u32 match ip dst 192.168.2.10 flowid 1:4
tc filter add dev eth1 protocol ip prio 1 parent 1:0 u32 match ip dst 192.168.2.9 flowid 1:5
# sfq
tc qdisc add dev eth1 parent 1:4 handle 2:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:5 handle 4:0 sfq perturb 10
echo "HTB on eth1 started..."
2. mam tutaj to prio 1 i 2. chcialem zeby najpierw byly obslugiwane polaczenia wychodzace do internetu a potem polaczenia przeznaczone do ftp, www czy ssh (uslugi postawione na serwerze). czy zrobilem to poprawnie.
chcialem zaznaczyc ze bardziej bawie sie htb niz robie to profesjonalnie. wszelkie dopowiedzenia i wyjasnienia bardzo mile widziane:)
Pozdrawiam