OpenWRT topic - OS, alkalmazások fórum

üzenetek

hozzászólások


Tamy
(senior tag)

Eth0.2-vel sem megy, bár ha jól sejtem nem is erre gondolsz.


bambano
(titán)
Blog

van egy interfészed, amin a belső hálózatod lóg, arra kell a letöltési irány szabályozását rátenni.
meg van egy interfészed, gyakran wan-nak nevezik, amin az internet szolgáltatód felé kapcsolódsz, arra kell a feltöltési irány szabályozását rátenni.

mint mondtam, az interfész szemszögéből nézve bejövő forgalmat nem lehet rendesen szabályozni, csak azt, ami az interfész szemszögéből nézve kimenő forgalom.

a letöltés bezúdul a wan interfészeden és a lanon megy ki. A feltöltés a lanon jön be és a wanon megy ki. Eszerint kell szabályozni.


bambano
(titán)
Blog

a helyzetet az súlyosbítja, hogy a wan oldali shaper queue-kban már natolt csomagok vannak, tehát a belső hálózati ip címek szerinti sebességszabályozás az nem triviális.


Tamy
(senior tag)

Igen, ezt értem, de eth0.2-vel (ez a fizikai wan interfész) is ugyanaz a helyzet. A letöltést így is korlátozza, a feltöltést meg így se. Illetve még ha működne is így, hogyan választhatom külön? Csináljak még egy scriptet, az egyikben csak a letöltés dolgai, a másikban meg csak a feltöltésé? Bár mindegy, mert valamiért nem megy eth0.2-vel sem, valószínűleg azért amit a #23-ban írsz.

[ Szerkesztve ]


bambano
(titán)
Blog

"Csináljak még egy scriptet, az egyikben csak a letöltés dolgai, a másikban meg csak a feltöltésé?": na jóreggelt :P
most szólok előre, hogy a második szkript alapjaiban teljesen különbözik az elsőtől :)


Tamy
(senior tag)

Örülök:( Esetleg ha nagyon szépen megkérlek elárulod azt is mi legyen benne, ha már ennyire különböző? :)
Jah, és az elsőből (letöltés) mit törölhetek? Nyilván a "LIMIT_UP" nem fog kelleni, de ezen kívül? Vagy maradhat nyugodtan, nem fog bekeverni?

[ Szerkesztve ]


bambano
(titán)
Blog

még mindig a #12-es hozzászólásra tudok hivatkozni, ott van leírva az elv.


Tamy
(senior tag)

Oké, az elvet még értem is nagyvonalakban (bár lehet még ez is erős túlzás), de sajnos semennyire nem tudok programozni. Némi passzív tudással rendelkezem, ha látom leírva, valamit értek belőle, hogy az adott sor épp mit csinál, de bárhogy szeretném is önállóan nem tudom megcsinálni.

Kb. az egész scriptből ez a része világos, a többi homály:

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

Jó 15 évvel ezelőtt tanultam ugyan pár alapot, de már a programnyelvre sem emlékszem (Pascal v. basic), akkor még gépem se volt, persze a tanár szerint ez nem akadály, lehet rajzolni billentyűzetet, és azon gyakorolni. Azóta is emlegetem a felmenőit, valahányszor eszembe jut :)

[ Szerkesztve ]


bambano
(titán)
Blog

bambano
(titán)
Blog

esetleg nézd meg a wondershapert...


Tamy
(senior tag)

Átnyálaztam, de hazudnék, ha azt mondanám sokat tanultam belőle. Annyit megcsináltam a leírtak alapján, hogy letiltogattam amire úgy gondoltam, hogy nincs szükség, meg egy sort hozzáadtam: "tc qdisc add dev "$DEV" egress" (valószínűleg az is hülyeség), de ettől persze még nem fog működni :(

#!/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="eth0.2"
LIMIT_IPS="192.168.2.100"
# LIMIT_DOWN=200
# LIMIT_DOWN_BURST=400
LIMIT_UP=400

start() {
tc qdisc del dev "$DEV" root
# 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 qdisc add dev "$DEV" egress
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 0

[ Szerkesztve ]


Tamy
(senior tag)

Találtam még egy ilyen megoldást, de ez végképp nem megy (persze nem OpenWrt-re van):

#!/bin/bash
#
# tc uses the following units when passed as a parameter.
# kbps: Kilobytes per second
# mbps: Megabytes per second
# kbit: Kilobits per second
# mbit: Megabits per second
# bps: Bytes per second
# Amounts of data can be specified in:
# kb or k: Kilobytes
# mb or m: Megabytes
# mbit: Megabits
# kbit: Kilobits
# To get the byte figure from bits, divide the number by 8 bit
#

#
# Name of the traffic control command.
TC=/sbin/tc

# The network interface we're planning on limiting bandwidth.
IF=eth0 # Interface

# Download limit (in mega bits)
DNLD=1mbit # DOWNLOAD Limit

# Upload limit (in mega bits)
UPLD=1mbit # UPLOAD Limit

# IP address of the machine we are controlling
IP=216.3.128.12 # Host IP

# Filter options for limiting the intended interface.
U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32"

start() {

# We'll use Hierarchical Token Bucket (HTB) to shape bandwidth.
# For detailed configuration options, please consult Linux man
# page.

$TC qdisc add dev $IF root handle 1: htb default 30
$TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD
$TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD
$U32 match ip dst $IP/32 flowid 1:1
$U32 match ip src $IP/32 flowid 1:2

# The first line creates the root qdisc, and the next two lines
# create two child qdisc that are to be used to shape download
# and upload bandwidth.
#
# The 4th and 5th line creates the filter to match the interface.
# The 'dst' IP address is used to limit download speed, and the
# 'src' IP address is used to limit upload speed.

}

stop() {

# Stop the bandwidth shaping.
$TC qdisc del dev $IF root

}

restart() {

# Self-explanatory.
stop
sleep 1
start

}

show() {

# Display status of traffic control status.
$TC -s qdisc ls dev $IF

}

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 $IF:"
show
echo ""
;;

*)

pwd=$(pwd)
echo "Usage: tc.bash {start|stop|restart|show}"
;;

esac

exit 0


Truman
(senior tag)

Sziasztok!

Próbáltam konfigurálni a Samba -t szerkesztéssel (/etc/config/samba), de ha beírom a magyar ékezet miatt kellő option 'unix charset' 'utf-8' bejegyzést, a Luci samba része átalakul ilyen ákombákommá, ahelyett hogy normálisan mutatná:

/usr/lib/lua/luci/dispatcher.lua:449: Failed to execute firstchild dispatcher target for entry '/admin/services'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:449: Failed to execute cbi dispatcher target for entry '/admin/services/samba'.
The called action terminated with an exception:
/usr/lib/lua/luci/cbi.lua:264: Unable to read UCI data: samba
stack traceback:
in function 'assert'
/usr/lib/lua/luci/dispatcher.lua:449: in function 'dispatch'
/usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>

Ilyenkor persze a szerver sem megy. Ha kitörlöm és újraindítok, akkor megint minden rendben. Viszont nem jelennek meg az ékezeteim.

Mi lehet a baj?

Backfire 10.03.1-RC6 r28680 van fent és TP-Link TL-WR1043ND -em van, ha ez lényeges.

[ Szerkesztve ]


Truman
(senior tag)

Sikerült. :) Vannak ékezeteim!

Nem a /etc/config/samba -t kellett miatta piszkálni, hanem /etc/samba/smb.conf.template -be kellettek ezek a sorok:
client code page = 852
dos charset = 852
unix charset = UTF-8
display charset = UTF-8
character set = ISO-8859-2


dash17291
(tag)

10.03.1 RC5 (Backfire)

Modprobe nincs.

insmod lofasz

nem ad vissza semmit. Hibaüzenet csak akkor van, ha már be van töltve a modul:

# insmod nf_conntrack_tftp
insmod: can't insert 'nf_conntrack_tftp': File exists

Ez normális így?


bambano
(titán)
Blog

openwrt, téglának látszó router (tplink 941nd), hekkeltünk hozzá soros kábelt.
a router simán bebootol, nem szakítom meg a boot folyamatot, hanem amikor elindult, akkor be lehet jelentkezni a soros konzolra.

azt látom, hogy a négy lan interfész össze van bridge-lve egybe, a bridge interfész megy, a négy interfész közül egyik sincs up-ban. kotorásszam ki, hogy ezt hogy lehet javítani, vagy nullázzam a konfigot és kezdjem újra?
mivel lehet nullázni a konfigot?


bambano
(titán)
Blog

firstboot


Intruder2k5
(MODERÁTOR)
Blog

mount_root
firstboot

Vagy pedig...

mtd -r erase rootfs_data


tlac
(nagyúr)

az 1. link helyesen

üzenetek