9.2. Configuração Geral da Rede de Comunicação

Esta seção somente se aplica se uma placa de rede de comunicação for para ser configurada.

9.2.1. Arquivos de Configuração da Interface da Rede de Comunicação

Iniciando com a versão 209, o systemd embarca um processo de segundo plano de configuração da rede de comunicação chamado systemd-networkd o qual pode ser usado para configuração básica da rede de comunicação. Adicionalmente, desde a versão 213, resolução de nome DNS pode ser lidada por systemd-resolved no lugar de um arquivo estático /etc/resolv.conf. Ambos os serviços são habilitados por padrão.

[Nota]

Nota

Se você não usará o systemd-networkd para configuração da rede de comunicação (por exemplo, quando o sistema não estiver conectado à rede de comunicação ou você desejar usar outro utilitário, como o NetworkManager para configuração da rede de comunicação), [então] desabilite um serviço para evitar uma mensagem de erro durante a inicialização:

systemctl disable systemd-networkd-wait-online

Arquivos de configuração para "systemd-networkd" (e "systemd-resolved") podem ser colocados em "/usr/lib/systemd/network" ou "/etc/systemd/network". Arquivos em "/etc/systemd/network" tem uma prioridade mais alta que aqueles em "/usr/lib/systemd/network". Existem três tipos de arquivos de configuração: arquivos ".link", ".netdev" e ".network". Para descrições detalhadas e conteúdo de exemplo desses arquivos de configuração, consultem-se as páginas de manual "systemd-link(5)", "systemd-netdev(5)" e "systemd-network(5)".

9.2.1.1. Nomeando Dispositivo da Rede de Comunicação

O Udev normalmente atribui nomes de interface da placa de rede de comunicação baseados em características físicas do sistema, tais como enp2s1. Se não tiver certeza acerca do que é o nome da sua interface, [então] você sempre pode executar ip link depois que tiver inicializado seu sistema.

[Nota]

Nota

Os nomes de interface dependem da implementação e configuração do processo de segundo plano Udev em execução no sistema. O processo de segundo plano Udev para o LFS (systemd-udevd, instalado na Seção 8.76, “Systemd-256.4”), não executará, a menos que o sistema LFS seja inicializado. Assim, não é confiável determinar os nomes de interface sendo usados no sistema LFS executando aqueles comandos na distribuição anfitriã, mesmo que você esteja no ambiente chroot.

Para a maioria dos sistemas, existe somente uma interface de rede de comunicação para cada tipo de conexão. Por exemplo, o nome clássico de interface para uma conexão com fios é eth0. Uma conexão sem fios usualmente terá o nome wifi0 ou wlan0.

Se você preferir usar os nomes clássicos ou personalizados da interface de rede de comunicação, [então] existem três caminhos alternativos para fazer isso:

  • Mascarar o arquivo .link do Udev para a política padrão:

    ln -s /dev/null /etc/systemd/network/99-default.link
  • Criar um esquema manual de nomenclatura, por exemplo nomeando as interfaces com alguma coisa como "internet0", "dmz0" ou "lan0". Para fazer isso, crie arquivos ".link" em "/etc/systemd/network/" que selecionem um nome explícito ou um esquema melhor de nomenclatura para as tuas interfaces de rede de comunicação. Por exemplo:

    cat > /etc/systemd/network/10-ether0.link << "EOF"
    [Match]
    # Muda o endereço MAC conforme apropriado para o seu dispositivo de rede de comunicação
    MACAddress=12:34:45:78:90:AB
    
    [Link]
    Name=ether0
    EOF

    Veja-se "systemd.link(5)" para mais informações.

  • Em "/boot/grub/grub.cfg", passe a opção "net.ifnames=0" na linha de comando do núcleo.

9.2.1.2. Configuração de IP Estático

O comando abaixo cria um arquivo básico de configuração para uma configuração de IP Estático (usando ambos systemd-networkd e systemd-resolved):

cat > /etc/systemd/network/10-eth-static.network << "EOF"
[Match]
Name=<nome-dispositivo-rede-de-comunicação>

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Seu Nome de Domínio>
EOF

Múltiplas entradas de DNS podem ser adicionadas se você tiver mais que um servidor de DNS. Não inclua entradas de DNS ou de Domínios se você pretende usar um arquivo estático /etc/resolv.conf.

9.2.1.3. Configuração do DHCP

O comando abaixo cria um arquivo básico de configuração para uma configuração de IPv4 do DHCP:

cat > /etc/systemd/network/10-eth-dhcp.network << "EOF"
[Match]
Name=<nome-dispositivo-rede-de-comunicação>

[Network]
DHCP=ipv4

[DHCP]
UseDomains=true
EOF

9.2.2. Criando o Arquivo /etc/resolv.conf

Se o sistema será conectado à Internet, [então] ele precisará de alguns meios de resolução de nome do Domain Name Service (DNS) para resolver nomes de domínio da Internet para endereços de IP e vice versa. Isso é melhor alcançado colocando-se o endereço de IP do servidor de DNS, disponível a partir do ISP ou do(a) administrador(a) da rede de comunicação, no /etc/resolv.conf.

9.2.2.1. Configuração do systemd-resolved

[Nota]

Nota

Se usar métodos incompatíveis com systemd-resolved para configurar suas interfaces da rede de comunicação (exemplo: ppp, etc.); ou se usar qualquer tipo de resolvedor local (exemplo: bind, dnsmasq, unbound, etc.); ou qualquer outro aplicativo que gere um /etc/resolv.conf (exemplo: um aplicativo resolvconf outro diferente daquele fornecido pelo systemd), [então] o serviço systemd-resolved não deveria ser usado.

Para desabilitar systemd-resolved, emita o seguinte comando:

systemctl disable systemd-resolved

Quando usar o systemd-resolved para configuração do DNS, ele cria o arquivo /run/systemd/resolve/stub-resolv.conf. E, se /etc/resolv.conf não existir, [então] ele será criado pelo systemd-resolved como um link simbólico para /run/systemd/resolve/stub-resolv.conf. Então, é desnecessário criar um /etc/resolv.conf manualmente.

9.2.2.2. Configuração Estática do resolv.conf

Se um /etc/resolv.conf estático for desejado, [então] crie-o executando o seguinte comando:

cat > /etc/resolv.conf << "EOF"
# Início do /etc/resolv.conf

domain <Seu Nome de Domínio>
nameserver <Endereço de IP do seu servidor primário de nome>
nameserver <Endereço de IP do seu servidor secundário de nome>

# Fim do /etc/resolv.conf
EOF

A declaração domain pode ser omitida ou substituída por uma declaração search. Veja-se a página de manual para resolv.conf para mais detalhes.

Substitua <Endereço de IP do servidor de nome> pelo endereço de IP do servidor DNS mais apropriado para a sua configuração. Frequentemente existirá mais que uma entrada (exigências demandam servidores secundários para capacidade de substituto). Se você precisa ou quer somente um servidor DNS, [então] remova a segunda linha servidor de nome do arquivo. O endereço de IP também possivelmente seja um roteador na rede local de comunicação. Outra opção é a de usar o serviço de DNS Google Public usando os endereços de IP abaixo como servidores de nome.

[Nota]

Nota

Os endereços DNS IPv4 do Google Public são 8.8.8.8 e 8.8.4.4 para IPv4; e 2001:4860:4860::8888 e 2001:4860:4860::8844 para IPv6.

9.2.3. Configurando o nome de dispositivo do sistema

Durante o processo de inicialização, o arquivo /etc/hostname é usado para estabelecer o nome de dispositivo do sistema.

Crie o arquivo /etc/hostname e informe um nome de dispositivo executando:

echo "<lfs>" > /etc/hostname

<lfs> precisa ser substituído pelo nome dado para o computador. Não informe o Fully Qualified Domain Name (FQDN) aqui. Essa informação é colocada no arquivo /etc/hosts.

9.2.4. Personalizando o Arquivo /etc/hosts

Decida acerca de um "Fully-Qualified Domain Name" ("FQDN"), e possíveis apelidos para uso no arquivo /etc/hosts. Se usar endereços estáticos de IP, [então] você também precisará decidir acerca de um endereço de IP. A sintaxe para uma entrada de arquivo "hosts" é:

Endereços_IP meuhost.exemplo.org apelidos

A menos que o computador seja para estar visível para a Internet (por exemplo, existe um domínio registrado e um bloco válido de endereços atribuídos de IP—a maioria dos(as) usuários(as) não tem isso), assegure-se de que o endereço de IP está no intervalo de endereço privado de IP da rede de comunicação. Intervalos válidos são:

Intervalo de Endereço Privado de Rede   Prefixo Normal
10.0.0.1 - 10.255.255.254               8
172.x.0.1 - 172.x.255.254               16
192.168.y.1 - 192.168.y.254             24

x pode ser qualquer número no intervalo 16-31. y pode ser qualquer número no intervalo 0-255.

Um endereço de IP privado válido poderia ser 192.168.1.1.

Se o computador for para estar visível para a Internet, [então] um "FQDN" válido pode ser o próprio nome de domínio ou uma sequência de caracteres resultante da concatenação de um prefixo (geralmente o nome do dispositivo) e o nome de domínio com um caractere .. E você precisa contactar o provedor de domínio para resolver o "FQDN" para seu endereço de IP público.

Mesmo se o computador não estiver visível para a Internet, um "FQDN" ainda é necessário para determinados programas, tais como "MTAs", funcionarem corretamente. Um "FQDN" especial, localhost.localdomain, pode ser usado para essa finalidade.

Crie o arquivo /etc/hosts usando o seguinte comando:

cat > /etc/hosts << "EOF"
# Começo /etc/hosts

<192.168.0.2> <FQDN> [apelido1] [apelido2] ...
::1       ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

# Fim /etc/hosts
EOF

Os valores <192.168.0.2> e <FQDN> precisam ser mudados para usuários(as) ou exigências específicos(as) (se atribuído um endereço de IP por um(a) administrador(a) de rede de comunicação/sistema e a máquina estará conectada a uma rede existente de comunicação). O(s) nome(s) de apelido(s) opcional(is) pode(m) ser omitido(s) e a linha <192.168.0.2> pode ser omitida se você estiver usando uma conexão configurada com "DHCP" ou autoconfiguração de "IPv6" ou usando localhost.localdomain como o "FQDN".

O "/etc/hostname" não contém entradas para "localhost", "localhost.localdomain" ou o nome do dispositivo (sem um domínio) porque eles são manuseados pelo módulo "NSS" "myhostname"; leia-se a página de manual "nss-myhostname(8)" para detalhes.

A entrada ::1 é o homônimo "IPv6" do 127.0.0.1 e representa a interface de "loopback" "IPv6".