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:
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.