Como usar os iptables classificados

Como usar os iptables classificados
O IPTables Classify permite que os administradores gerenciem o tráfego de rede alocando a quantidade desejada de recursos de largura de banda para um tipo específico de tráfego, definido arbitrariamente.
Ao implementar a classificação IPTABLES, você pode atribuir largura de banda de download/upload específica a um tipo específico de pacotes, fontes/destinos, portas, etc.

Por exemplo, ao implementar o IPTables Classify, você pode priorizar sua largura de banda para conferências de zoom, jogos, etc., enquanto limita a largura de banda para redes sociais, torrent, etc.

Esse recurso iptables não está relacionado à segurança, mas à QoS (qualidade do serviço), que é o desempenho da largura de banda que afeta a experiência do usuário.

O IPTables Classify pode ser aplicado apenas com a cadeia pós -truta. Se você não sabe o que é pós -truta, provavelmente pode ler este tutorial iptables antes de continuar com este artigo.

Por que usar os iptables classificar

Por padrão, o tráfego da Internet é organizado de acordo com a política geral da FIFO (primeiro em, primeiro a sair). FIFO significa que o primeiro pacote que chegar será o primeiro a ser respondido, o segundo pacote que chegou será o segundo a ser respondido, e o pacote mais antigo que chega será o último a ser respondido.

Por exemplo, se você receber pacotes fragmentados pertencentes a videoconferências, jogos, e -mails e redes sociais simultaneamente, seu sistema responderá de acordo com o pedido de chegada.
Esse comportamento é justo e permite que a Internet funcione corretamente, mas o FIFO pode ser um problema regular em nível interno, e você pode regular -o usando iptables. Você pode definir, por exemplo, que o tráfego de videoconferência ou jogo terá prioridade sobre e -mails ou tráfego P2P.

FIFO é um exemplo de um básico qdisc (disciplina na fila). Você pode pensar no QDISC como um implementador de políticas anexado a um dispositivo de rede, definindo a ordem em que os pacotes passarão para o dispositivo de rede. Nossos comandos neste tutorial começarão modificando a disciplina de filas (QSIC).

QoS (qualidade de serviço) pode ser gerenciado a partir do kernel usando o tc (Controle de tráfego ou filas avançados) Utilidade, mas esse recurso está sem estado, enquanto os iptables podem fornecer recursos complexos de estado. De qualquer forma, a classificação IPTABLES precisa ser implementada com TC e QDISC, a funcionalidade que permite que você distribua ou limite a largura de banda de acordo com seus próprios critérios.

Como usar os iptables classificados

Antes de começar com a classificação iptables, precisamos criar o níveis ou tráfego Tipos para classificar para iptables.

Com o comando abaixo, modificaremos a disciplina de fila para o dispositivo de rede nomeado ENP2S0. Isso é aplicado para tráfego de saída (root), mas como suas respostas de tráfego priorizado primeiro, elas serão respondidas e baixadas primeiro. Ao adiar determinados tráfego de saída, ele será baixado mais lento porque chegará tarde ao destino.

tc qdisc add alça de raiz dev eNP2S0 1: HTB Padrão 13

O comando acima explicou:

  • TC QDISC: Executamos TC para modificar a disciplina de filas (qdisc).
  • Adicione Dev : Aqui, anexamos o QDISC a um dispositivo de rede específico; Nesse caso, minha placa de rede é ENP2S0.
  • Raiz: Tráfego de saída.
  • manuseio 1: O formato desta seção pode ser “Manuseie 1:13”Onde o menor (1) é a classe, e 13 é a alça. Isso cria classe 1 e nível 13 para dividir a largura de banda na seguinte etapa.
  • HTB: HTB (balde hierárquico de token) é usado para controlar a próxima largura de banda, simulando diferentes links mais lentos em vez do seu link físico real e rápido. Com esta opção, dizemos ao sistema que dividiremos nosso vínculo físico entre vários links simulados. Em seguida, definiremos os parâmetros da divisão com iptables.
  • padrão 13: Como dito anteriormente, o lidar poderia ser definido como "manuseio 1:13", não o fizemos porque o estabelecemos no final do comando o nível 13 como padrão.

As linhas abaixo adicionam a classe, níveis e definem a alocação de largura de banda para cada.

Como você pode ver, esses pacotes vamos sinalizar como 1:10 com iptables desfrutarão de 50 mais de 50 Mbits de largura de banda disponíveis.
Os pacotes classificados como 1:11 terão até 30 MBITs, mas se não houver tráfego concorrente e a largura de banda for gratuita, eles podem escalar para até 50 Mbits velocidade.
1:12 Os pacotes podem usar até 10Mbit quando o tráfego está sendo usado, mas se não houver outro tráfego, sua velocidade pode aumentar até 20 Mbits.
Finalmente, os pacotes classificados como 1:13 sempre terão até 5Mbit, independentemente de o tráfego adicional precisa da largura de banda.

TC Class Add dev ENP2S0 Pai 1: ClassID 1: 1 HTB Taxa de 50 Mbit CEIL 50MBIT
TC CLASS ADD DEV ENP2S0 pai 1: ClassID 1:10 HTB Taxa 50Mbit CEIL 50MBIT PRIO 0
TC CLASS ADD DEV ENP2S0 PRESIONAL 1: CLASSID 1:11 HTB Taxa 30Mbit CEIL 50MBIT PRIO 1
TC Class Add dev ENP2S0 Pai 1: ClassID 1:12 Taxa HTB 10Mbit CEIL 20MBIT PRIO 2
TC Class Add dev ENP2S0 Pai 1: ClassID 1:13 Taxa HTB 5Mbit Ceil 5Mbit PRIO 3

Por isso, definimos alguns níveis e agora precisamos aplicá -los usando iptables. As linhas acima devem ser salvas como scripts e executadas antes de executar suas regras iptables.

No primeiro exemplo, usarei iptables para priorizar as conexões SSH e as transferências de arquivos SCP classificando a porta 22 como 1:10. Isso significa que as conexões SSH ou SCP desfrutarão da velocidade máxima, conforme definido anteriormente (50/50).

sudo iptables -t mangle -a pós -touting -o enp2s0 -p tcp -sport 22 -j classify - -set -class 1:10

Agora, digamos que, quando você está transferindo grandes arquivos SCP, você não deseja que o tráfego da Web competam pela largura de banda de 50 MB; Você define, quando há tráfego SCP, o tráfego HTTP tem menos prioridade, com um máximo de 30 MB. Ele pode atingir 50 MB apenas se não houver outro tráfego concorrente. A linha a seguir faz isso classificando os pacotes HTTP como 1:11.

iptables -t mangle -a pós -touting -o enp2s0 -p tcp -sport 80 -j classify - -set -class 1:11

E agora, para o exemplo a seguir, vamos supor, por algum motivo, você só deseja permitir até 5 MB para o tráfego FTP, independentemente se houver tráfego adicional, a regra iptables deve ser:

iptables -t mangle -a pós -touting -o enp2s0 -p tcp -sport 21 -j classify - -set -class 1:13

Existe uma extensão de netfilter para a camada7, que você pode baixar e adicionar ao seu kernel. L7 permite classificar o tráfego da camada 7, o que significa que você pode classificar o tráfego por aplicativos.

Você pode baixar o L7 de https: // sourceforge.NET/Projects/L7-Filter/Arquivos/.

Por exemplo, o comando para limitar o tráfego de torrent usando L7 é o seguinte.

iptables -t mangle -a pós -touting -m camada7 - -l7proto bittorrent -j classify - -set -class 1:13

Como você pode ver, a classificação iptables é um ótimo recurso que pode melhorar sua qualidade de vida se você tiver recursos limitados ou demanda exclusiva de largura de banda.

Conclusão:

O IPTables Classify é um excelente método para aumentar o desempenho da sua rede. É excelente para empresas e uso doméstico. Os usuários domésticos podem priorizar suas TVs inteligentes ou consoles de jogos em computadores ou vice -versa. Parece especialmente útil para redes que permitem aos hóspedes ou no escritório impedir comportamentos indesejados. No nível técnico, classificar a sintaxe iptables é bem simples.

Espero que este tutorial explique como usar o IPTABLES CLASIFY foi útil. Continue nos seguindo para tutoriais e dicas adicionais do Linux.