J
Johni
Grünschnabel
Also, ich habe hier einen VPN Server über den einzelne Benutzer über NAT in das Internet können. Der Traffic der einzelnen Benutzer soll jeweils auf einen festen Wert limitiert werden.
Mit pptp funktioniert das auch sehr gut da jeder Benutzer einen eigenen Netzwerkadapter bekommt den ich dann limitieren kann.
Das ist zur Zeit im if-up Script der ppp Adapter.
Jetzt will ich neben pptp auch OpenVPN einrichten wass auch soweit funktioniert bis auf das limitieren des Traffic. Der Ansatz von pptp funktioniert ja nicht da nicht jeder Client einen virtuellen Netzwerkadapter besitzt. Ich muss zugeben, dass die Configuration von tc nicht von mir selbst sondern aus dem Internet stammt. Vielleicht übersehe ich daher auch eine Möglichkeit.
Hat hier jemand vielleicht eine Idee wie man das lösen könnte?
Mit pptp funktioniert das auch sehr gut da jeder Benutzer einen eigenen Netzwerkadapter bekommt den ich dann limitieren kann.
Code:
#upload
DOWNSPEED=128
#download
UPSPEED=900
/sbin/tc qdisc del dev $1 root > /dev/null
/sbin/tc qdisc del dev $1 ingress > /dev/null
##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1
/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k
/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1
/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2
/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
fi
Das ist zur Zeit im if-up Script der ppp Adapter.
Jetzt will ich neben pptp auch OpenVPN einrichten wass auch soweit funktioniert bis auf das limitieren des Traffic. Der Ansatz von pptp funktioniert ja nicht da nicht jeder Client einen virtuellen Netzwerkadapter besitzt. Ich muss zugeben, dass die Configuration von tc nicht von mir selbst sondern aus dem Internet stammt. Vielleicht übersehe ich daher auch eine Möglichkeit.
Hat hier jemand vielleicht eine Idee wie man das lösen könnte?