Hirdetés
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- GoodSpeed: Én és a Battlefield 6
- Brogyi: CTEK akkumulátor töltő és másolatai
-
LOGOUT
Új hozzászólás Aktív témák
-
Tamy
őstag
Sziasztok!
Még mindig keresem a megoldást erre:
TP-Link TL-WR1043ND routeremre felraktam az OpenWrt Backfire 10.03.1-RC6 fw.-t, ehhez keresek olyan alkalmazást amivel egyedi sebességlimitet tudnék beállítani az egyes gépekre. Ahogy olvasgattam a témában sokan keresik, de megoldást nem nagyon tud rá senki OpenWRT alatt. A [url=https://forum.openwrt.org/viewtopic.php?id=23285]hivatalos fórumán[/url] találtam rá egy scriptet, de nálam kilövi magát amint elindítom. Gondoltam bemásolom, hátha valaki rájön hol a hiba benne:
#!/bin/sh
insmod cls_fw >/dev/null 2>&1
insmod cls_u32 >/dev/null 2>&1
insmod sch_htb >/dev/null 2>&1
insmod sch_sfq >/dev/null 2>&1
insmod sch_ingress >/dev/null 2>&1
DEV="br-lan"
LIMIT_IPS="192.168.1.10 192.168.1.11 192.168.1.12"
LIMIT_DOWN=200
LIMIT_DOWN_BURST=400
LIMIT_UP=400
start() {
tc qdisc del dev "$DEV" root handle 77:
tc qdisc add dev "$DEV" root handle 77: htb
tc class add dev "$DEV" parent 77: classid 77:1 htb rate 20000kbit
tc class add dev "$DEV" parent 77:1 classid 77:10 htb rate ${LIMIT_DOWN}kbit ceil ${LIMIT_DOWN_BURST}kbit prio 2
tc qdisc add dev "$DEV" parent 77:10 handle 78: sfq perturb 10
tc qdisc add dev "$DEV" ingress
tc filter add dev "$DEV" parent 77: protocol ip prio 2 handle 80 fw flowid 77:10
tc filter add dev "$DEV" parent ffff: protocol ip prio 1 handle 79 fw police rate ${LIMIT_UP}kbit mtu 6k burst 6k drop
for ip in $LIMIT_IPS; do
iptables -t mangle -I PREROUTING -s $ip -j MARK --set-mark 79
iptables -t mangle -I POSTROUTING -d $ip -j MARK --set-mark 80
done
}
stop() {
tc qdisc del dev $DEV root
iptables -F -t mangle
}
restart() {
stop
sleep 1
start
}
show() {
tc -s qdisc ls dev $DEV
}
case "$1" in
start)
echo -n "Starting bandwidth shaping: "
start
echo "done"
;;
stop)
echo -n "Stopping bandwidth shaping: "
stop
echo "done"
;;
restart)
echo -n "Restarting bandwidth shaping: "
restart
echo "done"
;;
show)
echo "Bandwidth shaping status for $DEV:"
show
echo ""
;;
*)
echo "Usage: $0 {start|stop|restart|show}"
;;
esac
exit 0Természetesen a példában szereplő IP címeket lecseréltem a sajátomra, mivel nem működött, javasolták, hogy próbáljam meg a br-lan helyére beírni az eth0.1-t, mondván hátha a bridge interfész miatt nem megy. Ezeken kívül mást nem módosítottam rajta. Ezzel kapcsolatban az sem teljesen világos, hogy a LAN vagy a WAN portot kéne ide beírnom, a példa alapján a LAN-t, ami logikus, hisz a belső ip-m azon található, de így viszont én úgy gondolom, hogy a helyi hálón is korlátozna, amit nem szeretnék. Persze lehet, hogy tévedek, de egyenlőre még amúgy sem ez a fő gondom. A hivatalos fórumon is jelezték, hogy nem megy, megoldásnak azt írták, hogy ki kell egészíteni az "insmod act_police" sorral, viszont nálam így sem megy. Ha elindítom ezt dobja válaszul:
root@OpenWrt:~# /etc/init.d/limit restart
insmod: can't insert 'act_police': File exists
Restarting bandwidth shaping: RTNETLINK answers: Invalid argument
RTNETLINK answers: File exists
RTNETLINK answers: File exists
We have an error talking to the kernel
doneAnnyi segítséget kaptam eddig, hogy hibakereséshez az első sorban a #! /bin/sh sort ki kell cserélni #! /bin/bash-ra, majd következő sorba beírni: set -x. Ezután ezt kaptam eredményül:
root@OpenWrt:~# /etc/init.d/limit restart
+ insmod cls_fw
+ insmod cls_u32
+ insmod sch_htb
+ insmod sch_sfq
+ insmod sch_ingress
+ insmod act_police
insmod: can't insert 'act_police': File exists
+ DEV=eth0.1
+ LIMIT_IPS=192.168.2.100
+ LIMIT_DOWN=200
+ LIMIT_DOWN_BURST=400
+ LIMIT_UP=400
+ case "$1" in
+ echo -n 'Restarting bandwidth shaping: '
Restarting bandwidth shaping: + restart
+ stop
+ tc qdisc del dev eth1 root
+ iptables -F -t mangle
+ sleep 1
+ start
+ tc qdisc del dev eth1 root handle 77:
RTNETLINK answers: Invalid argument
+ tc qdisc add dev eth1 root handle 77: htb
+ tc class add dev eth1 parent 77: classid 77:1 htb rate 20000kbit
+ tc class add dev eth1 parent 77:1 classid 77:10 htb rate 200kbit ceil 400kbit prio 2
+ tc qdisc add dev eth1 parent 77:10 handle 78: sfq perturb 10
+ tc qdisc add dev eth1 ingress
RTNETLINK answers: File exists
+ tc filter add dev eth1 parent 77: protocol ip prio 2 handle 80 fw flowid 77:10
+ tc filter add dev eth1 parent ffff: protocol ip prio 1 handle 79 fw police rate 400kbit mtu 6k burst 6k drop
RTNETLINK answers: File exists
We have an error talking to the kernel
+ for ip in '$LIMIT_IPS'
+ iptables -t mangle -I PREROUTING -s 192.168.2.100 -j MARK --set-mark 79
+ iptables -t mangle -I POSTROUTING -d 192.168.2.100 -j MARK --set-mark 80
+ echo done
done
+ exit 0Volt olyan javaslat is, hogy vegyem ki az init.d-ből és kézzel indítsam el, mondván automatikusan indul, és annak a kimenetét nem látom. Utána viszont maga a restart (azon belül is a stop) esetleg nem takarít rendesen azért vannak azok a hibák (mivel arra panaszkodik, hogy bizonyos dolgok már léteznek). Így futtatva továbbra sem megy, ugyan más hibákra panaszkodik:
root@OpenWrt:~# /etc/config/limit start
+ insmod cls_fw
+ insmod cls_u32
+ insmod sch_htb
+ insmod sch_sfq
+ insmod sch_ingress
+ insmod act_police
+ DEV=eth0.1
+ LIMIT_IPS=192.168.2.100
+ LIMIT_DOWN=200
+ LIMIT_DOWN_BURST=400
+ LIMIT_UP=400
+ case "$1" in
+ echo -n 'Starting bandwidth shaping: '
Starting bandwidth shaping: + start
+ tc qdisc del dev eth0.2 root handle 77:
RTNETLINK answers: Invalid argument
+ tc qdisc add dev eth0.2 root handle 77: htb
RTNETLINK answers: File exists
+ tc class add dev eth0.2 parent 77: classid 77:1 htb rate 20000kbit
RTNETLINK answers: No such file or directory
+ tc class add dev eth0.2 parent 77:1 classid 77:10 htb rate 200kbit ceil 400kbit prio 2
RTNETLINK answers: No such file or directory
+ tc qdisc add dev eth0.2 parent 77:10 handle 78: sfq perturb 10
RTNETLINK answers: No such file or directory
+ tc qdisc add dev eth0.2 ingress
+ tc filter add dev eth0.2 parent 77: protocol ip prio 2 handle 80 fw flowid 77:10
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
+ tc filter add dev eth0.2 parent ffff: protocol ip prio 1 handle 79 fw police rate 400kbit mtu 6k burst 6k drop
+ for ip in '$LIMIT_IPS'
+ iptables -t mangle -I PREROUTING -s 192.168.2.100 -j MARK --set-mark 79
+ iptables -t mangle -I POSTROUTING -d 192.168.2.100 -j MARK --set-mark 80
+ echo done
done
+ exit 0Ha valakinek van még ötlete, vagy esetleg egy teljesen más megoldást tud a problémámra, azt szívesen veszem, de lehetőleg ne kétszavas válaszokkal segítsetek, mivel nem tudok programozni, és a Linuxban is kezdő vagyok.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Asus ROG FLOW X13 x360 Érintős MINI Gamer laptop -50% Ryzen 9 6900HS 16GB/1TB RTX 3050Ti 4GB FHD+
- DJI FPV Fly More Combo drón szett - CARBON
- Eladó RedMagic 9 pro (16/512 GB)
- Gamer PC - R7 5800X, RTX 3070 és 16gb RAM + GARANCIA
- Samsung Galaxy S25 / FE / 25 Ultra / S25 Edge / Flip 7 - 256GB / 512GB - Bontatlan - 2/3 év gari
- Bomba ár! Lenovo X1 Yoga 2nd - i7-7G I 8GB I 256GB SSD I 14" WQHD Sérült I W11 I CAM I Garancia!
- Xiaomi Smart Band 8, Újszerű, 1 Év Garanciával
- Macbook Pro 2019 // i7 // 16/512GB // Számla+Garancia //
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3497
- LG 34GS95UE - 34" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest