terça-feira, novembro 21, 2017
Breaking News
Home » Linux » iptables » Iptables – Tabela Mangle

Iptables – Tabela Mangle

Definição

Tabela Mangle nada mais é que a tabela usada para marcar pacotes. Em cada pacote de dados há um cabeçalho, e neste cabeçalho há campos que podem ser marcados. Com tais marcações podemos criar regras de modo que se obtém prioridade de serviços, tempo de vida de pacotes, entre outros.

Pré-requisitos

Para o pleno entendimento deste material, recomendo que você já saiba o básico de iptables, lunux e sistema de camadas OSI. Abaixo você confere links do próprio Purainfo sobre estes conteúdos:

Iptables Parte I | Parte II | Parte III | Parte IV (Breve)

Comandos básicos de Linux

Gerenciando usuários no Linux

Modelo OSI

Resumo sobre Protocolos

Siglas e seus significados

TOS -> Type of Service (tipo de Serviço). Usamos esta propriedade para criarmos nossas políticas de prioridades. Usando TOS podemos definir qual serviço terá prioridade sobre outro, como por exemplo, videos do YouTube serão enviados para 2º plano e Ssh tem Espera Mínima. Vale ressaltar que alguns roteadores não tratam este campos, o que pode gerar problemas quando o tráfego vai para a internet.

TTL -> Time to live (Tempo de vida). Esta propriedade afeta o tempo de vida de um pacote, levando-se em conta que cada roteador diminui 1 to TTL atual do pacote. O máximo que o TTL pode conter é 255.

MARK -> Usado para atribuir um valor especial ao pacote.

SECMARK -> Secure Context Mark (Mark de contextos de segurança).  Esta propriedade seta marcas de segurança em um pacote.

CONNSECMARK -> Igual ao SECMARK, porém, aplica a marca de segurança na conexão inteira, e não apenas no pacote.

TOS

Nos cabeçalhos dos datagramas (parte do pacote) existe a propriedade (ou campo) onde escolhe-se a prioridade. O uso de prioridades em uma rede com vários computadores torna a conexão claramente mais rápida em serviços cruciais, enquanto outros serviços usam “a sobra” da banda.

No iptables, o TOS é usado como target (-j), seguido do parâmetro –set-tos com a prioridade definida.

Tipo de Prioridade TOS

Espera Mínima

0x10 ou 16

Máximo Processamento 0x08 ou 8
Máxima Confiança 0x04 ou 4
Custo Mínimo 0x02 ou 2
Prioridade Normal 0x00 ou 0

Conforme tabela acima, a Espera mínima tem a maior prioridade entre todos, e obviamente, a Prioriadade normal, a menor.

Exemplos de uso:

iptables -t (tabela) mangle -A (inclui regra) REGRA -j TOS (sempre em maiúsculo) –set-tos NumeroDaPrioridade

Colocando FTP em Prioridade “Máxima Confiança”:
iptables -t mangle -A PREROUTING -p tcp –dport 20:21 -j TOS –set-tos 4 (poderia ser 0x04)

Colocando prioridade Máximo Processamento em conexões na porta 22 (porta padrão do ssh)
iptables -t mangle -A PREROUTING -p tcp –dport 22 -j TOS –set-tos 8 poderia ser 0x08)

para ver as regras aplicadas, o processo é o mesmo:

iptables -t mangle -L

As opções de regra podem ser PREROUTING, POSTROUTING, OUTPUT, INPUT, FORWARD. Os detalhes de cada um já abordamos em capítulos anteriores.

TTL

A maneira de usar o TTL é basicamente a mesma do TOS, apenas mudando o -j para TTL e o –set-tos para –ttl-set NUMERO

Exemplo de uso:

iptables -t mangle -A POSTROUNTING -o eth1 -j TTL –ttl-set 32

O exemplo acima faria o TTL do pacote ficar 32 ao sair pelo iptables, independente do número que tenha entrado. Podemos somar ou subtrair o TTL, com as seguintes opções:

–ttl-set 32 –> Seta o TTL para 32
–ttl-dec 4 –> Dimiui 4 to TTL. Se entrou com 32, sairá com 28
–ttl-inc 4 –> Aumenta 4 do TTL. Se entrou com 32, sairá com 36

Bom pessoal, fico por aqui, espero que seja útil estta postagem. Até a próxima

Sobre Diego Duarte

Diego Duarte Atua como coordenador de NOC, toca um violãozinho nas horas vagas e tenta eternamente entender o que o fez escolher TI

Veja também!

Logs no Iptables – Parte III – fwlogwatch

Saudações leitores, dando continuidade ao nosso artigo sobre log no iptables, vamos falar agora do …

Este artigo lhe foi útil? comente e ajude outros acrescentando seu ponto de vista!