Configuração de rede Debian
Toda a configuração das interfaces de rede é armazenada em arquivos de texto simples em um único diretório chamado / etc / network. Este diretório contém vários arquivos e subdiretórios para cobrir a configuração de IPv4 e IPv6.
- interfaces e interfaces.d: configuração geral por interface
- if-down.d: scripts que são executados no caso de a interface cair
- if-post-down.d: scripts que são executados após a interface ser desativada
- if-up.d: scripts que são executados se a interface subir
- if-pre-up.d: scripts que são executados antes de a interface ser ativada
A configuração específica é feita por interface de rede. Você pode armazenar tudo isso em um único arquivo denominado interfaces ou como arquivos separados nas interfaces de diretório.d. Uma configuração IPv4 típica de um dispositivo portátil é mostrada abaixo. Consiste em uma interface de loopback (/ dev / lo)
, uma interface ethernet (/ dev / eth0)
, e uma interface sem fio (/ dev / wlan0)
. A linha 1 refere-se a incluir todos os scripts que são armazenados no diretório / etc / network / interfaces.d /
. As linhas 3 a 5 configuram / dev / lo
, linhas 7 a 9 / dev / eth0, e linha 11 a interface / dev / wlan0. Uma explicação detalhada para os comandos individuais é fornecida abaixo.
2
3 # A interface de rede de loopback
4 auto lo
5 iface lo inet loopback
6
7 # A interface de rede primária
8 allow-hotplug eth0
9 iface eth0 inet dhcp
10
11 iface wlan0 inet dhcp
Para outras versões ou distribuições Debian GNU / Linux baseadas nele, o arquivo "interfaces" pode parecer semelhante, mas com nomes diferentes para os dispositivos de rede. A partir do Debian 9 “estique” os nomes de rede antigos, como / dev / eth0, / dev / eth1
e / dev / wlan0
desapareceram porque o nome do dispositivo pode mudar. Os novos nomes são semelhantes a estes - / dev / enp6s0
, / dev / enp8s0
, / dev / enp0s31f6
, e / dev / enp5s0
[1]. Para as interfaces de rede disponíveis, dê uma olhada no arquivo “/ sys / class / net” - no nosso caso as interfaces são nomeadas / dev / lo
e / dev / enp0s3
.
A lista de interfaces de rede disponíveis:
A configuração para essas interfaces é a seguinte. A imagem abaixo é retirada de um Debian GNU / Linux 9.5.'
A configuração básica de rede em um Debian GNU / Linux 9.5:
Na próxima etapa, daremos uma olhada nas instruções individuais para configurar uma interface desejada.
Configuração de rede Debian em detalhes
Ativação automática de uma interface na inicialização
Na inicialização do seu sistema, os scripts de configuração passam pelos arquivos de configuração das interfaces de rede. Para ativar automaticamente uma interface, adicione a palavra-chave “auto” (abreviação de “allow-auto”) seguida do nome lógico da (s) interface (s). Os scripts de configuração irão chamar o comando “ifup -a” (abreviação de “-all”) que irá ativar as interfaces mencionadas. A linha a seguir trará a interface de loopback / dev / lo, apenas:
auto loAs interfaces de rede são apresentadas na ordem em que estão listadas. A linha a seguir traz / dev / lo seguido por / dev / wlan0 e / dev / eth0, eventualmente.
auto lo wlan0 eth0Ative uma interface se o cabo de rede estiver conectado
A palavra-chave “allow-hotplug” leva a um evento baseado em uma conexão física. A interface de rede nomeada é ativada assim que o cabo de rede é conectado e desativada assim que o cabo de rede é desconectado. A próxima linha demonstra isso para a interface Ethernet / dev / eth0 (semelhante à linha 8 da listagem 1).
allow-hotplug eth0Configuração de interface estática
Para se comunicar com outros computadores em uma rede, uma interface recebe um endereço IP. Este endereço é obtido dinamicamente (via DHCP) ou configurado de forma fixa (configuração estática). Portanto, a declaração da interface começa com a palavra-chave “iface” seguida pelo nome lógico da interface de rede, o tipo de conexão e o método usado para obter o endereço IP. O próximo exemplo mostra isso para a interface de rede / dev / eth0 com o endereço IPv4 estático 192.168.1.5.
iface eth0 inet estáticoendereço 192.168.1.5
máscara de rede 255.255.255.0
gateway 192.168.1.1
Após a declaração da interface, você é convidado a especificar uma série de opções (nome da opção entre colchetes). Isso inclui valores como o endereço IP (endereço), a máscara de rede (máscara de rede), o intervalo de transmissão (transmissão), a métrica de roteamento para o gateway padrão (métrica), o gateway padrão (gateway), o endereço do outro ponto de extremidade (pointtopoint), o endereço local do link (hwaddress), o tamanho do pacote (mtu), bem como o escopo de validade do endereço (escopo). O próximo exemplo mostra a configuração do IPv6 para a interface de rede / dev / enp0s3 [4].
iface enp0s3 inet6 staticendereço fd4e: a32c: 3873: 9e59: 0004 :: 254
máscara de rede 80
gateway fd4e: a32c: 3873: 9e59: 0004 :: 1
Configuração de interface dinâmica via DHCP
Conectar-se a redes diferentes requer flexibilidade. O Dynamic Host Control Protocol (DHCP) [5] torna esta flexibilidade possível e os scripts de rede atribuem o endereço IP à interface de rede que é entregue pelo servidor DHCP. A linha a seguir demonstra isso para a interface wlan chamada / dev / wlan0:
iface wlan0 inet dhcp#Para IPv6, use esta linha:
iface wlan0 inet6 dhcp
Semelhante à configuração estática acima, várias opções podem ser definidas. Essas opções dependem de sua configuração de DHCP. Entre outros, a lista inclui o nome do host a ser solicitado (nome do host), a métrica para rotas adicionadas (métrica), o tempo de aluguel preferido em horas ou segundos (leasehours, leasetime), o identificador do cliente (cliente) ou o endereço de hardware (hwaddress ).
Outras opções
O arquivo de configuração / etc / interfaces também permite configurações para o protocolo Bootstrap (BOOTP) [6] (bootp), PPP (ppp), bem como IPX [7].
Mostrando a configuração da interface
Até a versão 8 do Debian GNU / Linux use o comando “/ sbin / ifconfig” para exibir a configuração da interface. Veja a configuração da primeira interface ethernet abaixo.
Configuração de interface usando ifconfig:
A partir da versão 9 em diante, o comando “ifconfig” não está mais pré-instalado e foi substituído por seu predecessor “ip”. Use o comando “ip addr show”, em vez.
Configuração de interface usando ip:
Ativando e desativando uma interface
Como já descrito acima, a opção “auto” habilita uma interface na inicialização, automaticamente. Existem dois comandos para ativar e desativar uma interface, manualmente. Até o Debian 8, use “ifconfig eth0 up” ou “ifup eth0” para habilitar a interface. No Debian 9, use “ifup eth0”, apenas. As contrapartes são “ifconfig eth0 down” e “ifdown eth0”. A imagem abaixo mostra a saída padrão ao habilitar uma interface.
Ativação da interface usando ifup:
Adicionando mais opções
É possível adicionar outras ações no caso de uma interface ser ativada ou desativada. Esses scripts são chamados de scripts if-pre-up e if-post-down e entram em ação antes de ativar e depois de desativar uma interface.
O próximo exemplo demonstra isso em combinação com um firewall que está ativo caso a interface também esteja ativa. Na linha 3 o script / usr / local / sbin / firewall-enable.sh é chamado antes de a interface ser ativada (daí a tag “pre-up”, e na linha 4 o script “/ usr / local / sbin / firewall-disable.sh ”é chamado depois que a interface é desativada.
1 allow-hotplug eth02 iface eth0 inet dhcp
3 pré-up / usr / local / sbin / firewall-enable.sh
4 pós-down / usr / local / sbin / firewall-disable.sh
Conclusão
A configuração básica das interfaces de rede no Debian GNU / Linux é comparável fácil - algumas linhas de código, e está feito. Para obter mais informações sobre opções adicionais, você pode dar uma olhada nos recursos fornecidos abaixo.
Links e referências
[1] Debian Wiki, configuração de rede
[2] IPv4, Wikipedia
[3] IPv6, Wikipedia
[4] Debian Static Ip IPv4 e IPv6
[5] Protocolo de controle de host dinâmico (DHCP), Wikipedia
[6] Protocolo Bootstrap (BOOTP), Wikipedia
[7] Internetwork Packet Exchange (IPX), Wikipedia
Obrigado
O autor gostaria de agradecer a Axel Beckert por sua ajuda e comentários críticos durante a preparação deste artigo.