- Google Pixel topik
- iPhone topik
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- Fotók, videók mobillal
- Az IFA-n már ott lehetnek a Samsung újdonságai
- Redmi Note 12 Pro - nem tolták túl
- Vivo X200 Pro - a kétszázát!
- Telekom mobilszolgáltatások
- EarFun Clip – cimpazaj
- A Bugatti Veyron megleckéztetésére készül a Dreame első villanyautója
-
Mobilarena
Ú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!
- Linux kezdőknek
- Azonnali fáradt gőzös kérdések órája
- Amlogic S905, S912 processzoros készülékek
- Jófogás tapasztalatok
- GTA V
- alza vélemények - tapasztalatok
- NVIDIA: az AI-robbanás csak most kezdődik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Mobilinternet
- Anglia - élmények, tapasztalatok
- További aktív témák...
- Samsung Galaxy Tab A9+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Latitude 5420 i7-1185G7 16GB 256GB magyarbill. 1 év garancia
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 16GB I 512SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Lenovo ThinkPad P14s Gen 2 i7-1165G7 32 GB Ram 512 GB SSD 1 év garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: FOTC
Város: Budapest