Configurando interface de rede no Debian 10/11/12

Neste tutorial vamos aprender a configurar nossas interfaces de rede no Debian e estar pensando um pouco mais para fazer uma boa escolha na hora de realizar suas configurações.

Antes de mais nada você precisa saber o que você quer!? Qual será o cenário!? Vejo muitas pessoas cometerem um desastre nos dias hoje quando se trata em colocar um simples IP público em um servidor. E por isso escrevo este “artigo” meio que tutorial.

No Debian você pode configurar os endereços IPs bem como algumas regras no arquivo /etc/network/interfaces, irei levar como base uma instalação recém-feita:

Instalação do Debian 12 bookworm
Instalação do Debian 11 Bullseye
Instalação do Debian 10 Buster

Irei usar o editor nano que é o que já vem instalado, mas você pode usar o editor de sua escolha.

Se em sua instalação você informou o endereço IPv4 seu arquivo será algo como este, ressaltando que enp0s3 é o nome da interface, e ela pode ser outra.

Alterar DNS

Por mais que vimos dns-nameserver nesta parte da configuração de rede, o servidor não irá usa-los, o arquivo qual será levado em conta é o /etc/resolv.conf

Se sua instalação foi feita com DHCP ativo, sua configuração será:

E ai, o que queremos ?

Planejar, é claro! Se você esta montando seu data center onde terá vários servidores, o que será melhor adorar? Quebrar um prefixo /30 para cada servidor que eu for implementar? NÃO!. Quer me ver com os olhos sangrando é ver alguém que tem vários servidores e para cada servidor o mesmo quebrou um /30 público. Pense comigo você tem 2 servidores você precisa 2 IPs, se você quebrou 2 /30 você terá sim seus 2 IPs públicos mas você acabou de jogar no LIXO outros 6 endereços IPs, e nos dias de hoje 1 único IP publico é quase como o ditado: Em terra de cego, quem tem um olho é rei?

Então o que fazer, o mais sensato é você pensar e quebrar um prefixo maior para que você não precise estar quebrando prefixos a cada servidor. Antes de mais nada imagine onde você quer chegar! Quantos servidores irá montar, quantos IPs publicos e privados irá precisar… Sempre que dou uma consultoria essa é a primeira coisa faço, “sento” com o cliente e estudo. E com base neste estudo reservamos já um/dois prefixo /29, /28 ou 27 até mesmo um /24 público/privado, vai depender muito de cada cenário, se meu cliente tem milhares de hospedagem com certeza o número de servidores em seu data center é enorme.

Outro grande erro em servidores é o NAT mal aplicado! Muitas pessoas principalmente pessoal de provedor ainda tem costume de colocar em seu Mikrotik de borda um belo NAT para fornecer internet a um servidor, ou apenas para fazer um redirecionamento de portas. Quando aplicamos regras de NAT em um roteadores causamos muitos malefícios para o bichinho! Então vamos para de fazer isso? Vou lhe ajudar!

É claro que isso é muito relativo de cada empresa, já fiz NAT com borda? Já! Depende do tamanho da empresa e organização de cada um. Então não leve ao pé da letra! Estou tentando lhe dizer o que é o melhor a ser feito!

Já fui criticado por pedir para cliente comprar uma roteador para ser apenas o gateway dos servidores. “Rudimar é louco”. E eu digo: Mais louco é quem faz NAT em roteador de borda! . Em alguns casos eu recomendo um router para ligar os servidores, pois você pode ter diversos recursos na manga, e basta você fechar um iBGP/OSPF entre seu roteador de borda com seu roteador “data”.

Exemplos

Receber IP via DHCP

O mais simples a ser feito quando seu servidor ira receber IP automaticamente.

Fixando IPv4 e IPv6

Basicamente o que iremos usar em 95% das vezes

Adicionando Multiplos IPs

Quando quiser mais de um IP no mesmo servidor, caso for outras interfaces basta ajustar para o nome da interface

IP na Loopback

Você pode usar quando estiver roteando um IP (OSFP/iBGP), exemplo com FRR, porém neste caso estaria fazendo a adição dos IPs pelo próprio FRR.
Mas se você fará algum tipo de rota estática com intuito exemplo de fazer ECMP (Equal Cost Multi-Path), é importante que os IPs de anycast estejam na interface de loopback para que não tenha conflito.

Ponto a ponto – Pointopoint

Aqui muitos ficam bugado, no meu cenário perceba que temos um servidor conectado ao roteador de borda, agora imagine, que neste roteador de borda não tem nenhum IP público por politicas de segurança, mas ai vem o estagiário e e te diz: Vamos quebrar um /30 pub! Então saiba que você não precisa fazer isso, você pode adicionar um IP ponto a ponto, onde temos IP diferente dos dois lados, então como no exemplo a baixo podemos add no nosso roteador de borda 10.50.50.1 e no nosso servidor 200.200.200.0.

Isso funciona? É claro! E você não irá precisar deixar seu roteador de borda com IP público acessível pelo mundo, e muito menos fazer um NAT! Como sou bonzinho vou deixar aqui como você configuraria isso no seu Mikrotikão! Ficaria assim:

Simples não?! Testa ai! Depois me conta!

Privado com saída em origem Público

Quase que como o exemplo do pointopoint, porem em alguns roteadores não temos o suporte para fazer pointopoint, uma saída é você quebrar um prefixo privado (estou usando /30, mas se tivesses vários servidores junto faria já um prefixo maior). No exemplo então meu IP público é o 200.200.200.200/32 qual irei colocar na mesma interface da WAN que tenho o 10.33.33.2/30, logo o roteador é o 10.33.33.1. Desta forma você tem uma conversa entre as interfaces por IP privado, porem os pacotes são originados com o endereço de IP público.

Mas ai temos um problema, seu servidor irá gerar os pacotes de origem publico, e irá enviar para internet, mas quando o pacote estiver voltando ao chegar em seu roteador de borda é necessário que você tenha uma rotá para o mesmo. Então crie um rota estática dizendo que Destino 200.200.200.200 o gateway é 10.33.33.2 IP este do seu servidor. Ex.:
Exemplo RouterOS:

É possível fazer isso para IPv6 também? É claro!

Exemplo RouterOS:

Criando VLAN e adicionado IP nela

Para adicionar um IP a uma VLAN precisamos carregar o módulo 8021q, e coloca-lo para iniciar com sistema.

Agora basta editar sua interface e incluir um ponto e o numero da VLAN. No exemplo VLAN 171

PBR – Roteamento baseado em políticas

Eu particularmente uso em Accel-ppp para separar o trafego de IPs publicos de Privados, direcionando apenas os IPs de NAT para a caixa do CGNAT. É necessário criar uma nova tabela de rotas, irei chamar de cgnat no exemplo.

Fecho um /30 entre router e servidor e digo que todos os IPs que 100.64.0.0./10 deve sair pela tabela de rotas com o CGNAT.

Blackhole

Normalmente útil em casos que você usa seu servidor como roteador. Você irá colocar após as configurações da interface o post-up passando o prefixo ou ip qual irá subir em blackhole

Agregação

Instalar o ifenslave: Este pacote permite configurar a agregação de portas no Linux.

Carregar o Módulo de Bonding

Verificar se o módulo foi carregado corretamente:

802.3ad (LACP): Ideal para aumentar a largura de banda e fornecer redundância quando conectado a um switch que suporta LACP.
balance-xor: Útil para balanceamento de carga baseado em XOR, adequado para ambientes que não suportam LACP.
balance-rr (Round Robin): Simples e eficaz para cargas de trabalho que exigem balanceamento de carga sem configuração específica do switch.
active-backup: Fornece redundância sem aumento de largura de banda, útil quando a continuidade do serviço é mais crítica do que a capacidade.
balance-tlb (Transmit Load Balancing) e balance-alb (Adaptive Load Balancing): Ambos são bons para ambientes onde a configuração do switch não pode ser alterada ou não suporta LACP. O ALB também tenta balancear o tráfego de entrada.

Aqui estão exemplos para vários modos de bonding

802.3ad (LACP)

Aplicação: Ideal para ambientes de alta disponibilidade e alta largura de banda, como data centers ou servidores que precisam de conexões robustas e de alta capacidade. É necessário que ambos os lados (o Debian e o switch/router) suportem LACP.

Balance-xor

Aplicação: Bom para ambientes onde o tráfego de rede tem padrões conhecidos que podem ser distribuídos de forma eficaz usando XOR. Pode ser usado para melhorar o desempenho quando LACP não é suportado.

Balance-rr (Round Robin)

Aplicação: Simples e eficaz para distribuir cargas de forma equitativa sobre as interfaces físicas. Útil em ambientes onde a ordem de chegada dos pacotes não é crítica.

Active-backup

Aplicação: Ideal para redundância sem aumentar a largura de banda. Se a interface primária falhar, outra assumirá. Recomendado para serviços críticos que precisam de alta disponibilidade mais do que de alta capacidade.

Balance-tlb (Transmit Load Balancing)

Aplicação: Útil quando a modificação de configuração do switch não é possível. Realiza o balanceamento de carga de saída de acordo com a carga atual de cada interface. Não requer suporte específico do switch.

Balance-alb (Adaptive Load Balancing)

Aplicação: Similar ao balance-tlb, mas também tenta balancear o tráfego de entrada, o que pode ser útil em servidores web ou de aplicativos. Essa modalidade não requer configuração especial do switch.

Reiniciar o sistema para aplicar as alterações:

Verificar o status do serviço de rede para garantir que não houve erros, e a configuração de bonding.

Considerações finais

Sempre que editar o arquivo /etc/network/interfaces para que as configurações sejam carregadas será necessário reiniciar seu servidor, você até pode subir a interface com auto ao invés de allow-hotplug, mas não irei abordar aqui.

Caso você queira adicionar/remover IPs manualmente (em memória/perde ao reiniciar) você pode usar o comando ip, segue exemplo, onde enp0s3 é o nome da interface.
Adicionar:

Visualizar:

Remover:

Exibe interfaces / Endereços IPs

Exibir informações sobre todas as interfaces de rede:

Exibir informações sobre todas as interfaces de rede IPv4:

Exibir informações sobre todas as interfaces de rede IPv6:

Exibir informações sobre uma interface de rede específica:

Mostrar apenas interfaces em execução

Adicionar um endereço IPv4/IPv6:

Remover endereço IP

Desligando a interface

Ligando a interface

Ajusda

Comandos antigos X Novo comando

Espero ter colaborado com uma pequena parcela em seu conhecimento! Desculpa o português e as palavras faltando letras, é difícil conseguir tempo para vir aqui escrever e revisar, então abro meu “bloco de notas” e vou escrevendo…

Curtiu o conteúdo? Quer me ajudar manter o blog? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Participe do canal no telegram para ficar atualizado sempre que publicar um novo tutorial.

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

16 Resultados

  1. jadson disse:

    como faria para fazer com que o linux funcionasse com vlan indo de a para b sem ter ip no linux? como um switch tem o tutorial ai??

  2. Elias Gleer disse:

    Sigo seu blog a muito tempo e esse tutorial aqui foi pra um nível absurdo de informação.
    Muito obrigado por compartilhar tanto conhecimento útil para comunidade Open

  3. Meus parabens por manter esse blog repleto de conhecimento didatico e pratico, fico meuito feliz e ver que voce tem toda uma dedicação em passar conhecimento.
    Seguindo esses encinametos e possivel aprender e resolver alguns problemas que nos aparecem no decorrer do caminho, mas gostaria muito se voce pudesse fazer o mesmo com o modo (AUTO) do debian.

  4. Antonio Carlos S. Júnior disse:

    Boa tarde! Fui obrigado a instalar o Debiam 11, em decorrência de um software de automação, minha experiencia é com o OpenSuse. Deu para ver que vc entende do assunto, assim sendo, se possível, que vc me indique um link para eu resolver o seguinte:
    Tenho um ip fixo e duas placas de rede, tenho um dominio na FAPESP, preciso configurar o bind9 e as duas placas de rede com ipv4 fixo, eth0 e eth1. No Suse sei como se faz, mas no Debian é diferente, os arquivos estão em outros lugares. Já alterei para o processo antigo, eth0, eth1,… No Suse configuro o DNS em dois diretórios: /etc/named.conf e /var/lib/named. Você poderia me indicar algum link onde eu possa resolver isto? obrigado!!

  5. ronniel disse:

    muito top..

  6. Paulo disse:

    Fiz o esquema do pointopoint funcionou top demais.
    Sabia fazer no MikroTik, mas faltava aprender fazer isso no GNU/Linux.
    Muito obrigado por compartilhar este conhecimento!

  7. Carvalho (ppcarvalhof) disse:

    Saberia me dizer se é possível, num servidor Linux (sou fã dos Debian), configurar somente o hostID estaticamente e manter o networkID do v6? Por exemplo, configurar a interface ens192 com o hostID ::c0ca/64 e, via SLAAC essa máquina “pegar” o 2001:db8:171::/64 e gerar o endereço 2001:db8:171::c0ca…

    E em relação a usar um /32 na loopback e, fazer um NAT no próprio servidor quando a conexão for para a Internet?

    Obrigado pelo post e pelo site!

  8. diego disse:

    point to point top.
    vou testar

  1. 9 de novembro de 2021

    […] obrigatória: Configurando interface de rede no Debian 11 Como melhorar a produtividade no seu Debian após […]

  2. 16 de fevereiro de 2022

    […] muito de aplicar em servidores é a seguinte (falo muito de como configurar interface de redes nesse tutorial, recomento uma […]

  3. 8 de fevereiro de 2023

    […] como: eth0 eth1… wlan0 wlan1… faça um ajuste no grub: OBS: Será necessário que você reconfigure a placa de rede […]

  4. 1 de junho de 2023

    […] muito de aplicar em servidores é a seguinte (falo muito de como configurar interface de redes nesse tutorial, recomendo uma […]

  5. 6 de junho de 2023

    […] recomendada: Configurando interface de rede no Debian 11 Como melhorar a produtividade no seu Debian após […]

  6. 6 de fevereiro de 2024

    […] Pointopoint (Ponto a ponto) assim utilizando de apenas um endereço IP público, você pode (deve) ler este tutorial para conhecer varias possibilidades de configuração de rede pensa em como economizar endereços […]

  7. 10 de abril de 2024

    […] Leitura recomendada: Configurando interface de rede no Debian […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *