qos: fix vpn downstream rate counting.

This commit is contained in:
Arne Fitzenreiter
2011-01-03 22:19:37 +01:00
parent ab4a5a35af
commit b83d68f3fd
3 changed files with 23 additions and 1 deletions

View File

@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# Copyright (C) 2010 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -517,6 +517,9 @@ print <<END
### ADD QOS-INC CHAIN TO THE MANGLE TABLE IN IPTABLES
iptables -t mangle -N QOS-INC
iptables -t mangle -A POSTROUTING -i $qossettings{'RED_DEV'} -p ah -j RETURN
iptables -t mangle -A POSTROUTING -i $qossettings{'RED_DEV'} -p esp -j RETURN
iptables -t mangle -A POSTROUTING -i $qossettings{'RED_DEV'} -p ip -j RETURN
iptables -t mangle -A POSTROUTING -m mark ! --mark 0 ! -o $qossettings{'RED_DEV'} -j IMQ --todev 0
iptables -t mangle -I FORWARD -i $qossettings{'RED_DEV'} -j QOS-INC
iptables -t mangle -A FORWARD -i $qossettings{'RED_DEV'} -j QOS-TOS
@@ -531,6 +534,9 @@ print <<END
### ADD QOS-INC CHAIN TO THE MANGLE TABLE IN IPTABLES
iptables -t mangle -N QOS-INC
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -p ah -j RETURN
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -p esp -j RETURN
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -p ip -j RETURN
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -j IMQ --todev 0
iptables -t mangle -I PREROUTING -i $qossettings{'RED_DEV'} -j QOS-INC
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -j QOS-TOS
@@ -690,6 +696,12 @@ print <<END
tc qdisc del dev $qossettings{'IMQ_DEV'} root >/dev/null 2>&1
# STOP IMQ-DEVICE
ip link set $qossettings{'IMQ_DEV'} down >/dev/null 2>&1
iptables -t mangle --delete POSTROUTING -i $qossettings{'RED_DEV'} -p ah -j RETURN >/dev/null 2>&1
iptables -t mangle --delete POSTROUTING -i $qossettings{'RED_DEV'} -p esp -j RETURN >/dev/null 2>&1
iptables -t mangle --delete POSTROUTING -i $qossettings{'RED_DEV'} -p ip -j RETURN >/dev/null 2>&1
iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -p ah -j RETURN >/dev/null 2>&1
iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -p esp -j RETURN >/dev/null 2>&1
iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -p ip -j RETURN >/dev/null 2>&1
iptables -t mangle --delete POSTROUTING -m mark ! --mark 0 ! -o $qossettings{'RED_DEV'} -j IMQ --todev 0 >/dev/null 2>&1
iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -j IMQ --todev 0 >/dev/null 2>&1
# rmmod imq # this crash on 2.6.25.xx

View File

@@ -39,6 +39,7 @@ var/ipfire/langs/en.pl
var/ipfire/langs/fr.pl
var/ipfire/langs/es.pl
var/ipfire/menu.d/10-system.menu
var/ipfire/qos/bin/makeqosscripts.pl
usr/local/bin/timectrl
usr/local/bin/rebuild-initrd
usr/local/bin/scanhd

View File

@@ -210,6 +210,15 @@ if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then
/etc/init.d/ipsec start
fi
#
# Rebuild qosscript if enabled
#
if [ -e /var/ipfire/qos/enable ]; then
/usr/local/bin/qosctrl stop
/usr/local/bin/qosctrl generate
/usr/local/bin/qosctrl start
fi
# Add pakfire and fireinfo cronjobs...
grep -v "# fireinfo" /var/spool/cron/root.orig |
grep -v "/usr/bin/sendprofile" |