<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=C%C3%B3pia_do_script_de_QoS</id>
	<title>Cópia do script de QoS - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=C%C3%B3pia_do_script_de_QoS"/>
	<link rel="alternate" type="text/html" href="https://wiki.if.ufrgs.br/index.php?title=C%C3%B3pia_do_script_de_QoS&amp;action=history"/>
	<updated>2026-06-16T11:39:57Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://wiki.if.ufrgs.br/index.php?title=C%C3%B3pia_do_script_de_QoS&amp;diff=315&amp;oldid=prev</id>
		<title>Magnos: Criou página com &#039; #!/bin/bash  comando=$1  option=$2  controle() {  ##- Carrega as variaveis -##  variaveis  ##------------------------##  case $comando in  firewall) iptables_script ;;  qos) qos…&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.if.ufrgs.br/index.php?title=C%C3%B3pia_do_script_de_QoS&amp;diff=315&amp;oldid=prev"/>
		<updated>2009-12-02T18:34:53Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039; #!/bin/bash  comando=$1  option=$2  controle() {  ##- Carrega as variaveis -##  variaveis  ##------------------------##  case $comando in  firewall) iptables_script ;;  qos) qos…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #!/bin/bash&lt;br /&gt;
 comando=$1&lt;br /&gt;
 option=$2&lt;br /&gt;
 controle() {&lt;br /&gt;
 ##- Carrega as variaveis -##&lt;br /&gt;
 variaveis&lt;br /&gt;
 ##------------------------##&lt;br /&gt;
 case $comando in&lt;br /&gt;
 firewall) iptables_script ;;&lt;br /&gt;
 qos) qos_script ;;&lt;br /&gt;
 *) echo &amp;quot;###- ERRO -### #- Comando de entrada errado para script de QoS. Usage: firewall; qos (start|stop|restart)&amp;quot;; exit 1 ;;&lt;br /&gt;
 esac&lt;br /&gt;
 }&lt;br /&gt;
 variaveis() {&lt;br /&gt;
 ##- MARK adicionado aos pacotes&lt;br /&gt;
 MARKPRIO1=&amp;quot;0x1&amp;quot; &lt;br /&gt;
 MARKPRIO2=&amp;quot;0x2&amp;quot; &lt;br /&gt;
 MARKPRIO3=&amp;quot;0x3&amp;quot; &lt;br /&gt;
 MARKPRIO4=&amp;quot;0x4&amp;quot; &lt;br /&gt;
 MARKPRIO5=&amp;quot;0x5&amp;quot; &lt;br /&gt;
 MARKPRIO6=&amp;quot;0x6&amp;quot;&lt;br /&gt;
 ##- Velocidades Limites Upload/Download&lt;br /&gt;
 download_limit=&amp;#039;100000kbit&amp;#039;&lt;br /&gt;
 upload_limit=&amp;#039;100000kbit&amp;#039;&lt;br /&gt;
 #- Download -#&lt;br /&gt;
 prio_1_band=&amp;#039;36333kbit&amp;#039;&lt;br /&gt;
 prio_1_band_limit=&amp;#039;100000kbit&amp;#039;&lt;br /&gt;
 prio_3_band=&amp;#039;30333kbit&amp;#039;&lt;br /&gt;
 prio_3_band_limit=&amp;#039;85000kbit&amp;#039;&lt;br /&gt;
 prio_5_band=&amp;#039;30333kbit&amp;#039;&lt;br /&gt;
 prio_5_band_limit=&amp;#039;75000kbit&amp;#039;&lt;br /&gt;
 #- Upload -#&lt;br /&gt;
 prio_2_band=&amp;#039;36333kbit&amp;#039;&lt;br /&gt;
 prio_2_band_limit=&amp;#039;100000kbit&amp;#039;&lt;br /&gt;
 prio_4_band=&amp;#039;30333kbit&amp;#039;&lt;br /&gt;
 prio_4_band_limit=&amp;#039;85000kbit&amp;#039;&lt;br /&gt;
 prio_6_band=&amp;#039;30333kbit&amp;#039;&lt;br /&gt;
 prio_6_band_limit=&amp;#039;75000kbit&amp;#039;&lt;br /&gt;
 ## Interface de rede interna&lt;br /&gt;
 int_if=&amp;#039;eth1&amp;#039;&lt;br /&gt;
 ## Interface de rede externa&lt;br /&gt;
 ext_if=&amp;#039;eth2&amp;#039;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 iptables_script() {&lt;br /&gt;
 ###- MARCANDO PACOTES para QoS - divisao de banda download/upload&lt;br /&gt;
 #&lt;br /&gt;
 ####- Limpar Tabela MANGLE&lt;br /&gt;
 IPTABLES -t mangle -F&lt;br /&gt;
 IPTABLES -t mangle -X&lt;br /&gt;
 IPTABLES -t mangle -Z&lt;br /&gt;
 ####- Prioridade 1&lt;br /&gt;
 #- ICMP&amp;quot;&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p icmp -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 ########---- PRIORIDADES DE DOWNLOAD ----########&lt;br /&gt;
 ####- Prioridade 1&lt;br /&gt;
 ##- Cameras de vigilancia ADM&lt;br /&gt;
 #IP e Porta do servidor das cameras: 192.168.64.249.50450&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 192.168.64.249 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 192.168.64.0/24 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 192.168.67.0/24 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 #- DNS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --sport 53 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 #- LDAP&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --sport 389 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 #- IMPRESSORAS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --sport 631 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 10.0.0.1 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 10.0.0.2 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 10.0.0.3 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 10.0.0.4 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 ####- Prioridade 3&lt;br /&gt;
 #- HTTP&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --sport 80 -j MARK --set-mark $MARKPRIO3&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --sport 8080 -j MARK --set-mark $MARKPRIO3&lt;br /&gt;
 #- HTTPS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --sport 443 -j MARK --set-mark $MARKPRIO3&lt;br /&gt;
 #- Proxy&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --sport 3128 -j MARK --set-mark $MARKPRIO3&lt;br /&gt;
 &lt;br /&gt;
 ####- Prioridade 5&lt;br /&gt;
 #- SSH&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --sport 22 -j MARK --set-mark $MARKPRIO5&lt;br /&gt;
 #- Todo o restante&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 143.54.196.0/24 -j MARK --set-mark $MARKPRIO5&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 143.54.197.0/24 -j MARK --set-mark $MARKPRIO5&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 143.54.198.0/24 -j MARK --set-mark $MARKPRIO5&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 143.54.199.0/24 -j MARK --set-mark $MARKPRIO5&lt;br /&gt;
 ########---- FIM DAS PRIORIDADES DE DOWNLOAD ----########&lt;br /&gt;
 #&lt;br /&gt;
 ########---- PRIORIDADES DE UPLOAD ----########&lt;br /&gt;
 ####- Prioridade 2&lt;br /&gt;
 #- Cameras de vigilancia ADM&lt;br /&gt;
 #IP e Porta do servidor das cameras: 192.168.64.249.50450&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 192.168.64.249 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 192.168.64.0/24 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 192.168.67.0/24 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 #- DNS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --dport 53 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 #- LDAP&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --dport 389 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 #- IMPRESSORAS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p udp --dport 631 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -d 10.0.0.1 -j MARK --set-mark $MARKPRIO2&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 10.0.0.2 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 10.0.0.3 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 10.0.0.4 -j MARK --set-mark $MARKPRIO1&lt;br /&gt;
 &lt;br /&gt;
 ####- Prioridade 4&lt;br /&gt;
 #- HTTP&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark $MARKPRIO4&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --dport 8080 -j MARK --set-mark $MARKPRIO4&lt;br /&gt;
 #- HTTPS&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark $MARKPRIO4&lt;br /&gt;
 #- Proxy&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --dport 3128 -j MARK --set-mark $MARKPRIO4&lt;br /&gt;
 &lt;br /&gt;
 ####- Prioridade 6&lt;br /&gt;
 #- SSH&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark $MARKPRIO6&lt;br /&gt;
 #- Todo o restante&amp;quot;&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 143.54.196.0/24 -j MARK --set-mark $MARKPRIO6&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 143.54.197.0/24 -j MARK --set-mark $MARKPRIO6&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 143.54.198.0/24 -j MARK --set-mark $MARKPRIO6&lt;br /&gt;
 IPTABLES -t mangle -A PREROUTING -s 143.54.199.0/24 -j MARK --set-mark $MARKPRIO6&lt;br /&gt;
 ########---- FIM DAS PRIORIDADES DE UPLOAD ----########&lt;br /&gt;
 #&lt;br /&gt;
 ###- FIM DE #- MARCANDO PACOTES para QoS - divisao de banda download/upload&lt;br /&gt;
 }&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 ################# QoS SCRIPT ####################&lt;br /&gt;
 qos_script() {&lt;br /&gt;
 case $option in&lt;br /&gt;
 start) qos_script_start ;;&lt;br /&gt;
 stop) qos_script_stop ;;&lt;br /&gt;
 restart) qos_script_stop ; qos_script_start ;;&lt;br /&gt;
 *) echo &amp;quot;###- ERRO -### #- QoS_script, opcao invalida. Uilizar (start|stop|restart)&amp;quot; ; exit 1 ;;&lt;br /&gt;
 esac&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 qos_script_start() {&lt;br /&gt;
 ####- Regras de QoS - Divisao de banda&lt;br /&gt;
 # Load modules&lt;br /&gt;
 modprobe sch_htb&lt;br /&gt;
 &lt;br /&gt;
 # Delete Queue Disciplines&lt;br /&gt;
 tc qdisc del dev $int_if root 2&amp;gt; /dev/null &amp;gt; /dev/null&lt;br /&gt;
 tc qdisc del dev $ext_if root 2&amp;gt; /dev/null &amp;gt; /dev/null&lt;br /&gt;
 &lt;br /&gt;
 # Specify queue discipline&amp;quot;&lt;br /&gt;
 tc qdisc add dev $int_if root handle 1:0 htb default 30&lt;br /&gt;
 tc qdisc add dev $ext_if root handle 1:0 htb default 60&lt;br /&gt;
 &lt;br /&gt;
 # Create Root Class&lt;br /&gt;
 #- Recebe as regras de DOWNLOAD (MARKPRIO impares 1,3 e 5)&lt;br /&gt;
 tc class add dev $int_if parent 1:0 classid 1:1 htb rate $upload_limit ceil $upload_limit&lt;br /&gt;
 #- Recebe as regras de UPLOAD (MARKPRIO pares 2,4 e 6)&lt;br /&gt;
 tc class add dev $ext_if parent 1:0 classid 1:1 htb rate $download_limit ceil $download_limit&lt;br /&gt;
 &lt;br /&gt;
 ### Create Sub Classes&lt;br /&gt;
 #- DOWNLOAD&amp;quot;&lt;br /&gt;
 tc class add dev $int_if parent 1:1 classid 1:10 htb rate $prio_1_band ceil $prio_1_band_limit prio 1&lt;br /&gt;
 tc class add dev $int_if parent 1:1 classid 1:30 htb rate $prio_3_band ceil $prio_3_band_limit prio 3&lt;br /&gt;
 tc class add dev $int_if parent 1:1 classid 1:50 htb rate $prio_5_band ceil $prio_5_band_limit prio 5&lt;br /&gt;
 #- UPLOAD&amp;quot;&lt;br /&gt;
 tc class add dev $ext_if parent 1:1 classid 1:20 htb rate $prio_2_band ceil $prio_2_band_limit prio 2&lt;br /&gt;
 tc class add dev $ext_if parent 1:1 classid 1:40 htb rate $prio_4_band ceil $prio_4_band_limit prio 4&lt;br /&gt;
 tc class add dev $ext_if parent 1:1 classid 1:60 htb rate $prio_6_band ceil $prio_6_band_limit prio 6&lt;br /&gt;
 &lt;br /&gt;
 # Filter packets&lt;br /&gt;
 #- DOWNLOAD&amp;quot;&lt;br /&gt;
 tc filter add dev $int_if parent 1:0 protocol ip prio 1 handle $MARKPRIO1 fw classid 1:10&lt;br /&gt;
 tc filter add dev $int_if parent 1:0 protocol ip prio 3 handle $MARKPRIO3 fw classid 1:30&lt;br /&gt;
 tc filter add dev $int_if parent 1:0 protocol ip prio 5 handle $MARKPRIO5 fw classid 1:50&lt;br /&gt;
 #- UPLOAD&amp;quot;&lt;br /&gt;
 tc filter add dev $ext_if parent 1:0 protocol ip prio 2 handle $MARKPRIO2 fw classid 1:20&lt;br /&gt;
 tc filter add dev $ext_if parent 1:0 protocol ip prio 4 handle $MARKPRIO4 fw classid 1:40&lt;br /&gt;
 tc filter add dev $ext_if parent 1:0 protocol ip prio 6 handle $MARKPRIO6 fw classid 1:60&lt;br /&gt;
 &lt;br /&gt;
 # Add queuing disciplines&lt;br /&gt;
 #- DOWNLOAD&amp;quot;&lt;br /&gt;
 tc qdisc add dev $int_if parent 1:10 sfq perturb 5&lt;br /&gt;
 tc qdisc add dev $int_if parent 1:30 sfq perturb 5&lt;br /&gt;
 tc qdisc add dev $int_if parent 1:50 sfq perturb 5&lt;br /&gt;
 #- UPLOAD&lt;br /&gt;
 tc qdisc add dev $ext_if parent 1:20 sfq perturb 5&lt;br /&gt;
 tc qdisc add dev $ext_if parent 1:40 sfq perturb 5&lt;br /&gt;
 tc qdisc add dev $ext_if parent 1:60 sfq perturb 5&lt;br /&gt;
 ####- FIM DE #- Regras de QoS - Divisao de banda&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 qos_script_stop() {&lt;br /&gt;
 ###- Parando regras de QoS&lt;br /&gt;
 tc qdisc del dev $ext_if root 2&amp;gt; /dev/null &amp;gt; /dev/null&lt;br /&gt;
 tc qdisc del dev $int_if root 2&amp;gt; /dev/null &amp;gt; /dev/null&lt;br /&gt;
 ###- FIM de Parando regras de QoS&lt;br /&gt;
 ################# FIM DE QoS SCRIPT ####################&lt;br /&gt;
 #&lt;br /&gt;
 }&lt;br /&gt;
 controle&lt;/div&gt;</summary>
		<author><name>Magnos</name></author>
	</entry>
</feed>