-
Fototrend

Ú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!
- Már csak több évre szóló szerződésekben gondolkodnak a memóriagyártók
- Kerékpárosok, bringások ide!
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Nvidia GPU-k jövője - amit tudni vélünk
- Újabb renderek mutatják meg az Xperia 1 VIII változásait
- Gumi és felni topik
- Futás, futópályák
- Formula-1
- exHWSW - Értünk mindenhez IS
- Minden, ami hőszivattyú
- További aktív témák...
- ROG Zephyrus G14 GA401QM 14" FHD IPS Ryzen 9 5900HS RTX 3060 16GB 512GB magyar vbill gar
- Intel Core I9 14900K - 24mag/32szál - Új, bontatlan - Gari 2028.12.27. -ig - Eladó!
- Intel I9 13900K - 24mag/32szál - Új, bontatlan - Gari 2028.03.19. -ig - Eladó!
- Pro Max 16 MC16250 16" FHD+ IPS Ultra 7 255H RTX Pro 1000 Blackwell 32GB 1TB NVMe ujjlolv gar
- Samsung Galaxy S24 Ultra 12/512GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- 226 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- ADATA XPG SPECTRIX S40G 4TB M.2 PCIe (AS40G-4TT-C) (ELKELT)
- ASTRO A50 WIRELESS HEADSET + BASE STATION 4th gen. fejhallgató
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4418
- 0perces DDR5 5600 vadiúj 2x16GB memória 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

