bf2team
19/06/2008, 18h48
Salut a tous
Je voulais savoir si il y a certains d'entre vous qui on déjà mi en place de la qos avec les commendes tc, j'ai fait un petit script perso et ça marche vraiment bien( jeu, ping, ssh etc...), et je marque donc les paquets avec iptables, mais mon problème c'est que quand j'appelle avec la Voip et que je met un fichier sur un serveur ftp j'ai des micro coupure toutes les 2 s, donc l'appelle est haché.
Pourtant j'ai mi les connexion ftp en dernier prio ( gâce a : iptables -t mangle -A PREROUTING -j MARK --set-mark 0x6) avec un débits max de 100kbits sur les 220Kbits que j'ai et la voip est premier prio avec un débits max de 220Kbits.
et avec ça j'ai des problème de micro coupure, quand j'ai que la voip d'ovh qui émet j'ai pas de problème. Voilà la config :
qos.sh
tc qdisc add dev $DEV root handle 1: htb default 15
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit ceil ${UPLINK}kbit
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 120kbit ceil 220kbit prio 0
tc class add dev $DEV parent 1:1 classid 1:11 htb rate 80kbit ceil 150kbit prio 1
tc class add dev $DEV parent 1:1 classid 1:12 htb rate 30kbit ceil 180kbit prio 2
tc class add dev $DEV parent 1:1 classid 1:13 htb rate 30kbit ceil 100kbit prio 3
tc class add dev $DEV parent 1:1 classid 1:14 htb rate 10kbit ceil 50kbit prio 4
tc class add dev $DEV parent 1:1 classid 1:15 htb rate 10kbit ceil 100kbit prio 5
tc qdisc add dev $DEV parent 1:12 handle 120: sfq perturb 10
tc qdisc add dev $DEV parent 1:13 handle 130: sfq perturb 10
tc qdisc add dev $DEV parent 1:14 handle 140: sfq perturb 10
tc qdisc add dev $DEV parent 1:15 handle 150: sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11
tc filter add dev $DEV parent 1:0 protocol ip prio 3 handle 3 fw classid 1:12
tc filter add dev $DEV parent 1:0 protocol ip prio 4 handle 4 fw classid 1:13
tc filter add dev $DEV parent 1:0 protocol ip prio 5 handle 5 fw classid 1:14
tc filter add dev $DEV parent 1:0 protocol ip prio 6 handle 6 fw classid 1:15
Iptables
############# QOS #################
#
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Delay -j MARK --set-mark 0x2
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Delay -j RETURN
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Cost -j MARK --set-mark 0x5
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Cost -j RETURN
iptables -t mangle -A PREROUTING -m tos --tos Maximize-Throughput -j MARK --set-mark 0x6
iptables -t mangle -A PREROUTING -m tos --tos Maximize-Throughput -j RETURN
iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x2
iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
# Ping
iptables -t mangle -A FORWARD -p icmp -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p icmp -j RETURN
iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p icmp -j RETURN
# SSH
iptables -t mangle -A FORWARD -p tcp --dport 22 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 22 -j RETURN
# SIP
iptables -t mangle -A FORWARD -s xx.xx.xx.xx -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -s xx.xx.xx.xx -j RETURN
iptables -t mangle -A FORWARD -d xx.xx.xx.xx -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -d xx.xx.xx.xx -j RETURN
# HTTP
iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p tcp --dport 80 -j RETURN
# HTTPS
iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p tcp --dport 443 -j RETURN
# DNS
iptables -t mangle -A FORWARD -p udp --dport 53 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p udp --dport 53 -j RETURN
# OpenVPN
iptables -t mangle -A OUTPUT -p udp --dport 4020 -j MARK --set-mark 0x3
iptables -t mangle -A OUTPUT -p udp --dport 4020 -j RETURN
iptables -t mangle -A OUTPUT -p udp --sport 4020 -j MARK --set-mark 0x3
iptables -t mangle -A OUTPUT -p udp --sport 4020 -j RETURN
# CSS
iptables -t mangle -A FORWARD -p udp --dport 27000:27050 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p udp --dport 27000:27050 -j RETURN
# WoW
# Jeu
iptables -t mangle -A FORWARD -p tcp --dport 3724 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 3724 -j RETURN
iptables -t mangle -A FORWARD -p tcp --dport 8085 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 8085 -j RETURN
iptables -t mangle -A FORWARD -p udp --dport 8085 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p udp --dport 8085 -j RETURN
# Voix
iptables -t mangle -A FORWARD -p udp --dport 3724 -j MARK --set-mark 0x2
# Update
#iptables -t mangle -A FORWARD -p tcp --dport 6112 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p tcp --dport 6881:6999 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p udp --dport 6112 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p udp --dport 6881:6999 -j MARK --set-mark 0x2
# Tous mettre en bas prio
iptables -t mangle -A PREROUTING -j MARK --set-mark 0x6
Merci de me dire si j'ai loupé un truc, j'ai un PAP2 ça peut venir de lui aussi?. Merci beaucoup :D
Je voulais savoir si il y a certains d'entre vous qui on déjà mi en place de la qos avec les commendes tc, j'ai fait un petit script perso et ça marche vraiment bien( jeu, ping, ssh etc...), et je marque donc les paquets avec iptables, mais mon problème c'est que quand j'appelle avec la Voip et que je met un fichier sur un serveur ftp j'ai des micro coupure toutes les 2 s, donc l'appelle est haché.
Pourtant j'ai mi les connexion ftp en dernier prio ( gâce a : iptables -t mangle -A PREROUTING -j MARK --set-mark 0x6) avec un débits max de 100kbits sur les 220Kbits que j'ai et la voip est premier prio avec un débits max de 220Kbits.
et avec ça j'ai des problème de micro coupure, quand j'ai que la voip d'ovh qui émet j'ai pas de problème. Voilà la config :
qos.sh
tc qdisc add dev $DEV root handle 1: htb default 15
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit ceil ${UPLINK}kbit
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 120kbit ceil 220kbit prio 0
tc class add dev $DEV parent 1:1 classid 1:11 htb rate 80kbit ceil 150kbit prio 1
tc class add dev $DEV parent 1:1 classid 1:12 htb rate 30kbit ceil 180kbit prio 2
tc class add dev $DEV parent 1:1 classid 1:13 htb rate 30kbit ceil 100kbit prio 3
tc class add dev $DEV parent 1:1 classid 1:14 htb rate 10kbit ceil 50kbit prio 4
tc class add dev $DEV parent 1:1 classid 1:15 htb rate 10kbit ceil 100kbit prio 5
tc qdisc add dev $DEV parent 1:12 handle 120: sfq perturb 10
tc qdisc add dev $DEV parent 1:13 handle 130: sfq perturb 10
tc qdisc add dev $DEV parent 1:14 handle 140: sfq perturb 10
tc qdisc add dev $DEV parent 1:15 handle 150: sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11
tc filter add dev $DEV parent 1:0 protocol ip prio 3 handle 3 fw classid 1:12
tc filter add dev $DEV parent 1:0 protocol ip prio 4 handle 4 fw classid 1:13
tc filter add dev $DEV parent 1:0 protocol ip prio 5 handle 5 fw classid 1:14
tc filter add dev $DEV parent 1:0 protocol ip prio 6 handle 6 fw classid 1:15
Iptables
############# QOS #################
#
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Delay -j MARK --set-mark 0x2
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Delay -j RETURN
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Cost -j MARK --set-mark 0x5
iptables -t mangle -A PREROUTING -m tos --tos Minimize-Cost -j RETURN
iptables -t mangle -A PREROUTING -m tos --tos Maximize-Throughput -j MARK --set-mark 0x6
iptables -t mangle -A PREROUTING -m tos --tos Maximize-Throughput -j RETURN
iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x2
iptables -t mangle -I PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
# Ping
iptables -t mangle -A FORWARD -p icmp -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p icmp -j RETURN
iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p icmp -j RETURN
# SSH
iptables -t mangle -A FORWARD -p tcp --dport 22 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 22 -j RETURN
# SIP
iptables -t mangle -A FORWARD -s xx.xx.xx.xx -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -s xx.xx.xx.xx -j RETURN
iptables -t mangle -A FORWARD -d xx.xx.xx.xx -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -d xx.xx.xx.xx -j RETURN
# HTTP
iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p tcp --dport 80 -j RETURN
# HTTPS
iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p tcp --dport 443 -j RETURN
# DNS
iptables -t mangle -A FORWARD -p udp --dport 53 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -p udp --dport 53 -j RETURN
# OpenVPN
iptables -t mangle -A OUTPUT -p udp --dport 4020 -j MARK --set-mark 0x3
iptables -t mangle -A OUTPUT -p udp --dport 4020 -j RETURN
iptables -t mangle -A OUTPUT -p udp --sport 4020 -j MARK --set-mark 0x3
iptables -t mangle -A OUTPUT -p udp --sport 4020 -j RETURN
# CSS
iptables -t mangle -A FORWARD -p udp --dport 27000:27050 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p udp --dport 27000:27050 -j RETURN
# WoW
# Jeu
iptables -t mangle -A FORWARD -p tcp --dport 3724 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 3724 -j RETURN
iptables -t mangle -A FORWARD -p tcp --dport 8085 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p tcp --dport 8085 -j RETURN
iptables -t mangle -A FORWARD -p udp --dport 8085 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -p udp --dport 8085 -j RETURN
# Voix
iptables -t mangle -A FORWARD -p udp --dport 3724 -j MARK --set-mark 0x2
# Update
#iptables -t mangle -A FORWARD -p tcp --dport 6112 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p tcp --dport 6881:6999 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p udp --dport 6112 -j MARK --set-mark 0x2
#iptables -t mangle -A FORWARD -p udp --dport 6881:6999 -j MARK --set-mark 0x2
# Tous mettre en bas prio
iptables -t mangle -A PREROUTING -j MARK --set-mark 0x6
Merci de me dire si j'ai loupé un truc, j'ai un PAP2 ça peut venir de lui aussi?. Merci beaucoup :D