Portál AbcLinuxu, 8. května 2025 07:03
Ahoj, mam pro lepsi vypocet 100Mbps download 50Mbps upload pripojeni k internetu (v realu o hodne min).
Internet od ISP je pripojeny k sitovce eth0.
Uzivatele jsou pripojeni v samostatnych 4 VLAN na sitovce eth1 - eth1.1, eth1.2, eth1.3 a eth1.4. VLANy jsou nastavene na porty switche.
Jedna se o OpenWrt WiFi router.
Potrebuju nastavit pro eth1.1 (bude v ni pouze jeden pc) maximalni prioritu.
A pokud zbyde tak:
pro eth1.2 co nejlepe zarucenych 50Mbps/25Mbps
pro eth1.3 co nejlepe zarucenych 20Mbps/10Mbps
a pro eth1.4 zbytek.
Pokud je volna kapacita, rad bych vsem dal moznost vyuzit maximalni rychlosti 100/50Mbps.
Priority v jednotlivych VLAN resit nepotrebuju (pro kazdou IP ve VLAN, nebo prioritu urcitych protokolu).
Uvazoval jsem o wondershaperu, ale vadi mi nemoznost nastavit strop. Pokud nastavim treba eth1.3 max pro DL 20Mbps, rad bych, pokud bude volno povolil 100Mbps.
Odchozi provoz neni problem nastavit. Jak ale prichozi? Je nutne imq? Nebo zahazovat tcp pakety? Nebo to neresit?
Mohlo by to realne fungovat, nebo na to jdu uplne spatne? :
tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1:0 htb default 13 tc class add dev eth0 parent 1:0 classid 1:1 htb rate 102400kbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 51200kbit ceil 102400kbit tc class add dev eth0 parent 1:1 classid 1:12 htb rate 20480kbit ceil 102400kbit tc class add dev eth0 parent 1:1 classid 1:13 htb rate 20480kbit ceil 102400kbit tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10 tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10 tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10 iptables -t mangle -A FORWARD -o eth0 -j MARK --set-mark 13 iptables -t mangle -A FORWARD -o eth0 -i eth1.1 -j MARK --set-mark 1 iptables -t mangle -A FORWARD -o eth0 -i eth1.2 -j MARK --set-mark 11 iptables -t mangle -A FORWARD -o eth0 -i eth1.3 -j MARK --set-mark 12 iptables -t mangle -A FORWARD -o eth0 -i eth1.4 -j MARK --set-mark 13 iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 1 iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN tc filter add dev eth0 protocol ip handle 1 fw flowid 1:1 tc filter add dev eth0 protocol ip handle 11 fw flowid 1:11 tc filter add dev eth0 protocol ip handle 12 fw flowid 1:12 tc filter add dev eth0 protocol ip handle 12 fw flowid 1:13
Jak se da technicky vyresit zahazovani TCP paketu?V LARTC o tom něco psali. A ty shapovací utility to dělají.
A jak se da vyresit UDP? Tam prece zahazovat nemuzu.Prostě ti přijde paket a ty ho zahodíš místo abys ho poslal dál.
eth1.4
, ma to jet max 20Mbps. Ja ale namerim 100Mbps, coz je rate pro 1:0 - tedy maximum.
Nevite nekdo, kde mam chybu?
Kdyz na eth1.4
dam wondershapper, funguje to bez problemu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.