Introdução
Este exemplo mostra como configurar um modelador de tráfego transparente. O modelador de tráfego transparente é essencialmente uma ponte que é capaz de diferenciar e priorizar o tráfego que passa por ele.
Considere o layout de rede a seguir:
Vamos configurar uma fila de limitar a taxa de transferência total para o cliente e três sub-filas que limitar HTTP, P2P e outros tipos de tráfego separadamente.
Início Rápido para Impaciente
Trecho de configuração do roteador MikroTik:
- Código:
/ interface bridge
add name="bridge1"
/ interface bridge port
add interface=ether2 bridge=bridge1
add interface=ether3 bridge=bridge1
/ interface bridge settings
set use-ip-firewall=yes
/ ip firewall mangle
add chain=prerouting protocol=tcp dst-port=80 action=mark-connection \
new-connection-mark=http_conn passthrough=yes
add chain=prerouting connection-mark=http_conn action=mark-packet \
new-packet-mark=http passthrough=no
add chain=prerouting p2p=all-p2p action=mark-connection \
new-connection-mark=p2p_conn passthrough=yes
add chain=prerouting connection-mark=p2p_conn action=mark-packet \
new-packet-mark=p2p passthrough=no
add chain=prerouting action=mark-connection new-connection-mark=other_conn \
passthrough=yes
add chain=prerouting connection-mark=other_conn action=mark-packet \
new-packet-mark=other passthrough=no
/ queue simple
add name="main" target-addresses=10.0.0.12/32 max-limit=256000/512000
add name="http" parent=main packet-marks=http max-limit=240000/500000 priority=1
add name="p2p" parent=main packet-marks=p2p max-limit=64000/64000 priority=8
add name="other" parent=main packet-marks=other max-limit=128000/128000 priority=4
Explicação
Cada pedaço de código é seguido pela explicação sobre o que ele realmente faz.
Bridge
- Código:
/ interface bridge
add name="bridge1"
/ interface bridge port
add interface=ether2 bridge=bridge1
add interface=ether3 bridge=bridge1
Nós criamos uma interface nova ponte e atribuir duas interfaces ethernet a ele. Assim, o modelador de tráfego prospectivo vai ser completamente transparente para o cliente.
V3
- Código:
/ interface bridge settings
set use-ip-firewall=yes
Comportamento pacotes ponte é alterado em RouterOS v3. Use o comando para fazer pacotes ponte ir 'firewall ip' calha, por padrão de tráfego em ponte não vai mais 'firewall ip'.
Mangle
- Código:
/ ip firewall mangle
add chain=prerouting protocol=tcp dst-port=80 action=mark-connection \
new-connection-mark=http_conn passthrough=yes
add chain=prerouting connection-mark=http_conn action=mark-packet \
new-packet-mark=http passthrough=no
Todo o tráfego destinado à porta TCP 80 é provável que seja o tráfego HTTP e, portanto, está sendo marcado com o pacote marca http . Note que a primeira regra tem passagem = yes , enquanto o segundo tem passagem = não . (Você pode obter informações adicionais sobre mangle em http://www.mikrotik.com/docs/ros/2.9/ip/mangle )
- Código:
/ ip firewall mangle
add chain=prerouting p2p=all-p2p action=mark-connection \
new-connection-mark=p2p_conn passthrough=yes
add chain=prerouting connection-mark=p2p_conn action=mark-packet \
new-packet-mark=p2p passthrough=no
add chain=prerouting action=mark-connection new-connection-mark=other_conn \
passthrough=yes
add chain=prerouting connection-mark=other_conn action=mark-packet \
new-packet-mark=other passthrough=no
O mesmo que acima, o tráfego P2P é marcado com a marca pacote p2p e todo o tráfego é marcado com a marca de pacotes outro .
Queues
- Código:
/ queue simple
add name="main" target-addresses=10.0.0.12/32 max-limit=256000/512000
Criamos uma fila que limita todo o tráfego vai de / para o cliente (especificado pelo endereço de destino ) para 256k/512k.
- Código:
/ queue simple
add name="http" parent=main packet-marks=http max-limit=240000/500000 priority=1
add name="p2p" parent=main packet-marks=p2p max-limit=64000/64000 priority=8
add name="other" parent=main packet-marks=other max-limit=128000/128000 priority=4
Todas as filas têm o sub- principal fila como o pai, assim, a taxa de dados agregados não poderia exceder os limites especificados na principal fila. Note que http fila tem prioridade maior do que outras filas, o que significa que os downloads HTTP são priorizados.
Fonte: http://wiki.mikrotik.com/wiki/TransparentTrafficShaper