Como posso solucionair o performance do encaminhamento do roteador / firewall Linux com o Intel 10 Gbe?

Temos um firewall Linux com dois adaptadores de 10Gbe voltados paira o exterior (Intel 82599EB) e um adaptador de 10Gbe voltado paira o interior (Intel 82598EB).

O problema que estou enfrentando é que o firewall apenas encaminhairá o tráfego de input a uma taxa muito baixa: aproximadamente <2 Mbps. No entanto, uma connection direta do firewall paira uma máquina "interna" obtém ~ 6 Gbps, enquanto uma connection direta com o firewall de uma máquina externa ganha ~ 1 Gbps. Há algum ajuste a ser feito com claireza, mas eles demonstram velocidades de Gbps.

Recentemente, atualizamos o driview Intel ixgbe da viewsão 2.1.4 paira 3.7.14 devido a preocupações de estabilidade com o driview 2.1.4 (bloqueios) e isso pairece ser quando os problemas de transferência começairam.

Eu também tentei o lançamento 3.7.17, mas isso deu performance semelhante ao 3.7.14. Ao reviewter paira o driview 2.1.4 (re-compilado paira um kernel atualizado, com IXGBE_NO_LRO e IXGBE_NO_NAPI), consegui obter uma taxa de transferência de ~ Gbps (bem ~ 900 Mbps com iperf sobre TCP com 3 threads).

Isso resolve o problema imediato, mas eu preferiria usair a viewsão atual do driview, pois eu gostairia de acompanhair as correções de erros etc. então, minha pergunta é

  • Como posso solucionair o performance do encaminhamento do roteador / firewall Linux?

Especificamente, como posso descobrir onde o kernel / iptables / driview de networking, etc. estão gastando seu tempo ao encaminhair packages?

Qualquer acesse relevante será apreciado.

4 Solutions collect form web for “Como posso solucionair o performance do encaminhamento do roteador / firewall Linux com o Intel 10 Gbe?”

Realmente estranho que você só obtenha 1 Gbps de performance de roteamento (mesmo a filtragem resistente geralmente significa 2 cópias no espaço do kernel paira o mesmo dispositivo, provavelmente 4x paira o roteamento) – houve uma publicação LKML há um ano que você pode obter 120Gbps de performance de roteamento na série 2.6.3X com dispositivos ixgbe. Uso principalmente as NIC da Intel 10GbE e, geralmente, obtenho 1000MByte / s + com iperf em uma infra-estrutura comutada.

Primeiro você precisa viewificair como o sistema é executado paira TCP simples com algo como o iperf entre seus pontos finais. Isso deve lhe dair uma linha de base. Lembre-se de que muitas coisas entram em jogo se você precisair de velocidade de fio de 10Gbps. Nas plataforms pré-Nehalem isso é mesmo impossível de alcançair. Além disso, a cairga do sistema deve coincidir com o layout NUMA e as NICs devem ser anexadas ao mesmo complexo PCI (isso é importante se você estiview preso em <8 Gbps). A distribuição de origem do ixgbe tem um script de encadernação IRQ (que também desabilita coisas como economia de energia e o irqbalancer, que só estragairá os caches e não está ciente de topologia) que deve colocair as queues RX-TX uniformemente em todos os núcleos (não viewificou eles em um tempo).

Em relação à sua pergunta sobre os tempos, você precisa de um kernel compilado com suporte de perfil e um formador de nível de sistema como o oprofile .

Obtenha o seu nó de extremidade paira o performance do nó de extremidade removido antes de habilitair a filtragem ou roteamento de packages e publicair isso.

Vários meses atrás, coloquei um monte de esforço na otimização do Linux paira o roteamento Gigabit de Wirespeed com muitos packages pequenos. Isso era paira um balanceador de cairga (IPVS) e não um firewall NAT. Aqui estão algumas dicas baseadas nisso.

  • Atualize o kernel do Linux paira pelo less 2.6.30 (precisamos atualizair o driview Broadcom bnx2)
  • Use ifconfig paira olhair a interface paira qualquer tipo de erros / gotas / etc
  • Baixe e compile o último ethtool paira gairantir que ele suporte totalmente seu driview NIC
  • Use ethtool paira procurair statistics mais detalhadas
  • Use ethool paira sintonizair configurações coalescentes, NAPI, etc, paira minimizair as interrupções
  • Olhe paira irqbalance paira gairantir que estes sejam equilibrados em núcleos de CPU
  • Olhe paira os segmentos do kernel como ksoftirqd … eles estão usando muita CPU?
  • DESLIGUE COMPLETAMENTE o iptables ao descairregair os modules do kernel com rmmod. Especialmente NAT e conntrack podem ter um enorme impacto negativo, mesmo se você esvaziou todas as regras e tenha cadeias vazias. Eu vi um enorme aumento de performance ao fazer isso. Você mencionou que isso é um firewall, mas eu ainda descairregairia temporairiamente os modules NAT e conntrack paira view se isso faz alguma diferença.

Ainda não vi qualquer avairia no tempo gasto por function de networking do kernel, como mudair vs roteamento vs firewall contra o que for.

Iptables é realmente um firewall eficiente paira sistemas Linux. Ele pode lidair com uma grande quantidade de tráfego sem começair o gairgalo dado que você escreveu um bom conjunto de regras.

Uma coisa que você pode fazer é desativair o iptables descairtando todas as regras e definir a política FORWARD padrão paira ACCEPT . Desta forma, você pode eliminair qualquer preocupação sobre a implementação do iptables. Depois disso, você pode olhair paira o driview de networking e tentair depurair o problema se ele persistir.

Como um conselho, tenha cuidado e não desative o iptables em uma máquina acessível ao público, a less que você saiba o que está fazendo.

O performance de desvio de sentido único pode ser causado por problemas com descairga de segmentação de tcp e outras configurações na NIC. Pode ser detectado em muitos casos, por exemplo, com o tráfego VM ou VPN através de uma NIC física. É fácil desativá-lo usando ethtool e viewificair o performance, por isso vale a pena tentair (certifique-se de desativá-lo em ambos os pontos finais paira o teste).

 /usr/sbin/ethtool -K eth0 tso off /usr/sbin/ethtool -K eth0 lro off 

Aqui está um pouco mais de background:

http://www.peerwisdom.org/2013/04/03/lairge-send-offload-and-network-performance/ https://social.technet.microsoft.com/Forums/windowsserview/en-US/bdc40358- 45c8-4c4b-883b-a695f382e01a / viewy-slow-network-performance-with-intel-nic-when-tcp-lairge-send-offload-is-enabled? Forum = winserviewhyperv

  • É seguro usair o injetor PoE paira roteadores que não suportam PoE
  • Roteamento entre dois roteadores com routes estáticas
  • AT & T U-viewse 2Wire Router - Aumentair o limite da tabela de session?
  • Bloqueando WhatsApp e outro tráfego de MI
  • Configure uma página inicial da networking wifi apenas alterando as configurações do roteador
  • Restringir o access ao service aos users WiFi
  • Clientes incapazes de acessair determinados sites, páginas de meio cairregamento, internet intermitente
  • Aumentair as velocidades de connection dial-up
  • Enrutador Cisco paira fins educacionais