Red Hat Training
A Red Hat training course is available for RHEL 8
Configuração e gerenciamento de redes
Um guia para configuração e gerenciamento de redes no Red Hat Enterprise Linux 8
Resumo
Tornando o código aberto mais inclusivo
A Red Hat tem o compromisso de substituir a linguagem problemática em nosso código, documentação e propriedades da web. Estamos começando com estes quatro termos: master, slave, blacklist e whitelist. Por causa da enormidade deste esforço, estas mudanças serão implementadas gradualmente ao longo de vários lançamentos futuros. Para mais detalhes, veja a mensagem de nosso CTO Chris Wright.
Fornecendo feedback sobre a documentação da Red Hat
Agradecemos sua contribuição em nossa documentação. Por favor, diga-nos como podemos melhorá-la. Para fazer isso:
Para comentários simples sobre passagens específicas:
- Certifique-se de que você está visualizando a documentação no formato Multi-page HTML. Além disso, certifique-se de ver o botão Feedback no canto superior direito do documento.
- Use o cursor do mouse para destacar a parte do texto que você deseja comentar.
- Clique no pop-up Add Feedback que aparece abaixo do texto destacado.
- Siga as instruções apresentadas.
Para enviar comentários mais complexos, crie um bilhete Bugzilla:
- Ir para o site da Bugzilla.
- Como Componente, use Documentation.
- Preencha o campo Description com sua sugestão de melhoria. Inclua um link para a(s) parte(s) relevante(s) da documentação.
- Clique em Submit Bug.
Capítulo 1. Tópicos gerais da rede RHEL
Esta seção fornece detalhes sobre tópicos gerais de redes.
1.1. A diferença entre redes IP e não IP
Uma rede é um sistema de dispositivos interligados que podem se comunicar compartilhando informações e recursos, tais como arquivos, impressoras, aplicações e conexão com a Internet. Cada um desses dispositivos tem um endereço IP único para enviar e receber mensagens entre dois ou mais dispositivos, usando um conjunto de regras chamado protocolo.
Categorias de comunicação em rede:
- Redes IP
- Redes que se comunicam através de endereços IP. Uma rede IP é implementada na Internet e na maioria das redes internas. Ethernet, redes sem fio e conexões VPN são exemplos típicos.
- Redes não-IP
- Redes que são utilizadas para se comunicar através de uma camada inferior, em vez da camada de transporte. Note que estas redes são raramente utilizadas. Por exemplo, a InfiniBand é uma rede não-IP.
1.2. A diferença entre endereçamento IP estático e dinâmico
- Endereçamento IP estático
Quando você atribui um endereço IP estático a um dispositivo, o endereço não muda com o tempo, a menos que você o altere manualmente. Use endereço IP estático, se desejar:
- Para garantir a consistência de endereços de rede para servidores como o DNS e servidores de autenticação.
- Utilizar dispositivos de gerenciamento fora da banda que funcionem independentemente de outras infra-estruturas de rede.
- Endereçamento IP dinâmico
Quando você configura um dispositivo para usar um endereço IP dinâmico, o endereço pode mudar com o tempo. Por esta razão, os endereços dinâmicos são normalmente usados para dispositivos que se conectam à rede ocasionalmente porque o endereço IP pode ser diferente após reiniciar o host.
Os endereços IP dinâmicos são mais flexíveis, mais fáceis de configurar e de administrar. O Protocolo de Controle Dinâmico de Host (DHCP) é um método tradicional de atribuição dinâmica de configurações de rede a hosts.
Não há uma regra rígida que defina quando usar endereços IP estáticos ou dinâmicos. Depende das necessidades do usuário, das preferências e do ambiente de rede.
Recursos adicionais
Para detalhes sobre a instalação de um servidor DHCP, veja Capítulo 43, Prestação de serviços de DHCP.
1.3. Fases de transação do DHCP
O DHCP funciona em quatro fases: Descoberta, Oferta, Pedido, Reconhecimento, também chamado processo DORA. O DHCP usa este processo para fornecer endereços IP aos clientes.
Descoberta
O cliente DHCP envia uma mensagem para descobrir o servidor DHCP na rede. Esta mensagem é transmitida na rede e na camada de link de dados.
Oferta
O servidor DHCP recebe mensagens do cliente e oferece um endereço IP para o cliente DHCP. Esta mensagem é unicast na camada de link de dados, mas é transmitida na camada de rede.
Solicitação
O cliente DHCP solicita o servidor DHCP para o endereço IP oferecido. Esta mensagem é unicast na camada de link de dados, mas é transmitida na camada de rede.
Agradecimentos
O servidor DHCP envia um agradecimento ao cliente DHCP. Esta mensagem é unicast na camada de link de dados, mas transmitida na camada de rede. É a mensagem final do processo DHCP DORA.
1.4. Redes InfiniBand e RDMA
Para obter detalhes sobre as redes InfiniBand e Remote Direct Memory Access (RDMA), consulte a documentação Configurando redes InfiniBand e RDMA.
1.5. Suporte a scripts de rede legados na RHEL
Por padrão, a RHEL usa o NetworkManager para configurar e gerenciar conexões de rede, e os scripts /usr/sbin/ifup
e /usr/sbin/ifdown
usam o NetworkManager para processar ifcfg
arquivos no diretório /etc/sysconfig/network-scripts/
.
Entretanto, se você precisar dos scripts de rede depreciados que processam a configuração da rede sem usar o NetworkManager, você pode instalá-los:
# yum install network-scripts
Após a instalação dos scripts de rede legados, os scripts /usr/sbin/ifup
e /usr/sbin/ifdown
conectam-se aos scripts shell depreciados que gerenciam a configuração da rede.
Os scripts legados são depreciados no RHEL 8 e serão removidos em uma futura versão principal do RHEL. Se você ainda usa os scripts de rede legados, por exemplo, porque você atualizou de uma versão anterior para a RHEL 8, a Red Hat recomenda que você migre sua configuração para o NetworkManager.
1.6. Seleção de métodos de configuração de rede
Para configurar uma interface de rede usando o NetworkManager, use uma das seguintes ferramentas:
-
a interface de usuário de texto,
nmtui
. -
o utilitário de linha de comando ,
nmcli
. -
as ferramentas gráficas de interface com o usuário,
GNOME GUI
.
-
a interface de usuário de texto,
Para configurar uma interface de rede sem utilizar ferramentas e aplicações NetworkManager:
-
editar os arquivos
ifcfg
manualmente. Note que mesmo que você edite os arquivos diretamente, o NetworkManager é o padrão no RHEL e processa estes arquivos. Somente se você instalou e habilitou os scrips de rede obsoletos, então estes scripts processam os arquivosifcfg
.
-
editar os arquivos
Para configurar as configurações de rede quando o sistema de arquivo raiz não é local:
- usar a linha de comando do kernel.
Capítulo 2. Nome de dispositivos de interface de rede consistentes
O Red Hat Enterprise Linux 8 fornece métodos para a nomeação consistente e previsível de dispositivos para interfaces de rede. Estas características ajudam a localizar e diferenciar as interfaces de rede.
O kernel atribui nomes às interfaces de rede concatenando um prefixo fixo e um número que aumenta à medida que o kernel inicializa os dispositivos de rede. Por exemplo, eth0
representaria o primeiro dispositivo a ser sondado na inicialização. No entanto, estes nomes não correspondem necessariamente a etiquetas no chassi. Plataformas modernas de servidores com múltiplos adaptadores de rede podem encontrar nomes não determinísticos e contra-intuitivos destas interfaces. Isto afeta tanto os adaptadores de rede incorporados na placa do sistema quanto os adaptadores add-in.
No Red Hat Enterprise Linux 8, o gerente do dispositivo udev
suporta uma série de diferentes esquemas de nomenclatura. Por default, udev
atribui nomes fixos com base no firmware, topologia e informações de localização. Isto tem as seguintes vantagens:
- Os nomes dos dispositivos são totalmente previsíveis.
- Os nomes dos dispositivos permanecem fixos mesmo se você adicionar ou remover hardware, pois não há re-enumeração.
- O hardware defeituoso pode ser substituído sem problemas.
2.1. Hierarquia de nomes de dispositivos de interface de rede
Se a nomeação consistente de dispositivos estiver ativada, que é o padrão no Red Hat Enterprise Linux 8, o gerenciador de dispositivos udev
gera nomes de dispositivos com base nos seguintes esquemas:
Esquema | Descrição | Exemplo |
---|---|---|
1 |
Os nomes dos dispositivos incorporam firmware ou números de índice fornecidos pela BIOS para os dispositivos embarcados. Se esta informação não estiver disponível ou aplicável, |
|
2 |
Os nomes dos dispositivos incorporam o firmware ou os números de índice de hot slot PCI Express (PCIe) fornecidos pela BIOS. Se esta informação não estiver disponível ou aplicável, |
|
3 |
Os nomes dos dispositivos incorporam a localização física do conector do hardware. Se esta informação não estiver disponível ou aplicável, |
|
4 | Os nomes dos dispositivos incorporam o endereço MAC. O Red Hat Enterprise Linux não usa este esquema por default, mas os administradores podem usá-lo opcionalmente. |
|
5 |
O tradicional e imprevisível esquema de nomenclatura do núcleo. Se |
|
Por default, o Red Hat Enterprise Linux seleciona o nome do dispositivo com base na configuração NamePolicy
no arquivo /usr/lib/systemd/network/99-default.link
. A ordem dos valores em NamePolicy
é importante. O Red Hat Enterprise Linux usa o primeiro nome de dispositivo que é especificado no arquivo e que foi gerado em udev
.
Se você configurou manualmente as regras udev
para mudar o nome dos dispositivos do kernel, essas regras têm precedência.
2.2. Como funciona a renomeação do dispositivo de rede
Por default, a nomeação consistente dos dispositivos é ativada no Red Hat Enterprise Linux 8. O gerente de dispositivos udev
processa regras diferentes para renomear os dispositivos. A lista a seguir descreve a ordem na qual udev
processa estas regras e por quais ações estas regras são responsáveis:
-
O arquivo
/usr/lib/udev/rules.d/60-net.rules
define que o utilitário helper/lib/udev/rename_device
busca o parâmetroHWADDR
nos arquivos/etc/sysconfig/network-scripts/ifcfg-*
. Se o valor definido na variável corresponder ao endereço MAC de uma interface, o utilitário helper renomeia a interface para o nome definido no parâmetroDEVICE
do arquivo. -
O arquivo
/usr/lib/udev/rules.d/71-biosdevname.rules
define que o utilitáriobiosdevname
renomeia a interface de acordo com sua política de nomenclatura, desde que não tenha sido renomeado na etapa anterior. -
O arquivo
/usr/lib/udev/rules.d/75-net-description.rules
define queudev
examina o dispositivo de interface de rede e define as propriedades emudev
- variáveis internas, que serão processadas na próxima etapa. Note que algumas destas propriedades podem estar indefinidas. O arquivo
/usr/lib/udev/rules.d/80-net-setup-link.rules
chama onet_setup_link
udev
embutido que então aplica a política. A seguir está a política padrão que está armazenada no arquivo/usr/lib/systemd/network/99-default.link
:[Link] NamePolicy=kernel database onboard slot path MACAddressPolicy=persistent
Com esta política, se o kernel usa um nome persistente,
udev
não renomeia a interface. Se o kernel não usar um nome persistente,udev
renomeia a interface para o nome fornecido pelo banco de dados de hardware deudev
. Se este banco de dados não estiver disponível, o Red Hat Enterprise Linux volta aos mecanismos descritos acima.Alternativamente, defina o parâmetro
NamePolicy
neste arquivo paramac
para controle de acesso à mídia (MAC) nomes de interface baseados em endereços.O arquivo
/usr/lib/udev/rules.d/80-net-setup-link.rules
define queudev
renomeia a interface com base noudev
- parâmetros internos na seguinte ordem:-
ID_NET_NAME_ONBOARD
-
ID_NET_NAME_SLOT
-
ID_NET_NAME_PATH
Se um parâmetro não estiver definido,
udev
usa o próximo. Se nenhum dos parâmetros estiver definido, a interface não é renomeada.-
Os passos 3 e 4 implementam os esquemas de nomenclatura 1 a 4 descritos em Seção 2.1, “Hierarquia de nomes de dispositivos de interface de rede”.
Recursos adicionais
- Para detalhes sobre a definição de prefixos personalizados para nomeação consistente, ver Seção 2.7, “Utilização de prefixo para nomeação de interfaces de rede Ethernet”.
-
Para obter detalhes sobre o parâmetro
NamePolicy
, consulte a página de manualsystemd.link(5)
.
2.3. Nomes de dispositivos de interface de rede previsíveis na plataforma x86_64 explicados
Quando o recurso de nome consistente do dispositivo de rede é ativado, o gerenciador de dispositivos udev
cria os nomes dos dispositivos com base em diferentes critérios. Esta seção descreve o esquema de nomenclatura quando o Red Hat Enterprise Linux 8 é instalado em uma plataforma x86_64.
O nome da interface começa com um prefixo de dois caracteres com base no tipo de interface:
-
en
para Ethernet -
wl
para LAN sem fio (WLAN) -
ww
para rede de área ampla sem fio (WWAN)
Além disso, um dos seguintes itens é anexado a um dos prefixos acima mencionados com base no esquema que o gerente do dispositivo udev
aplica:
-
o<on-board_index_number>
s<hot_plug_slot_index_number>[f<function>][d<device_id>]
Note que todos os dispositivos PCI multi-função têm o
[f<function>]
número no nome do dispositivo, incluindo a função0
dispositivo.-
x<MAC_address>
[P<domain_number>]p<bus>s<slot>[f<function>][d<device_id>]
O
[P<domain_number>]
parte define a localização geográfica do PCI. Esta parte só é definida se o número de domínio não for0
.[P<domain_number>]p<bus>s<slot>[f<function>][u<usb_port>][…][c<config>][i<interface>]
Para dispositivos USB, a cadeia completa de números de portas de hubs é composta. Se o nome for maior do que o máximo (15 caracteres), o nome não é exportado. Se houver múltiplos dispositivos USB na cadeia,
udev
suprime os valores padrão para os descritores de configuração USB (c1
) e os descritores de interface USB (i0
).
2.4. Nomes de dispositivos de interface de rede previsíveis na plataforma System z explicados
Quando o recurso consistente de nome do dispositivo de rede é ativado, o gerenciador de dispositivos udev
na plataforma System z cria os nomes dos dispositivos com base no ID do ônibus. O ID do barramento identifica um dispositivo no subsistema de canais s390.
Para um dispositivo de palavra de comando de canal (CCW), o ID do ônibus é o número do dispositivo com um prefixo principal 0.n
onde n
é o ID do conjunto de sub-canais.
As interfaces Ethernet são nomeadas, por exemplo, enccw0.0.1234
. Os dispositivos de rede Serial Line Internet Protocol (SLIP) channel-to-channel (CTC) são nomeados, por exemplo, slccw0.0.1234
.
Use os comandos znetconf -c
ou lscss -a
para exibir os dispositivos de rede disponíveis e suas identificações de ônibus.
2.5. Desativação de nomes consistentes de dispositivos de interface durante a instalação
Esta seção descreve como desativar a nomeação consistente do dispositivo de interface durante a instalação.
A Red Hat recomenda não desativar a nomeação consistente do dispositivo. A desativação de nomes consistentes de dispositivos pode causar diferentes tipos de problemas. Por exemplo, se você adicionar outra placa de interface de rede ao sistema, a atribuição dos nomes dos dispositivos do kernel, tais como eth0
, não é mais corrigida. Conseqüentemente, após uma reinicialização, o Kernel pode nomear o dispositivo de maneira diferente.
Procedimento
- Inicialize a mídia de instalação do Red Hat Enterprise Linux 8.
-
No gerenciador de boot, selecione
Install Red Hat Enterprise Linux 8
, e pressione a tecla Tab para editar a entrada. Anexar o parâmetro
net.ifnames=0
à linha de comando do kernel:vmlinuz.. net.ifnames=0
- Pressione Enter para iniciar a instalação.
2.6. Desabilitando a nomeação consistente de dispositivos de interface em um Sistema instalado
Esta seção descreve como desativar a nomeação consistente de dispositivos de interface em um sistema que já está instalado.
A Red Hat recomenda não desativar a nomeação consistente do dispositivo. A desativação de nomes consistentes de dispositivos pode causar diferentes tipos de problemas. Por exemplo, se você adicionar outra placa de interface de rede ao sistema, a atribuição dos nomes dos dispositivos do kernel, tais como eth0
, não é mais corrigida. Conseqüentemente, após uma reinicialização, o Kernel pode nomear o dispositivo de maneira diferente.
Pré-requisitos
- O sistema usa uma nomenclatura consistente de dispositivos de interface, que é o padrão.
Procedimento
Editar o arquivo
/etc/default/grub
e anexar o parâmetronet.ifnames=0
à variávelGRUB_CMDLINE_LINUX
:GRUB_CMDLINE_LINUX="... *net.ifnames=0
Reconstruir o arquivo
grub.cfg
:Em um sistema com modo de inicialização UEFI:
# grub2-mkconfig -o /boot/efi/efi/EFI/redhat/grub.cfg
Em um sistema com modo de inicialização herdado:
# grub2-mkconfig -o /boot/grub2/grub.cfg
- Se você utiliza nomes de interface em arquivos de configuração ou scripts, você deve atualizá-los manualmente.
Reiniciar o anfitrião:
# reinicialização
2.7. Utilização de prefixo para nomeação de interfaces de rede Ethernet
Esta documentação descreve como definir os prefixos para nomeação consistente de interfaces de rede Ethernet caso você não queira usar o esquema de nomeação padrão de tais interfaces. No entanto, a Red Hat recomenda o uso do esquema de nomenclatura padrão. Para mais detalhes sobre este esquema, veja Capítulo 2, Nome de dispositivos de interface de rede consistentes.
2.7.1. Introdução ao prefixo
A ferramenta prefixdevname
é um utilitário udev helper que permite definir seu próprio prefixo usado para nomear as interfaces de rede Ethernet.
2.7.2. Limitações do prefixo do nome
Existem certas limitações para os prefixos das interfaces de rede Ethernet.
O prefixo que você escolher deve atender aos seguintes requisitos
- Ser cordão ASCII
- Ser cadeia alfanumérica
- Ser menor que 16 caracteres
O prefixo não pode entrar em conflito com nenhum outro prefixo bem conhecido utilizado para a nomenclatura da interface de rede no Linux. Especificamente, você não pode usar estes prefixos: eth
, eno
, ens
, em
.
2.7.3. Definição do prefixo do nome
A definição do prefixo com prefixdevname
é feita durante a instalação do sistema.
Para definir e ativar o prefixo necessário para suas interfaces de rede Ethernet, use o seguinte procedimento.
Procedimento
Adicione a seguinte seqüência na linha de comando do kernel:
net.ifnames.prefixo=<prefixo exigido>
A Red Hat não suporta o uso do prefixdevname
em sistemas já implantados.
Depois que o prefixo foi definido e o sistema operacional foi reinicializado, o prefixo é efetivo toda vez que uma nova interface de rede aparece. Ao novo dispositivo é atribuído um nome na forma de <PREFIX><INDEX>
. Por exemplo, se seu prefixo selecionado é net
, e as interfaces com net0
e net1
já existem no sistema, a nova interface é denominada net2
. O utilitário prefixdevname
gera então o novo arquivo .link
no diretório /etc/systemd/network
que aplica o nome à interface com o endereço MAC que acabou de aparecer. A configuração é persistente em todas as reinicializações.
2.8. Informações relacionadas
-
Consulte a página de manual
udev(7)
para obter detalhes sobre o gerenciador de dispositivosudev
.
Capítulo 3. Começando com o NetworkManager
Por padrão, o RHEL 8 utiliza o NetworkManager para gerenciar a configuração e as conexões da rede.
3.1. Benefícios de usar o NetworkManager
Os principais benefícios de utilizar o NetworkManager são:
- Oferecendo uma API através do D-Bus que permite consultar e controlar a configuração e o estado da rede. Desta forma, a rede pode ser verificada e configurada por múltiplas aplicações, garantindo um estado de rede sincronizado e atualizado. Por exemplo, o console web RHEL, que monitora e configura os servidores através de um navegador web, utiliza o NetworkManager Interface D-BUS para configurar a rede, assim como as ferramentas Gnome GUI, nmcli e nm-connection-editor. Cada mudança feita em uma destas ferramentas é detectada por todas as outras.
- Tornando a gestão da rede mais fácil NetworkManager garante que a conectividade de rede funcione. Quando detecta que não há configuração de rede em um sistema, mas que existem dispositivos de rede, NetworkManager cria conexões temporárias para fornecer conectividade.
- Proporcionando fácil configuração da conexão com o usuário NetworkManager oferece gerenciamento através de diferentes ferramentas - GUI, nmtui, nmcli.
- Apoio à flexibilidade de configuração. Por exemplo, a configuração de uma interface WiFi, NetworkManager escaneia e mostra as redes wifi disponíveis. Você pode selecionar uma interface, e NetworkManager exibe as credenciais necessárias para a conexão automática após o processo de reinicialização NetworkManager pode configurar aliases de rede, endereços IP, rotas estáticas, informações DNS e conexões VPN, assim como muitos parâmetros específicos de conexão. Você pode modificar as opções de configuração para refletir suas necessidades.
- Manter o estado dos dispositivos após o processo de reinicialização e assumir as interfaces que são colocadas em modo gerenciado durante o reinício.
- Dispositivos de manuseio que não são explicitamente definidos sem gerenciamento, mas controlados manualmente pelo usuário ou outro serviço de rede.
Recursos adicionais
- Para mais informações sobre a instalação e uso do console web RHEL 8, consulte Sistemas de gerenciamento usando o console web RHEL 8.
3.2. Uma visão geral das utilidades e aplicações que você pode usar para gerenciar as conexões do NetworkManager
Você pode usar as seguintes utilidades e aplicações para gerenciar as conexões do NetworkManager:
-
nmcli
: Um utilitário de linha de comando para gerenciar as conexões. -
nmtui
: Uma interface de usuário de texto baseada em curses (TUI). Para utilizar este aplicativo, instale o pacoteNetworkManager-tui
. -
nm-connection-editor
: Uma interface gráfica do usuário (GUI) para tarefas relacionadas ao NetworkManager. Para iniciar este aplicativo, entre emnm-connection-editor
em um terminal de uma sessão do GNOME. -
control-center
: Uma GUI fornecida pela shell do GNOME para usuários desktop. Note que este aplicativo suporta menos recursos do quenm-connection-editor
. -
O
network connection icon
na concha do GNOME: Este ícone representa estados de conexão de rede e serve como indicador visual para o tipo de conexão que você está usando.
3.3. Utilização de scripts de despacho NetworkManager
Por padrão, o diretório /etc/NetworkManager/dispatcher.d/
existe e NetworkManager executa scripts lá, em ordem alfabética. Cada script deve ser um arquivo executável owned by root
e deve ter write permission
somente para o proprietário do arquivo.
O NetworkManager executa os scripts do despachante em /etc/NetworkManager/dispatcher.d/
em ordem alfabética.
Recursos adicionais
- Para um exemplo de um script de despachante, veja Como escrever um script de despachante NetworkManager para aplicar a solução de comandos ethtool.
3.4. Carregamento de arquivos ifcfg criados manualmente no NetworkManager
No Red Hat Enterprise Linux 8, se você editar um arquivo ifcfg
, NetworkManager não está automaticamente ciente da mudança e tem que ser avisado da mudança. Se você usar uma das ferramentas para atualizar NetworkManager configurações de perfil, NetworkManager não implementa essas mudanças até que você se reconecte usando esse perfil. Por exemplo, se os arquivos de configuração tiverem sido alterados utilizando um editor, NetworkManager deve ler novamente os arquivos de configuração.
O diretório /etc/sysconfig/
é um local para arquivos de configuração e scripts. A maioria das informações de configuração da rede é armazenada lá, com exceção das configurações VPN, banda larga móvel e PPPoE, que são armazenadas nos subdiretórios /etc/NetworkManager/
. Por exemplo, informações específicas da interface são armazenadas nos arquivos ifcfg
no diretório /etc/sysconfig/network-scripts/
.
As informações para VPNs, banda larga móvel e conexões PPPoE são armazenadas em /etc/NetworkManager/system-connections/
.
Por padrão, a RHEL usa o NetworkManager para configurar e gerenciar conexões de rede, e os scripts /usr/sbin/ifup
e /usr/sbin/ifdown
usam o NetworkManager para processar ifcfg
arquivos no diretório /etc/sysconfig/network-scripts/
.
Se você precisar dos scripts de rede legados para gerenciar suas configurações de rede, você pode instalá-los manualmente. Para maiores detalhes, veja Seção 1.5, “Suporte a scripts de rede legados na RHEL”. Entretanto, observe que os scripts de rede legados são depreciados e serão removidos em uma versão futura da RHEL.
Procedimento
Para carregar um novo arquivo de configuração:
#
nmcli connection load /etc/sysconfig/network-scripts/ifcfg-connection_name
Se você atualizou um arquivo de conexão que já tenha sido carregado no NetworkManager, entre:
#
nmcli connection up connection_name
Recursos adicionais
-
NetworkManager(8)
man page - Descreve o daemon de gestão da rede. -
NetworkManager.conf(5)
man page - Descreve o arquivo de configuraçãoNetworkManager
. -
/usr/share/doc/initscripts/sysconfig.txt
- Descreveifcfg
arquivos de configuração e suas diretrizes conforme entendidas pelo serviço de rede legado. -
ifcfg(8)
man page - Descreve brevemente o comandoifcfg
.
Capítulo 4. Configurando o NetworkManager para ignorar certos dispositivos
Por padrão, o NetworkManager gerencia todos os dispositivos, exceto o dispositivo lo
(loopback). Entretanto, você pode definir certos dispositivos como unmanaged
para configurar que o NetworkManager ignore estes dispositivos. Com esta configuração, você pode gerenciar manualmente estes dispositivos, por exemplo, usando um script.
4.1. Configuração permanente de um dispositivo como não gerenciado no NetworkManager
Você pode configurar dispositivos como unmanaged
com base em vários critérios, como o nome da interface, endereço MAC ou tipo de dispositivo. Este procedimento descreve como configurar permanentemente a interface enp1s0
como unmanaged
no NetworkManager.
Para configurar temporariamente os dispositivos de rede como unmanaged
, ver Seção 4.2, “Configuração temporária de um dispositivo como não gerenciado no NetworkManager”.
Procedimento
Opcional: Mostrar a lista de dispositivos para identificar o dispositivo que você deseja definir como
unmanaged
:#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected -- ...Crie o arquivo
/etc/NetworkManager/conf.d/99-unmanaged-devices.conf
com o seguinte conteúdo:[keyfile] unmanaged-devices=interface-name:enp1s0
Para definir vários dispositivos como não gerenciados, separe as entradas no parâmetro
unmanaged-devices
com ponto-e-vírgula:[keyfile] unmanaged-devices=interface-name:interface_1;interface-name:interface_2;...
Recarregue o serviço
NetworkManager
:#
systemctl reload NetworkManager
Etapas de verificação
Exibir a lista de dispositivos:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet unmanaged -- ...O estado
unmanaged
ao lado do dispositivoenp1s0
indica que o NetworkManager não gerencia este dispositivo.
Recursos adicionais
-
Para uma lista de critérios que você pode usar para configurar dispositivos como não gerenciados e a sintaxe correspondente, consulte a seção
Device List Format
na página de manualNetworkManager.conf(5)
.
4.2. Configuração temporária de um dispositivo como não gerenciado no NetworkManager
Você pode configurar dispositivos como unmanaged
com base em vários critérios, como o nome da interface, endereço MAC ou tipo de dispositivo. Este procedimento descreve como configurar temporariamente a interface enp1s0
como unmanaged
no NetworkManager.
Use este método, por exemplo, para fins de teste. Para configurar permanentemente os dispositivos de rede como unmanaged
, ver Seção 4.1, “Configuração permanente de um dispositivo como não gerenciado no NetworkManager”.
Use este método, por exemplo, para fins de teste. Para configurar permanentemente os dispositivos de rede como unmanaged
, consulte a seção NetworkManager (Gerenciador de rede) na documentação Configuring and managing networking
.
Procedimento
Opcional: Mostrar a lista de dispositivos para identificar o dispositivo que você deseja definir como
unmanaged
:#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected -- ...Configure o dispositivo
enp1s0
para o estadounmanaged
:#
nmcli device set enp1s0 managed no
Etapas de verificação
Exibir a lista de dispositivos:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet unmanaged -- ...O estado
unmanaged
ao lado do dispositivoenp1s0
indica que o NetworkManager não gerencia este dispositivo.
Recursos adicionais
-
Para uma lista de critérios que você pode usar para configurar dispositivos como não gerenciados e a sintaxe correspondente, consulte a seção
Device List Format
na página de manualNetworkManager.conf(5)
.
Capítulo 5. Começando com nmtui
O aplicativo nmtui
é uma interface de usuário de texto (TUI) para NetworkManager
. A seção a seguir fornece como você pode configurar uma interface de rede usando nmtui
.
O nmtui aplicação não suporta todos os tipos de conexão. Em particular, você não pode adicionar ou modificar conexões VPN ou conexões Ethernet que requerem autenticação 802.1X.
5.1. Iniciando a utilidade nmtui
Este procedimento descreve como iniciar a interface de usuário de texto do NetworkManager, nmtui
.
Pré-requisitos
-
O pacote
NetworkManager-tui
está instalado.
Procedimento
Para iniciar
nmtui
, entre:#
nmtui
Para navegar:
- Use os cursores ou pressione Tab para dar um passo à frente e pressione Turno+Tab para retroceder através das opções.
- Use Enter para selecionar uma opção.
- Use a barra de espaço para alternar o status das caixas de seleção.
5.2. Adicionando um perfil de conexão usando nmtui
O aplicativo nmtui
fornece uma interface de usuário de texto para o NetworkManager. Este procedimento descreve como adicionar um novo perfil de conexão.
Pré-requisitos
-
O pacote
NetworkManager-tui
está instalado.
Procedimento
Inicie o utilitário de interface de usuário de texto NetworkManager:
#
nmtui
-
Selecione a entrada do menu
Edit a connection
, e pressione Enter. - Selecione o botão Adicionar, e pressione Enter.
-
Selecione
Ethernet
, e pressione Enter. Preencha os campos com os detalhes da conexão.
- Selecione OK para salvar as mudanças.
-
Selecione
Back
para retornar ao menu principal. -
Selecione
Activate a connection
, e pressione Enter. - Selecione a nova entrada de conexão, e pressione Enter para ativar a conexão.
- Selecione Voltar para retornar ao menu principal.
-
Selecione
Quit
.
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp1s0 ...
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
-
Para mais detalhes sobre a aplicação
nmtui
, consulte a página de manualnmtui(1)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
5.3. Aplicando mudanças em uma conexão modificada usando nmtui
Depois de modificar uma conexão em nmtui
, você deve reativar a conexão. Note que reativar uma conexão em nmtui
desativa temporariamente a conexão.
Procedimento
No menu principal, selecione a entrada do menu
Activate a connection
:- Selecione a conexão modificada.
À direita, selecione o botão
Deactivate
, e pressione Enter:- Selecione a conexão novamente.
À direita, selecione o botão
Activate
, e pressione Enter:
Capítulo 6. Começando com nmcli
Esta seção descreve informações gerais sobre a utilidade nmcli
.
6.1. Os diferentes formatos de saída de nmcli
O utilitário nmcli
suporta diferentes opções para modificar a saída dos comandos nmcli
. Usando estas opções, você pode exibir apenas as informações necessárias. Isto simplifica o processamento da saída em scripts.
Por padrão, o utilitário nmcli
exibe sua saída em formato de tabela:
# nmcli device
DEVICE TYPE STATE CONNECTION
enp1s0 ethernet connected enp1s0
lo loopback unmanaged --
Usando a opção -f
, você pode exibir colunas específicas em uma ordem personalizada. Por exemplo, para exibir apenas a coluna DEVICE
e STATE
, digite:
# nmcli -f DEVICE,STATE device
DEVICE STATE
enp1s0 connected
lo unmanaged
A opção -t
permite exibir os campos individuais da saída em um formato separado por dois pontos:
# nmcli -t device
enp1s0:ethernet:connected:enp1s0
lo:loopback:unmanaged:
A combinação do -f
e -t
para exibir apenas campos específicos em formato de dois pontos pode ser útil quando se processa a saída em scripts:
# nmcli -f DEVICE,STATE -t device
enp1s0:connected
lo:unmanaged
6.2. Usando preenchimento de tabulações em nmcli
Se o pacote bash-completion
estiver instalado em seu host, o utilitário nmcli
suporta o preenchimento de guias. Isto permite que você complete automaticamente os nomes das opções e identifique possíveis opções e valores.
Por exemplo, se você digitar nmcli con
e pressionar Tab, então a concha completa automaticamente o comando para nmcli connection
.
Para a conclusão, as opções ou valor que você digitou devem ser únicos. Se não for único, então nmcli
exibe todas as possibilidades. Por exemplo, se você digitar nmcli connection d
e pressionar Tab, então o comando mostra o comando delete
e down
como opções possíveis.
Você também pode usar o preenchimento da aba para exibir todas as propriedades que você pode definir em um perfil de conexão. Por exemplo, se você digitar nmcli connection modify connection_name
e pressione Tab, o comando mostra a lista completa das propriedades disponíveis.
6.3. Comandos nmcli freqüentes
A seguir, uma visão geral sobre os comandos nmcli
freqüentemente utilizados.
Para exibir os perfis de conexão da lista, entre:
#
nmcli connection show
NAME UUID TYPE DEVICE enp1s0 45224a39-606f-4bf7-b3dc-d088236c15ee ethernet enp1s0Para exibir as configurações de um perfil de conexão específico, entre:
#
nmcli connection show connection_name
connection.id: enp1s0 connection.uuid: 45224a39-606f-4bf7-b3dc-d088236c15ee connection.stable-id: -- connection.type: 802-3-ethernet ...Para modificar as propriedades de uma conexão, entre:
#
nmcli connection modify connection_name property value
Você pode modificar várias propriedades usando um único comando se você passar vários
property value
combinações para o comando.Para exibir a lista de dispositivos de rede, seu estado, e quais perfis de conexão utilizam o dispositivo, entre:
#
nmcli device
DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 enp8s0 ethernet disconnected -- enp7s0 ethernet unmanaged -- ...Para ativar uma conexão, entre:
#
nmcli connection up connection_name
Para desativar uma conexão, entre:
#
nmcli connection down connection_name
Capítulo 7. Começando com a configuração de redes usando a GUI GNOME
Você pode gerenciar e configurar conexões de rede usando as seguintes maneiras no GNOME:
- o ícone de conexão de rede do GNOME Shell na parte superior direita da área de trabalho
- o GNOME control-center aplicação
- o GNOME nm-connection-editor aplicação
7.1. Conectando-se a uma rede usando o ícone de conexão de rede do GNOME Shell
Se você usar a GUI GNOME, você pode usar o ícone de conexão de rede do GNOME Shell para se conectar a uma rede.
Pré-requisitos
-
O grupo de pacotes
GNOME
está instalado. - Você está logado no GNOME.
- Se a rede requer uma configuração específica, como um endereço IP estático ou uma configuração 802.1x, já foi criado um perfil de conexão.
Procedimento
Clique no ícone de conexão de rede no canto superior direito de sua área de trabalho.
Dependendo do tipo de conexão, selecione a entrada
Wired
ouWi-Fi
.-
Para uma conexão com fio, selecione
Connect
para conectar-se à rede. -
Para uma conexão Wi-Fi, clique em
Select network
, selecione a rede à qual você deseja se conectar, e digite a senha.
-
Para uma conexão com fio, selecione
Capítulo 8. Configuração de uma conexão Ethernet
Esta seção descreve diferentes maneiras de configurar uma conexão Ethernet com endereços IP estáticos e dinâmicos.
8.1. Configuração de uma conexão Ethernet estática usando nmcli
Este procedimento descreve a adição de uma conexão Ethernet com as seguintes configurações usando o utilitário nmcli
:
-
Um endereço IPv4 estático -
192.0.2.1
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
192.0.2.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
192.0.2.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
Procedimento
Adicione um novo perfil de conexão NetworkManager para a conexão Ethernet:
#
nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
Os próximos passos modificam o perfil de conexão
Example-Connection
que você criou.Defina o endereço IPv4:
#
nmcli connection modify Example-Connection ipv4.addresses 192.0.2.1/24
Defina o endereço IPv6:
#
nmcli connection modify Example-Connection ipv6.addresses 2001:db8:1::1/64
Configure o método de conexão IPv4 e IPv6 para
manual
:#
nmcli connection modify Example-Connection ipv4.method manual
#nmcli connection modify Example-Connection ipv6.method manual
Defina os gateways padrão IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.gateway 192.0.2.254
#nmcli connection modify Example-Connection ipv6.gateway 2001:db8:1::fffe
Configure os endereços dos servidores DNS IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.dns "192.0.2.200"
#nmcli connection modify Example-Connection ipv6.dns "2001:db8:1::ffbb"
Para definir vários servidores DNS, especifique-os separados por espaço e entre aspas.
Definir o domínio de busca DNS para a conexão IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.dns-search example.com
#nmcli connection modify Example-Connection ipv6.dns-search example.com
Ativar o perfil de conexão:
#
nmcli connection up Example-Connection
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:#
host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Passos para a solução de problemas
Se a conexão falhar ou se a interface de rede comutar entre um estado para cima e para baixo:
- Certifique-se de que o cabo de rede esteja conectado ao host e a um switch.
- Verifique se a falha do link só existe neste host ou também em outros hosts conectados ao mesmo switch ao qual o servidor está conectado.
- Verificar se o cabo de rede e a interface de rede estão funcionando como esperado. Executar as etapas de diagnóstico do hardware e substituir os cabos de defeito e as placas de interface de rede.
Recursos adicionais
-
Consulte a página de manual
nm-settings(5)
para mais informações sobre as propriedades do perfil de conexão e suas configurações. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
8.2. Configuração de uma conexão Ethernet estática usando o editor interativo nmcli
Este procedimento descreve a adição de uma conexão Ethernet com as seguintes configurações usando o modo interativo nmcli
:
-
Um endereço IPv4 estático -
192.0.2.1
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
192.0.2.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
192.0.2.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
Procedimento
Para adicionar um novo perfil de conexão NetworkManager para a conexão Ethernet, e iniciar o modo interativo, entre:
#
nmcli connection edit type ethernet con-name Example-Connection
Defina a interface de rede:
nmcli>
set connection.interface-name enp7s0
Defina o endereço IPv4:
nmcli>
set ipv4.addresses 192.0.2.1/24
Defina o endereço IPv6:
nmcli>
set ipv6.addresses 2001:db8:1::1/64
Configure o método de conexão IPv4 e IPv6 para
manual
:nmcli>
set ipv4.method manual
nmcli>set ipv6.method manual
Defina os gateways padrão IPv4 e IPv6:
nmcli>
set ipv4.gateway 192.0.2.254
nmcli>set ipv6.gateway 2001:db8:1::fffe
Configure os endereços dos servidores DNS IPv4 e IPv6:
nmcli>
set ipv4.dns 192.0.2.200
nmcli>set ipv6.dns 2001:db8:1::ffbb
Para definir vários servidores DNS, especifique-os separados por espaço e entre aspas.
Definir o domínio de busca DNS para a conexão IPv4 e IPv6:
nmcli>
set ipv4.dns-search example.com
nmcli>set ipv6.dns-search example.com
Salvar e ativar a conexão:
nmcli>
save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection. Do you still want to save? (yes/no) [yes]yes
Abandonar o modo interativo:
nmcli>
quit
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:#
host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Passos para a solução de problemas
Se a conexão falhar ou se a interface de rede comutar entre um estado para cima e para baixo:
- Certifique-se de que o cabo de rede esteja conectado ao host e a um switch.
- Verifique se a falha do link só existe neste host ou também em outros hosts conectados ao mesmo switch ao qual o servidor está conectado.
- Verificar se o cabo de rede e a interface de rede estão funcionando como esperado. Executar as etapas de diagnóstico do hardware e substituir os cabos de defeito e as placas de interface de rede.
Recursos adicionais
-
Consulte a página de manual
nm-settings(5)
para mais informações sobre as propriedades do perfil de conexão e suas configurações. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
8.3. Configuração de uma conexão Ethernet estática usando as funções do sistema RHEL
Este procedimento descreve como usar as funções do Sistema RHEL para adicionar remotamente uma conexão Ethernet para a interface enp7s0
com as seguintes configurações, executando um livro de exercícios possível:
-
Um endereço IPv4 estático -
192.0.2.1
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
192.0.2.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
192.0.2.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
Execute este procedimento no Nó de controle possível.
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado. - O anfitrião usa o NetworkManager para configurar a rede.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/ethernet-static-IP.yml
com o seguinte conteúdo:--- - name: Configure an Ethernet connection with static IP hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/ethernet-static-IP.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-static-IP.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
8.4. Configuração de uma conexão Ethernet dinâmica usando nmcli
Este procedimento descreve a adição de uma conexão Ethernet dinâmica usando o utilitário nmcli
. Com esta configuração, o NetworkManager solicita as configurações IP para esta conexão a partir de um servidor DHCP.
Pré-requisitos
- Um servidor DHCP está disponível na rede.
Procedimento
Adicione um novo perfil de conexão NetworkManager para a conexão Ethernet:
#
nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
Opcionalmente, mude o nome do host que o NetworkManager envia ao servidor DHCP ao usar o perfil
Example-Connection
:#
nmcli connection modify Example-Connection ipv4.dhcp-hostname Example ipv6.dhcp-hostname Example
Opcionalmente, mude o NetworkManager de ID de cliente enviado para um servidor DHCP IPv4 ao usar o perfil
Example-Connection
:#
nmcli connection modify Example-Connection ipv4.dhcp-client-id client-ID
Note que não há parâmetro
dhcp-client-id
para IPv6. Para criar um identificador para IPv6, configure o serviçodhclient
.
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:#
host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Recursos adicionais
-
Para detalhes sobre a definição de um identificador de cliente para IPv6, consulte a página de manual
dhclient(8)
. -
Consulte a página de manual
nm-settings(5)
para mais informações sobre as propriedades do perfil de conexão e suas configurações. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
8.5. Configuração de uma conexão Ethernet dinâmica usando o editor interativo nmcli
Este procedimento descreve a adição de uma conexão Ethernet dinâmica usando o editor interativo do utilitário nmcli
. Com esta configuração, o NetworkManager solicita as configurações IP para esta conexão a partir de um servidor DHCP.
Pré-requisitos
- Um servidor DHCP está disponível na rede.
Procedimento
Para adicionar um novo perfil de conexão NetworkManager para a conexão Ethernet, e iniciar o modo interativo, entre:
#
nmcli connection edit type ethernet con-name Example-Connection
Defina a interface de rede:
nmcli>
set connection.interface-name enp7s0
Opcionalmente, mude o nome do host que o NetworkManager envia ao servidor DHCP ao usar o perfil
Example-Connection
:nmcli>
set ipv4.dhcp-hostname Example
nmcli>set ipv6.dhcp-hostname Example
Opcionalmente, mude o NetworkManager de ID de cliente enviado para um servidor DHCP IPv4 ao usar o perfil
Example-Connection
:nmcli>
set ipv4.dhcp-client-id client-ID
Note que não há parâmetro
dhcp-client-id
para IPv6. Para criar um identificador para IPv6, configure o serviçodhclient
.Salvar e ativar a conexão:
nmcli>
save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection. Do you still want to save? (yes/no) [yes]yes
Abandonar o modo interativo:
nmcli>
quit
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:#
host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Recursos adicionais
-
Para detalhes sobre a definição de um identificador de cliente para IPv6, consulte a página de manual
dhclient(8)
. -
Consulte a página de manual
nm-settings(5)
para mais informações sobre as propriedades do perfil de conexão e suas configurações. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
8.6. Configuração de uma conexão Ethernet dinâmica usando as funções do sistema RHEL
Este procedimento descreve como usar as funções do Sistema RHEL para adicionar remotamente uma conexão Ethernet dinâmica para a interface enp7s0
, executando um livro de exercícios possível. Com esta configuração, a conexão de rede solicita as configurações IP para esta conexão a partir de um servidor DHCP. Execute este procedimento no nó de controle do Ansible control.
Pré-requisitos
- Um servidor DHCP está disponível na rede.
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado. - O anfitrião usa o NetworkManager para configurar a rede.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/ethernet-dynamic-IP.yml
com o seguinte conteúdo:--- - name: Configure an Ethernet connection with dynamic IP hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: dhcp4: yes auto6: yes state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/ethernet-dynamic-IP.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-dynamic-IP.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definida no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
8.7. Configuração de uma conexão Ethernet usando o centro de controle
As conexões Ethernet são os tipos de conexões mais freqüentemente utilizadas em máquinas físicas ou virtuais. Esta seção descreve como configurar este tipo de conexão no GNOME control-center
:
Note que control-center
não suporta tantas opções de configuração como o aplicativo nm-connection-editor
ou o utilitário nmcli
.
Pré-requisitos
- Existe um dispositivo Ethernet físico ou virtual na configuração do servidor.
- O GNOME está instalado.
Procedimento
-
Pressione a tecla Super, entre
Settings
, e pressione Enter. -
Selecione
Network
na navegação à esquerda. -
Clique no botão ao lado da entrada
Wired
para criar um novo perfil. -
Opcional: Defina um nome para a conexão na guia
Identity
. Na aba
IPv4
, configure as configurações do IPv4. Por exemplo, selecione o métodoManual
, defina um endereço IPv4 estático, máscara de rede, gateway padrão e servidor DNS:Na aba
IPv6
, configure as configurações IPv6. Por exemplo, selecione o métodoManual
, defina um endereço IPv6 estático, máscara de rede, gateway padrão e servidor DNS:-
Clique no botão Adicionar para salvar a conexão. O GNOME
control-center
ativa automaticamente a conexão.
Etapas de verificação
Mostrar o status dos dispositivos e conexões:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara exibir todas as configurações do perfil de conexão:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:#
host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Passos para a solução de problemas
Se a conexão falhar ou se a interface de rede comutar entre um estado para cima e para baixo:
- Certifique-se de que o cabo de rede esteja conectado ao host e a um switch.
- Verifique se a falha do link só existe neste host ou também em outros hosts conectados ao mesmo switch ao qual o servidor está conectado.
- Verificar se o cabo de rede e a interface de rede estão funcionando como esperado. Executar as etapas de diagnóstico do hardware e substituir os cabos de defeito e as placas de interface de rede.
Recursos adicionais
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
8.8. Configuração de uma conexão Ethernet usando um editor de conexão nm
As conexões Ethernet são os tipos de conexão mais freqüentemente utilizados em servidores físicos ou virtuais. Esta seção descreve como configurar este tipo de conexão usando a aplicação nm-connection-editor
.
Pré-requisitos
- Existe um dispositivo Ethernet físico ou virtual na configuração do servidor.
- O GNOME está instalado.
Procedimento
Abra um terminal, e entre:
Monitor de conexão de $ nm
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
Ethernet
, e clique em Criar. Na aba
General
:Para ativar automaticamente esta conexão quando o sistema inicia ou quando você reinicia o serviço
NetworkManager
:-
Selecione
Connect automatically with priority
. Opcional: Alterar o valor de prioridade ao lado de
Connect automatically with priority
.Se existirem vários perfis de conexão para o mesmo dispositivo, o NetworkManager permite apenas um perfil. Por padrão, o NetworkManager ativa o último perfil utilizado que tem a autoconexão ativada. Entretanto, se você definir valores de prioridade nos perfis, o NetworkManager ativa o perfil com a maior prioridade.
-
Selecione
-
Limpe a caixa de seleção
All users may connect to this network
se o perfil deve estar disponível somente para o usuário que criou o perfil de conexão.
-
Na aba
Ethernet
, selecione um dispositivo e, opcionalmente, outras configurações relacionadas à Ethernet -
Na aba
IPv4 Settings
, configure as configurações do IPv4. Por exemplo, defina um endereço IPv4 estático, máscara de rede, gateway padrão e servidor DNS -
Na aba
IPv6 Settings
, configure as configurações IPv6. Por exemplo, configure um endereço IPv6 estático, máscara de rede, gateway padrão e servidor DNS - Salvar a conexão.
-
Fechar
nm-connection-editor
.
Etapas de verificação
Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede.
Para IPv4:
# ping 192.0.2.3
Para IPv6:
# ping 2001:db8:2::1
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota.
Para IPv4:
# ping 198.162.3.1
Para IPv6:
# ping 2001:db8:2::1
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
Para IPv4:
# ping 192.0.2.254
Para IPv6:
# ping 2001:db8:1::fff3
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:# host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Recursos adicionais
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
8.9. Configuração do comportamento do DHCP de uma conexão NetworkManager
Um cliente DHCP (Dynamic Host Configuration Protocol) solicita o endereço IP dinâmico e as informações de configuração correspondentes de um servidor DHCP cada vez que um cliente se conecta à rede.
Quando você configura uma conexão para recuperar um endereço IP de um servidor DHCP, o NetworkManager solicita um endereço IP de um servidor DHCP. Por padrão, o cliente espera 45 segundos para que esta solicitação seja completada. Quando uma conexão DHCP
é iniciada, um cliente dhcp solicita um endereço IP a partir de um servidor DHCP
.
Pré-requisitos
- Uma conexão que utiliza DHCP é configurada no host.
Procedimento
Defina as propriedades
ipv4.dhcp-timeout
eipv6.dhcp-timeout
. Por exemplo, para definir ambas as opções para30
segundos, entre:#
nmcli connection modify connection_name ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
Alternativamente, defina os parâmetros para
infinity
para configurar que o NetworkManager não pare de tentar solicitar e renovar um endereço IP até que seja bem sucedido.Opcional: Configure o comportamento se o NetworkManager não receber um endereço IPv4 antes do timeout:
#
nmcli connection modify connection_name ipv4.may-fail value
Se você definir a opção
ipv4.may-fail
para:yes
, o status da conexão depende da configuração IPv6:- Se a configuração IPv6 for ativada e bem sucedida, o NetworkManager ativa a conexão IPv6 e não tenta mais ativar a conexão IPv4.
- Se a configuração IPv6 estiver desativada ou não configurada, a conexão falha.
no
, a conexão está desativada. Neste caso:-
Se a propriedade
autoconnect
da conexão estiver habilitada, o NetworkManager tenta novamente ativar a conexão tantas vezes quantas as definidas na propriedadeautoconnect-retries
. O padrão é4
. - Se a conexão ainda não puder adquirir um endereço DHCP, a ativação automática falha. Observe que após 5 minutos, o processo de auto-conexão começa novamente para adquirir um endereço IP do servidor DHCP.
-
Se a propriedade
Opcional: Configure o comportamento se o NetworkManager não receber um endereço IPv6 antes do timeout:
#
nmcli connection modify connection_name ipv6.may-fail value
Recursos adicionais
-
Para mais detalhes sobre as propriedades descritas nesta seção, consulte a página de manual
nm-settings(5)
.
Capítulo 9. Gerenciando conexões Wi-Fi
Esta seção descreve como configurar e gerenciar as conexões Wi-Fi.
9.1. Configurando o domínio regulatório sem fio
No Red Hat Enterprise Linux, o crda o pacote contém o Agente Regulatório Central de Domínio que fornece ao núcleo as regras regulatórias sem fio para uma determinada jurisdição. Ele é usado por certos udev scripts e não deve ser executado manualmente, a menos que seja feita uma depuração udev roteiros. O kernel roda crda enviando um udev em uma nova mudança de domínio regulatório. Mudanças no domínio regulatório são acionadas pelo subsistema sem fio Linux (IEEE-802.11). Este subsistema usa o arquivo regulatory.bin
para manter suas informações de banco de dados regulamentares.
O utilitário setregdomain
define o domínio regulatório para seu sistema. Setregdomain
não aceita argumentos e é normalmente chamado através do script do sistema, tais como udev em vez de manualmente pelo administrador. Se um código de país falhar, o administrador do sistema pode definir a variável de ambiente COUNTRY
no arquivo /etc/sysconfig/regdomain
.
Recursos adicionais
Consulte as seguintes páginas de manual para obter mais informações sobre o domínio regulatório:
-
setregdomain(1)
man page - Define o domínio regulatório com base no código do país. -
crda(8)
man page - Envia ao kernel um domínio regulador sem fio para uma determinada ISO ou IEC 3166 alpha2. -
regulatory.bin(5)
man page - Mostra o banco de dados regulatório sem fio Linux. -
iw(8)
man page - Mostra ou manipula os dispositivos sem fio e sua configuração.
9.2. Configuração de uma conexão Wi-Fi usando nmcli
Este procedimento descreve como configurar um perfil de conexão Wi-fi usando nmcli.
Pré-requisitos
- O utilitário nmcli a ser instalado.
Certifique-se de que o rádio WiFi esteja ligado (padrão):
~]$
nmcli radio wifi on
Procedimento
Para criar um perfil de conexão Wi-Fi com configuração estática
IP
:~]$
nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe ` `ip4 192.168.100.101/24 gw4 192.168.100.1
Configurar um servidor DNS. Por exemplo, para definir
192.160.100.1
como o servidor DNS:~]$
nmcli con modify con-name MyCafe ipv4.dns "192.160.100.1"
Opcionalmente, defina um domínio de busca DNS. Por exemplo, para definir o domínio de busca para
example.com
:~]$
nmcli con modify con-name MyCafe ipv4.dns-search "example.com"
Para verificar uma propriedade específica, por exemplo
mtu
:~]$
nmcli connection show id MyCafe | grep mtu
802-11-wireless.mtu: autoPara mudar a propriedade de um ambiente:
~]$
nmcli connection modify id MyCafe 802-11-wireless.mtu 1350
Para verificar a mudança:
~]$
nmcli connection show id MyCafe | grep mtu
802-11-wireless.mtu: 1350
Etapas de verificação
Use o utilitário
ping
para verificar se este host pode enviar pacotes para outros hosts.Pingar um endereço IP na mesma sub-rede. Por exemplo, o endereço IP de uma sub-rede:
# ping 192.168.100.103
Se o comando falhar, verificar as configurações de IP e subrede.
Pingar um endereço IP em uma sub-rede remota. Por exemplo, o endereço IP de uma sub-rede remota:
# ping 198.51.16.3
Se o comando falhar, pingar o gateway padrão para verificar as configurações.
# ping 192.168.100.1
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo:# host client.example.com
Se o comando retornar algum erro, como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Recursos adicionais
-
Consulte a página de manual
nm-settings(5)
para mais informações sobre propriedades e suas configurações. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
9.3. Configuração de uma conexão Wi-Fi usando o centro de controle
Quando você se conecta a um Wi-Fi
, as configurações de rede são pré-preenchidas dependendo da conexão de rede atual. Isto significa que as configurações serão detectadas automaticamente quando a interface se conectar a uma rede.
Este procedimento descreve como usar control-center para configurar manualmente as configurações do Wi-Fi
.
Procedimento
-
Pressione a tecla Super para entrar no
Activities Overview
, digiteWi-Fi
e pressione Enter. Na entrada do menu do lado esquerdo, você vê a lista de redes disponíveis. Selecione o ícone da roda dentada à direita do nome da conexão
Wi-Fi
que você deseja editar, e o diálogo de conexão de edição aparece. A janela do menu Details mostra os detalhes da conexão onde você pode fazer outras configurações.Options
-
Se você selecionar
Connect automatically
, NetworkManager auto-conecta-se a esta conexão sempre que NetworkManager detecta que ela está disponível. Se você não quiser NetworkManager para se conectar automaticamente, desmarque a caixa de seleção. Note que quando a caixa de seleção estiver desmarcada, você tem que selecionar essa conexão manualmente no menu do ícone de conexão de rede para fazer com que ela se conecte. -
Para disponibilizar uma conexão a outros usuários, selecione a caixa de seleção
Make available to other users
. Você também pode controlar o uso dos dados de fundo. Se você deixar
Restrict background data usage
não especificado (padrão), então NetworkManager tenta fazer o download dos dados que você está usando ativamente. Caso contrário, selecione a caixa de seleção e NetworkManager define a conexão como medida, e aplica restrição ao uso de dados de fundo.NotaPara excluir uma conexão
Wi-Fi
, clique na caixa vermelhaForget Connection
.
-
Se você selecionar
Selecione a entrada do menu Identity para ver as opções básicas de configuração.
SSID
- O Service Set Identifier (SSID) do ponto de acesso (AP).BSSID
- O Basic Service Set Identifier (BSSID) é o endereço MAC, também conhecido como hardware address, do ponto de acesso sem fio específico ao qual você está se conectando quando no modoInfrastructure
. Este campo está em branco por padrão, e você é capaz de conectar-se a um ponto de acesso sem fio porSSID
sem ter que especificar seuBSSID
. Se o BSSID for especificado, ele forçará o sistema a se associar somente a um ponto de acesso específico. Para redes ad-hoc, oBSSID
é gerado aleatoriamente pelo mac80211 quando a rede ad-hoc é criada. Ela não é exibida por NetworkManager.MAC address
- O MAC address permite associar um adaptador sem fio específico com uma conexão específica (ou conexões).Cloned Address
- Um endereço MAC clonado para usar no lugar do endereço de hardware real. Deixe em branco, a menos que seja necessário.Para configuração posterior do endereço IP , selecione as entradas de menu IPv4 e IPv6.
Por padrão, tanto
IPv4
comoIPv6
estão definidos para configuração automática dependendo das configurações atuais da rede. Isto significa que endereços como o endereço IP local, endereço DNS e outras configurações serão detectados automaticamente quando a interface se conectar a uma rede. Se um servidor DHCP atribui a configuração IP nesta rede, isto é suficiente, mas você também pode fornecer a configuração estática nas configuraçõesIPv4
eIPv6
. Nas entradas dos menus IPv4 e IPv6, você pode ver as seguintes configurações:IPv4 Method
-
Automatic (DHCP)
- Escolha esta opção se a rede à qual você está se conectando usa anúncios de Roteador (RA) ou um servidorDHCP
para atribuir endereços IP dinâmicos. Você pode ver o endereço IP atribuído na entrada do menu Details. -
Link-Local Only
- Escolha esta opção se a rede à qual você está se conectando não tiver um servidorDHCP
e você não quiser atribuir endereços IP manualmente. Endereços aleatórios serão atribuídos de acordo com RFC 3927 com prefixo169.254/16
. -
Manual
- Escolha esta opção se você quiser atribuir endereços IP manualmente. -
Disable
-IPv4
está desativado para esta conexão.
-
DNS
Se
Automatic
forON
, e não houver um servidor DHCP disponível que atribua servidores DNS a esta conexão, mude-o paraOFF
para inserir o endereço IP de um servidor DNS que separe os IPs por vírgula.Routes
Observe que na seção
Routes
, quandoAutomatic
éON
, são usadas rotas de Router Advertisements (RA) ou DHCP, mas você também pode adicionar rotas estáticas adicionais. QuandoOFF
, somente rotas estáticas são usadas.-
Address
- Digite o endereçoIP
de uma rede remota, subrede ou host. -
Netmask
- A máscara de rede ou o comprimento do prefixo do endereço IP inserido acima. -
Gateway
- O endereço IP do gateway que leva à rede remota, subrede ou host inserido acima. -
Metric
- Um custo de rede, um valor de preferência a dar a esta rota. Os valores mais baixos serão preferidos em relação aos valores mais altos.
-
Use this connection only for resources on its network
Selecione esta caixa de seleção para evitar que a conexão se torne a rota padrão.
Alternativamente, para configurar as configurações
IPv6
em uma conexãoWi-Fi
, selecione a entrada do menu IPv6:IPv6 Method
-
Automatic
- Escolha esta opção para usarIPv6
Endereço sem Estado AutoConfiguração (SLAAC) para criar uma configuração automática, sem Estado, baseada no endereço de hardware e Anúncios de Roteador (RA). -
Automatic, DHCP only
- Escolha esta opção para não usar a RA, mas solicite informações diretamente deDHCPv6
para criar uma configuração estatal. -
Link-Local Only
- Escolha esta opção se a rede à qual você está se conectando não tiver um servidorDHCP
e você não quiser atribuir endereços IP manualmente. Endereços aleatórios serão atribuídos de acordo com RFC 4862 com prefixoFE80::0
. -
Manual
- Escolha esta opção se você quiser atribuir endereços IP manualmente. -
Disable
-IPv6
está desativado para esta conexão.
-
-
Os campos
DNS
,Routes
,Use this connection only for resources on its network
são comuns às configurações deIPv4
.
Para configurar as configurações
Security
em uma conexãoWi-Fi
, selecione a entrada do menu Security. As seguintes opções de configuração estão disponíveis:Security
-
None
- Não encripte a conexão Wi-Fi. -
WEP 40/128-bit Key
- Wired Equivalent Privacy (WEP), a partir da norma IEEE 802.11. Utiliza uma única chave pré-compartilhada (PSK). WEP 128-bit Passphrase
- Um hash MD5 da frase-chave para derivar uma chave WEP.AtençãoSe o
Wi-Fi
não utiliza criptografia,WEP
, ouWPA
, não utilize a rede porque ela é insegura e todos podem ler os dados que você envia através desta rede.-
LEAP
- Lightweight Extensible Authentication Protocol, da Cisco Systems. -
Dynamic WEP (802.1X)
- As chaves WEP são alteradas dinamicamente. -
WPA & WPA2 Personal
— Wi-Fi Protected Access (WPA), from the draft IEEE 802.11i standard. A replacement for WEP. Wi-Fi Protected Access II (WPA2), from the 802.11i-2004 standard. Personal mode uses a pre-shared key (WPA-PSK). -
WPA & WPA2 Enterprise
— WPA for use with a RADIUS authentication server to provide IEEE 802.1X network access control.
-
- Password - Digite a senha a ser utilizada no processo de autenticação.
- Uma vez terminada a configuração, clique no botão Aplicar para salvá-la.
Quando você adiciona uma nova conexão clicando no botão mais, NetworkManager cria um novo arquivo de configuração para essa conexão e depois abre o mesmo diálogo que é usado para editar uma conexão existente. A diferença entre estes diálogos é que um perfil de conexão existente tem uma entrada no menu Details.
9.4. Conectando-se a uma rede Wi-Fi com nmcli
Este procedimento descreve como se conectar a uma conexão wireless
usando o utilitário nmcli.
Pré-requisitos
- O utilitário nmcli a ser instalado.
Certifique-se de que o rádio WiFi esteja ligado (padrão):
~]$
nmcli radio wifi on
Procedimento
Para atualizar a lista de conexões Wi-Fi disponíveis:
~]$
nmcli device wifi rescan
Para visualizar os pontos de acesso Wi-Fi disponíveis:
~]$
nmcli dev wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY ... MyCafe Infra 3 405 Mbit/s 85 ▂▄▆█ WPA1 WPA2Para se conectar a uma conexão Wi-Fi usando nmcli:
~]$
nmcli dev wifi connect SSID-Name password wireless-password
Por exemplo:
~]$
nmcli dev wifi connect MyCafe password wireless-password
Observe que se você quiser desativar o estado Wi-Fi:
~]$
nmcli radio wifi off
9.5. Conectando-se a uma rede Wi-Fi oculta usando nmcli
Todos os pontos de acesso têm um Service Set Identifier (SSID) para identificá-los. Entretanto, um ponto de acesso pode ser configurado para não transmitir seu SSID, caso em que ele está oculto, e não aparecerá na lista NetworkManager’s de redes disponíveis.
Este procedimento mostra como você pode se conectar a uma rede oculta usando a ferramenta nmcli.
Pré-requisitos
- O utilitário nmcli a ser instalado.
-
Para conhecer o SSID, e a senha da conexão
Wi-Fi
. Certifique-se de que o rádio WiFi esteja ligado (padrão):
~]$
nmcli radio wifi on
Procedimento
Conecte-se ao SSID que está oculto:
~]$
nmcli dev wifi connect SSID_Name password wireless_password hidden yes
9.6. Conexão a uma rede Wi-Fi usando a GUI do GNOME
Este procedimento descreve como você pode se conectar a uma rede sem fio para ter acesso à Internet.
Procedimento
- Abra o menu de ícones de conexão de rede do GNOME Shell a partir do canto superior direito da tela.
-
Selecione
Wi-Fi Not Connected
. -
Clique na opção
Select Network
. Clique no nome da rede à qual você deseja se conectar, e depois clique em
Connect
.Note que se você não vir a rede, a rede pode estar escondida.
Se a rede for protegida por uma senha ou chaves de criptografia, digite a senha e clique em
Connect
.Observe que, se você não souber a senha, entre em contato com o administrador da rede Wi-Fi.
- Se a conexão for bem sucedida, o nome da rede é visível no menu de ícones de conexão e o indicador sem fio está no canto superior direito da tela.
Recursos adicionais
Capítulo 10. Configurando a etiquetagem VLAN
Esta seção descreve como configurar a Virtual Local Area Network (VLAN). Uma VLAN é uma rede lógica dentro de uma rede física. Os pacotes de tags da interface VLAN com o ID da VLAN ao passar pela interface, e remove as tags dos pacotes de retorno.
Você cria uma interface VLAN em cima de outra interface, como uma Ethernet, bond, equipe ou dispositivo de ponte. Esta interface é chamada de parent interface
.
10.1. Configurando a marcação VLAN usando comandos nmcli
Esta seção descreve como configurar a etiquetagem da Rede Local Virtual (VLAN) usando o utilitário nmcli
.
Pré-requisitos
- A interface que você planeja usar como pai para a interface VLAN virtual suporta tags VLAN.
Se você configurar a VLAN em cima de uma interface de vínculo:
- Os portos da ligação estão em alta.
-
O vínculo não é configurado com a opção
fail_over_mac=follow
. Um dispositivo virtual VLAN não pode mudar seu endereço MAC para combinar com o novo endereço MAC da matriz. Nesse caso, o tráfego ainda seria enviado com o endereço MAC de origem então incorreto.
- O switch ao qual o host está conectado é configurado para suportar tags VLAN. Para obter detalhes, consulte a documentação de seu switch.
Procedimento
Exibir as interfaces de rede:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected enp1s0 bridge0 bridge connected bridge0 bond0 bond connected bond0 ...Criar a interface VLAN. Por exemplo, para criar uma interface VLAN chamada
vlan10
que usaenp1s0
como sua interface pai e que tags pacotes com VLAN ID10
, entre:#
nmcli connection add type vlan con-name vlan10 ifname vlan10 vlan.parent enp1s0 vlan.id 10
Note que a VLAN deve estar dentro da faixa de
0
a4094
.Por padrão, a conexão VLAN herda a unidade de transmissão máxima (MTU) da interface pai. Opcionalmente, defina um valor MTU diferente:
#
nmcli connection modify vlan10 802-3-ethernet.mtu 2000
Configurar as configurações de IP do dispositivo VLAN. Pular este passo se você quiser usar este dispositivo VLAN como porta de outros dispositivos.
Configurar as configurações do IPv4. Por exemplo, para configurar um endereço IPv4 estático, máscara de rede, gateway padrão e servidor DNS para a conexão
vlan10
, entre:#
nmcli connection modify vlan10 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify vlan10 ipv4.gateway '192.0.2.254'
#nmcli connection modify vlan10 ipv4.dns '192.0.2.253'
#nmcli connection modify vlan10 ipv4.method manual
Configurar as configurações IPv6. Por exemplo, para configurar um endereço IPv6 estático, máscara de rede, gateway padrão e servidor DNS para a conexão
vlan10
, entre:#
nmcli connection modify vlan10 ipv6.addresses '2001:db8:1::1/32'
#nmcli connection modify vlan10 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify vlan10 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify vlan10 ipv6.method manual
Ativar a conexão:
#
nmcli connection up vlan10
Etapas de verificação
Verificar as configurações:
#
ip -d addr show vlan10
4: vlan10@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d5:e0:fb brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 10 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute vlan10 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::8dd7:9030:6f8e:89e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
-
Para exemplos em
nmcli
, veja a página de manualnmcli-examples(7)
. -
Para todas as propriedades vlan que você pode definir, consulte a seção
vlan setting
na página de manualnm-settings(5)
.
10.2. Configuração da marcação de VLAN usando o editor de nm-conexão
Esta seção descreve como configurar a etiquetagem da Rede Local Virtual (VLAN) usando a aplicação nm-connection-editor
.
Pré-requisitos
- A interface que você planeja usar como pai para a interface VLAN virtual suporta tags VLAN.
Se você configurar a VLAN em cima de uma interface de vínculo:
- Os portos da ligação estão em alta.
-
O vínculo não é configurado com a opção
fail_over_mac=follow
. Um dispositivo virtual VLAN não pode mudar seu endereço MAC para combinar com o novo endereço MAC da matriz. Nesse caso, o tráfego ainda seria enviado com o endereço MAC de origem então incorreto.
- O switch ao qual o host está conectado é configurado para suportar tags VLAN. Para obter detalhes, consulte a documentação de seu switch.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
VLAN
, e clique em Criar. Na aba
VLAN
:- Selecione a interface dos pais.
-
Selecione a identificação VLAN. Observe que a VLAN deve estar dentro da faixa de
0
a4094
. - Por padrão, a conexão VLAN herda a unidade de transmissão máxima (MTU) da interface pai. Opcionalmente, defina um valor MTU diferente.
Opcionalmente, defina o nome da interface VLAN e outras opções específicas da VLAN.
Configurar as configurações de IP do dispositivo VLAN. Pular este passo se você quiser usar este dispositivo VLAN como porta de outros dispositivos.
-
Na aba
IPv4 Settings
, configure as configurações do IPv4. Por exemplo, defina um endereço IPv4 estático, máscara de rede, gateway padrão e servidor DNS -
Na aba
IPv6 Settings
, configure as configurações IPv6. Por exemplo, defina um endereço IPv6 estático, máscara de rede, gateway padrão e servidor DNS
-
Na aba
- Clique em Salvar para salvar a conexão VLAN.
-
Fechar
nm-connection-editor
.
Etapas de verificação
Verificar as configurações:
#
ip -d addr show vlan10
4: vlan10@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d5:e0:fb brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 10 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute vlan10 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::8dd7:9030:6f8e:89e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
10.3. Configuração da etiquetagem VLAN usando as funções do sistema
Você pode usar a função do sistema networking
RHEL para configurar a etiquetagem VLAN. Este procedimento descreve como adicionar uma conexão Ethernet e uma VLAN com ID 10
que usa esta conexão Ethernet. Como o dispositivo pai, a conexão VLAN contém as configurações IP, gateway padrão e DNS.
Dependendo de seu ambiente, ajuste o jogo de acordo. Por exemplo:
-
Para usar a VLAN como uma porta em outras conexões, como uma ligação, omitir o atributo
ip
, e definir a configuração IP na configuração pai. -
Para usar os dispositivos de equipe, ponte, ou bond na VLAN, adapte os atributos
interface_name
etype
dos portos que você usa na VLAN.
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/vlan-ethernet.yml
com o seguinte conteúdo:--- - name: Configure a VLAN that uses an Ethernet connection hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Add an Ethernet profile for the underlying device of the VLAN - name: enp1s0 type: ethernet interface_name: enp1s0 autoconnect: yes state: up ip: dhcp4: no auto6: no # Define the VLAN profile - name: vlan10 type: vlan ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com vlan_id: 10 parent: enp1s0 state: up
O atributo
parent
no perfil da VLAN configura a VLAN para operar em cima do dispositivoenp1s0
.Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/vlan-ethernet.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/vlan-ethernet.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
Capítulo 11. Configuração de uma ponte de rede
Uma ponte de rede é um dispositivo de camada de ligação que encaminha o tráfego entre redes com base em uma tabela de endereços MAC. A ponte constrói a tabela de endereços MAC ouvindo o tráfego da rede e, assim, aprendendo quais hosts estão conectados a cada rede. Por exemplo, você pode usar uma ponte de software em um host Red Hat Enterprise Linux 8 para emular uma ponte de hardware ou em ambientes de virtualização, para integrar máquinas virtuais (VM) à mesma rede que o host.
Uma ponte requer um dispositivo de rede em cada rede que a ponte deve conectar. Quando você configura uma ponte, a ponte é chamada controller
e os dispositivos que ela usa ports
.
Você pode criar pontes em diferentes tipos de dispositivos, como por exemplo:
- Dispositivos Ethernet físicos e virtuais
- Títulos de rede
- Equipes de rede
- Dispositivos VLAN
Devido ao padrão IEEE 802.11 que especifica o uso de quadros de 3 endereços em Wi-Fi para o uso eficiente do tempo de antena, não é possível configurar uma ponte sobre redes Wi-Fi operando nos modos Ad-Hoc ou Infra-estrutura.
11.1. Configuração de uma ponte de rede usando comandos nmcli
Esta seção explica como configurar uma ponte de rede usando o utilitário nmcli
.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da ponte, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor.
Para usar dispositivos de equipe, bond, ou VLAN como portas da ponte, você pode criar estes dispositivos enquanto cria a ponte ou pode criá-los antecipadamente como descrito em:
Procedimento
Criar uma interface de ponte:
#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Este comando cria uma ponte chamada
bridge0
, entre:Mostre as interfaces de rede, e anote os nomes das interfaces que você deseja acrescentar à ponte:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...Neste exemplo:
-
enp7s0
eenp8s0
não estão configurados. Para usar estes dispositivos como portas, adicione perfis de conexão na próxima etapa. -
bond0
ebond1
têm perfis de conexão existentes. Para usar estes dispositivos como portas, modifique seus perfis na próxima etapa.
-
Atribuir as interfaces à ponte.
Se as interfaces que você deseja atribuir à ponte não estiverem configuradas, crie novos perfis de conexão para elas:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp7s0 master bridge0
#nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp8s0 master bridge0
Estes comandos criam perfis para
enp7s0
eenp8s0
, e os adicionam à conexãobridge0
.Se você quiser atribuir um perfil de conexão existente à ponte, defina o parâmetro
master
dessas conexões parabridge0
:#
nmcli connection modify bond0 master bridge0
#nmcli connection modify bond1 master bridge0
Estes comandos atribuem os perfis de conexão existentes denominados
bond0
ebond1
à conexãobridge0
.
Configurar as configurações de IP da ponte. Pule este passo se você quiser usar esta ponte como porta de outros dispositivos.
Configurar as configurações do IPv4. Por exemplo, para configurar um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS da conexão
bridge0
, digite:#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bridge0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bridge0 ipv4.dns '192.0.2.253'
#nmcli connection modify bridge0 ipv4.dns-search 'example.com'
#nmcli connection modify bridge0 ipv4.method manual
Configurar as configurações IPv6. Por exemplo, para configurar um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS da conexão
bridge0
, digite:#
nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify bridge0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bridge0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bridge0 ipv6.dns-search 'example.com'
#nmcli connection modify bridge0 ipv6.method manual
Opcional: Configurar outras propriedades da ponte. Por exemplo, para definir a prioridade do Protocolo Spanning Tree (STP) de
bridge0
a16384
, entre:#
nmcli connection modify bridge0 bridge.priority '16384'
Por padrão, o STP está habilitado.
Ativar a conexão:
#
nmcli connection up bridge0
Verifique se os portos estão conectados, e a coluna
CONNECTION
mostra o nome da conexão do porto:#
nmcli device
DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2O Red Hat Enterprise Linux ativa o controlador e as portas quando o sistema inicia. Ativando qualquer conexão de porta, o controlador também é ativado. No entanto, neste caso, apenas uma conexão de porta é ativada. Por default, a ativação do controlador não ativa automaticamente as portas. No entanto, é possível ativar este comportamento através da configuração:
Habilitar o parâmetro
connection.autoconnect-slaves
da conexão da ponte:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Reativar a ponte:
#
nmcli connection up bridge0
Etapas de verificação
Exibir o status do link dos dispositivos Ethernet que são portas de uma ponte específica:
#
ip link show master bridge0
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffMostrar o status dos dispositivos Ethernet que são portas de qualquer dispositivo de ponte:
#
bridge link show
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100 5: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state forwarding priority 32 cost 100 6: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state blocking priority 32 cost 100 ...Para exibir o status de um dispositivo Ethernet específico, use o
bridge link show dev ethernet_device_name
comando.
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
-
Para exemplos em
nmcli
, veja a página de manualnmcli-examples(7)
. -
Para todas as propriedades da ponte que você pode definir, consulte a seção
bridge settings
na página de manualnm-settings(5)
. -
Para todas as propriedades do porto da ponte que você pode definir, consulte a seção
bridge-port settings
na página de manualnm-settings(5)
. -
Para obter detalhes sobre a utilidade
bridge
, consulte a página de manualbridge(8)
. - Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
11.2. Configuração de uma ponte de rede usando um editor de conexão nm
Esta seção explica como configurar uma ponte de rede usando a aplicação nm-connection-editor
.
Note que nm-connection-editor
pode adicionar apenas novos portos a uma ponte. Para usar um perfil de conexão existente como porta, crie a ponte usando o utilitário nmcli
como descrito em Seção 11.1, “Configuração de uma ponte de rede usando comandos nmcli”.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da ponte, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor.
- Para usar dispositivos de equipe, de ligação ou VLAN como portas da ponte, certifique-se de que estes dispositivos ainda não estejam configurados.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
Bridge
, e clique em Criar. Na aba
Bridge
:-
Opcional: Defina o nome da interface da ponte no campo
Interface name
. Clique no botão Adicionar para criar um novo perfil de conexão para uma interface de rede e adicionar o perfil como uma porta para a ponte.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Ethernet
para uma conexão com fio. - Opcionalmente, defina um nome de conexão para o dispositivo de porta.
-
Se você criar um perfil de conexão para um dispositivo Ethernet, abra a aba
Ethernet
, e selecione no campoDevice
a interface de rede que você deseja adicionar como porta para a ponte. Se você selecionou um tipo de dispositivo diferente, configure-o de acordo. - Clique em Salvar.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Repita a etapa anterior para cada interface que você deseja acrescentar à ponte.
-
Opcional: Defina o nome da interface da ponte no campo
- Opcional: Configurar outras configurações de ponte, tais como opções do Protocolo Spanning Tree (STP).
Configurar as configurações de IP da ponte. Pule esta etapa se você quiser usar esta ponte como porta de outros dispositivos.
Na aba
IPv4 Settings
, configure as configurações do IPv4. Por exemplo, defina um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS:Na aba
IPv6 Settings
, configure as configurações IPv6. Por exemplo, defina um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS:
- Salvar a conexão da ponte.
-
Fechar
nm-connection-editor
.
Etapas de verificação
Exibir o status do link dos dispositivos Ethernet que são portas de uma ponte específica.
#
ip link show master bridge0
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffMostrar o status dos dispositivos Ethernet que são portas em qualquer dispositivo de ponte:
#
bridge link show
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100 5: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state forwarding priority 32 cost 100 6: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state blocking priority 32 cost 100 ...Para exibir o status de um dispositivo Ethernet específico, use o
bridge link show dev ethernet_device_name
comando.
Recursos adicionais
- Seção 13.6, “Configuração de uma ligação de rede usando um editor de nm-conexão”
- Seção 12.7, “Configuração de uma equipe de rede usando um editor de nm-conexão”
- Seção 10.2, “Configuração da marcação de VLAN usando o editor de nm-conexão”
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
11.3. Configuração de uma ponte de rede usando as funções do sistema RHEL
Você pode usar o sistema networking
RHEL Role para configurar uma ponte Linux. Este procedimento descreve como configurar uma ponte de rede que utiliza dois dispositivos Ethernet e define endereços IPv4 e IPv6, gateways padrão e configuração DNS.
Defina a configuração IP na ponte e não nas portas da ponte Linux.
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado. - Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/bridge-ethernet.yml
com o seguinte conteúdo:--- - name: Configure a network bridge that uses two Ethernet ports hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Define the bridge profile - name: bridge0 type: bridge interface_name: bridge0 ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com state: up # Add an Ethernet profile to the bridge - name: bridge0-port1 interface_name: enp7s0 type: ethernet master: bridge0 slave_type: bridge state: up # Add a second Ethernet profile to the bridge - name: bridge0-port2 interface_name: enp8s0 type: ethernet master: bridge0 slave_type: bridge state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/bridge-ethernet.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/bridge-ethernet.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
Capítulo 12. Configuração da equipe da rede
Esta seção descreve os conceitos básicos do trabalho em rede em equipe, as diferenças entre a união e o trabalho em equipe, e como configurar uma equipe de rede no Red Hat Enterprise Linux 8.
Você pode criar equipes de rede em diferentes tipos de dispositivos, como por exemplo:
- Dispositivos Ethernet físicos e virtuais
- Títulos de rede
- Pontes de rede
- Dispositivos VLAN
12.1. Entendendo o trabalho em equipe em rede
A equipe de rede é uma característica que combina ou agrega interfaces de rede para fornecer uma interface lógica com maior rendimento ou redundância.
A equipe de rede usa um driver de kernel para implementar um manuseio rápido dos fluxos de pacotes, assim como bibliotecas de espaço do usuário e serviços para outras tarefas. Desta forma, o trabalho em equipe em rede é uma solução facilmente extensível e escalável para balanceamento de carga e requisitos de redundância.
Certas características de equipe de rede, como o mecanismo de fail-over, não suportam conexões diretas de cabos sem um switch de rede. Para mais detalhes, veja Ligação com conexão direta usando cabos cruzados?
12.2. Entendendo o comportamento padrão do controlador e das interfaces de porta
Considere o seguinte comportamento padrão, ao gerenciar ou solucionar problemas de equipe ou interfaces de portas de vínculo usando o serviço NetworkManager
:
- O início da interface do controlador não inicia automaticamente as interfaces de porta.
- Iniciar uma interface de porta sempre inicia a interface do controlador.
- A parada da interface do controlador também pára a interface da porta.
- Um controlador sem portas pode iniciar conexões IP estáticas.
- Um controlador sem portas espera por portas ao iniciar as conexões DHCP.
- Um controlador com uma conexão DHCP à espera de portas se completa quando você adiciona uma porta com um transportador.
- Um controlador com uma conexão DHCP esperando por portas continua esperando quando você adiciona uma porta sem transportador.
12.3. Comparação entre as características de equipe de rede e de ligação
Conheça os recursos suportados em equipes de rede e vínculos de rede:
Destaque | Ligação em rede | Equipe da rede |
---|---|---|
Política de Tx Broadcast | Sim | Sim |
Política do Tx Round-robin | Sim | Sim |
Política de Tx backup ativo | Sim | Sim |
Suporte LACP (802.3ad) | Sim (somente ativo) | Sim |
Política Tx baseada em hastes | Sim | Sim |
O usuário pode definir a função hash | Não | Sim |
Tx load-balancing support (TLB) | Sim | Sim |
LACP porto hash selecionar | Sim | Sim |
Balanceamento de carga para suporte LACP | Não | Sim |
Monitoramento do Ethtool link | Sim | Sim |
Monitoramento do link ARP | Sim | Sim |
Monitoramento de links NS/NA (IPv6) | Não | Sim |
Atrasos nas portas para cima/para baixo | Sim | Sim |
Prioridades portuárias e aderência (opção "primária" de melhoria) | Não | Sim |
Configuração de monitoramento separado por link de porta | Não | Sim |
Configuração de monitoramento de múltiplos links | Limitado | Sim |
Caminho Tx/Rx sem fechadura | Não (rwlock) | Sim (RCU) |
Suporte VLAN | Sim | Sim |
Controle do tempo de execução do espaço do usuário | Limitado | Sim |
Lógica no espaço do usuário | Não | Sim |
Extensibilidade | Difícil | Fácil |
Design modular | Não | Sim |
Despesas gerais de desempenho | Baixo | Muito baixo |
Interface D-Bus | Não | Sim |
Empilhamento de múltiplos dispositivos | Sim | Sim |
Configuração zero usando LLDP | Não | (no planejamento) |
Apoio ao NetworkManager | Sim | Sim |
12.4. Entendendo o serviço da equipe, corredores e vigilantes de ligação
O serviço de equipe, teamd
, controla uma instância do motorista da equipe. Esta instância do driver acrescenta instâncias de um driver de dispositivo de hardware para formar uma equipe de interfaces de rede. O driver da equipe apresenta uma interface de rede, por exemplo team0
, para o kernel.
O serviço teamd
implementa a lógica comum a todos os métodos de trabalho em equipe. Essas funções são exclusivas dos diferentes métodos de compartilhamento de carga e backup, como o round-robin, e implementadas por unidades separadas de código referidas como runners
. Os administradores especificam os executores no formato JavaScript Object Notation (JSON), e o código JSON é compilado em uma instância de teamd
quando a instância é criada. Alternativamente, ao utilizar NetworkManager
, você pode definir o runner no parâmetro team.runner
, e NetworkManager
auto-cria o código JSON correspondente.
Estão disponíveis os seguintes corredores:
-
broadcast
: Transmite dados sobre todos os portos. -
roundrobin
: Transmite dados sobre todos os portos, por sua vez. -
activebackup
: Transmite dados sobre uma porta enquanto as outras são mantidas como backup. -
loadbalance
: Transmite dados sobre todas as portas com balanceamento de carga Tx ativo e seletores de porta Tx baseados em Berkeley Packet Filter (BPF). -
random
: Transmite dados em uma porta selecionada aleatoriamente. -
lacp
: implementa o Protocolo de Controle de Agregação de Links 802.3ad (LACP).
Os serviços teamd
usam um link observador para monitorar o estado dos dispositivos subordinados. Os seguintes vigilantes de link estão disponíveis:
-
ethtool
: A bibliotecalibteam
usa o utilitárioethtool
para observar as mudanças de estado dos links. Este é o link-observador padrão. -
arp_ping
: A bibliotecalibteam
usa o utilitárioarp_ping
para monitorar a presença de um endereço de hardware remoto usando o Protocolo de Resolução de Endereços (ARP). -
nsna_ping
: Nas conexões IPv6, a bibliotecalibteam
usa os recursos de Anúncio de Vizinhança e Solicitação de Vizinhança do protocolo IPv6 Neighbor Discovery para monitorar a presença da interface de um vizinho.
Cada corredor pode usar qualquer link observador, com exceção do lacp
. Este corredor só pode utilizar o link watcher ethtool
.
12.5. Instalando o serviço da equipe
Para configurar uma equipe de rede em NetworkManager
, você precisa do serviço teamd
e do plug-in da equipe para NetworkManager
. Ambos são instalados no Red Hat Enterprise Linux 8 por default. Esta seção descreve como você instala os pacotes necessários caso você os remova.
Pré-requisitos
- Uma assinatura ativa da Red Hat é designada para o anfitrião.
Procedimento
Instale os pacotes
teamd
eNetworkManager-team
:# yum instalar equipe de NetworkManager teamd
12.6. Configuração de uma equipe de rede usando comandos nmcli
Esta seção descreve como configurar uma equipe de rede usando o utilitário nmcli
.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da equipe, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor e conectados a um switch.
Para usar dispositivos bond, bridge ou VLAN como portas da equipe, você pode criar estes dispositivos enquanto cria a equipe ou pode criá-los com antecedência, conforme descrito em:
Procedimento
Criar uma interface de equipe:
#
nmcli connection add type team con-name team0 ifname team0 team.runner activebackup
Este comando cria uma equipe de rede chamada
team0
que utiliza o corredoractivebackup
.Opcionalmente, estabeleça um observador de ligação. Por exemplo, para definir o link watcher
ethtool
no perfil de conexãoteam0
:#
nmcli connection modify team0 team.link-watchers "name=ethtool"
Os observadores de ligação suportam diferentes parâmetros. Para definir parâmetros para um observador de ligação, especifique-os separados por espaço na propriedade
name
. Observe que a propriedade do nome deve estar rodeada por aspas. Por exemplo, para usar o link watcherethtool
e definir seu parâmetrodelay-up
para2500
milissegundos (2,5 segundos):#
nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2500"
Para definir vários vigilantes de ligação e cada um deles com parâmetros específicos, os vigilantes de ligação devem ser separados por uma vírgula. O exemplo a seguir define o link watcher
ethtool
com o parâmetrodelay-up
e o link watcherarp_ping
com os parâmetrossource-host
etarget-host
:#
nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2, name=arp_ping source-host=192.0.2.1 target-host=192.0.2.2"
Mostre as interfaces de rede, e anote os nomes das interfaces que você deseja acrescentar à equipe:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...Neste exemplo:
-
enp7s0
eenp8s0
não estão configurados. Para usar estes dispositivos como portas, adicione perfis de conexão na próxima etapa. Observe que você só pode usar interfaces Ethernet em uma equipe que não esteja designada a nenhuma conexão. -
bond0
ebond1
têm perfis de conexão existentes. Para usar estes dispositivos como portas, modifique seus perfis na próxima etapa.
-
Atribuir as interfaces portuárias à equipe:
Se as interfaces que você deseja atribuir à equipe não estiverem configuradas, crie novos perfis de conexão para elas:
#
nmcli connection add type ethernet slave-type team con-name team0-port1 ifname enp7s0 master team0
#nmcli connection add type ethernet slave-type team con-name team0-port2 ifname enp8s0 master team0
. Estes comandos criam perfis para
enp7s0
eenp8s0
, e os adicionam à conexãoteam0
.Para atribuir um perfil de conexão existente à equipe, defina o parâmetro
master
dessas conexões parateam0
:#
nmcli connection modify bond0 master team0
#nmcli connection modify bond1 master team0
Estes comandos atribuem os perfis de conexão existentes denominados
bond0
ebond1
à conexãoteam0
.
Configurar as configurações de IP da equipe. Pule esta etapa se você quiser usar esta equipe como porta de outros dispositivos.
Configurar as configurações do IPv4. Por exemplo, para configurar um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS a conexão
team0
, digite:#
nmcli connection modify team0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify team0 ipv4.gateway '192.0.2.254'
#nmcli connection modify team0 ipv4.dns '192.0.2.253'
#nmcli connection modify team0 ipv4.dns-search 'example.com'
#nmcli connection modify team0 ipv4.method manual
Configurar as configurações IPv6. Por exemplo, para configurar um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS da conexão
team0
, digite:#
nmcli connection modify team0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify team0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify team0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify team0 ipv6.dns-search 'example.com'
#nmcli connection modify team0 ipv6.method manual
Ativar a conexão:
#
nmcli connection up team0
Etapas de verificação
Mostrar o status da equipe:
#
teamdctl team0 state
setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0Neste exemplo, ambos os portos estão em alta.
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
- Seção 12.4, “Entendendo o serviço da equipe, corredores e vigilantes de ligação”.
-
Para exemplos em
nmcli
, veja a página de manualnmcli-examples(7)
. -
Para todas as propriedades da equipe que você pode definir, consulte a seção
team
na página de manualnm-settings(5)
. -
Para parâmetros que você pode definir na configuração do JSON, assim como exemplos do JSON, veja a página de manual
teamd.conf(5)
.
12.7. Configuração de uma equipe de rede usando um editor de nm-conexão
Esta seção descreve como você configura uma equipe de rede usando o aplicativo nm-connection-editor
.
Note que nm-connection-editor
pode adicionar apenas novos portos a uma equipe. Para usar um perfil de conexão existente como uma porta, crie a equipe usando o utilitário nmcli
, conforme descrito em Seção 12.6, “Configuração de uma equipe de rede usando comandos nmcli”.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da equipe, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor.
- Para usar dispositivos de equipe, bond, ou VLAN como portas da equipe, garantir que estes dispositivos ainda não estejam configurados.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
Team
, e clique em Criar. Na aba
Team
:-
Opcional: Defina o nome da interface da equipe no campo
Interface name
. Clique no botão Adicionar para adicionar um novo perfil de conexão para uma interface de rede e adicionar o perfil como uma porta para a equipe.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Ethernet
para uma conexão com fio. - Opcional: Defina um nome de conexão para o porto.
-
Se você criar um perfil de conexão para um dispositivo Ethernet, abra a aba
Ethernet
, e selecione no campoDevice
a interface de rede que você deseja adicionar como porta à equipe. Se você selecionou um tipo de dispositivo diferente, configure-o de acordo. Observe que você só pode usar interfaces Ethernet em uma equipe que não esteja designada a nenhuma conexão. - Clique em Salvar.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Repita a etapa anterior para cada interface que você deseja acrescentar à equipe.
Clique no botão Avançado para definir opções avançadas para a conexão da equipe.
-
Na aba
Runner
, selecione a corrediça. -
Na aba
Link Watcher
, defina o link watcher e suas configurações opcionais. - Clique OK.
-
Na aba
-
Opcional: Defina o nome da interface da equipe no campo
Configurar as configurações de IP da equipe. Pule esta etapa se você quiser usar esta equipe como porta de outros dispositivos.
-
Na aba
IPv4 Settings
, configure as configurações do IPv4. Por exemplo, defina um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS -
Na aba
IPv6 Settings
, configure as configurações IPv6. Por exemplo, defina um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS
-
Na aba
- Salvar a conexão da equipe.
-
Fechar
nm-connection-editor
.
Etapas de verificação
Mostrar o status da equipe:
#
teamdctl team0 state
setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0
Recursos adicionais
- Seção 13.6, “Configuração de uma ligação de rede usando um editor de nm-conexão”
- Seção 11.2, “Configuração de uma ponte de rede usando um editor de conexão nm”
- Seção 10.2, “Configuração da marcação de VLAN usando o editor de nm-conexão”
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
- Seção 12.4, “Entendendo o serviço da equipe, corredores e vigilantes de ligação”.
- Se a configuração no disco não corresponder à configuração no dispositivo, iniciar ou reiniciar o NetworkManager cria uma conexão in-memory que reflete a configuração do dispositivo. Para maiores detalhes e como evitar este problema, veja NetworkManager duplica uma conexão após o reinício do serviço NetworkManager.
Capítulo 13. Configurando a ligação em rede
Esta seção descreve o básico da ligação em rede, as diferenças entre ligação e equipe, e como configurar uma ligação em rede no Red Hat Enterprise Linux 8.
Você pode criar vínculos em diferentes tipos de dispositivos, como por exemplo:
- Dispositivos Ethernet físicos e virtuais
- Pontes de rede
- Equipes de rede
- Dispositivos VLAN
13.1. Entendendo a ligação em rede
A ligação de rede é um método para combinar ou agregar interfaces de rede para fornecer uma interface lógica com maior rendimento ou redundância.
Os modos active-backup
, balance-tlb
, e balance-alb
não exigem nenhuma configuração específica do switch de rede. Entretanto, outros modos de ligação exigem a configuração do switch para agregar os links. Por exemplo, os switches Cisco requerem EtherChannel
para os modos 0, 2, e 3, mas para o modo 4, o Protocolo de Controle de Agregação de Links (LACP) e EtherChannel
são necessários.
Para mais detalhes, veja a documentação de seu switch e do Linux Ethernet Bonding Driver HOWTO.
Certas características de ligação de rede, como o mecanismo de fail-over, não suportam conexões diretas de cabos sem um switch de rede. Para mais detalhes, veja a seção É a colagem suportada com conexão direta utilizando cabos cruzados? A solução KCS.
13.2. Entendendo o comportamento padrão do controlador e das interfaces de porta
Considere o seguinte comportamento padrão, ao gerenciar ou solucionar problemas de equipe ou interfaces de portas de vínculo usando o serviço NetworkManager
:
- O início da interface do controlador não inicia automaticamente as interfaces de porta.
- Iniciar uma interface de porta sempre inicia a interface do controlador.
- A parada da interface do controlador também pára a interface da porta.
- Um controlador sem portas pode iniciar conexões IP estáticas.
- Um controlador sem portas espera por portas ao iniciar as conexões DHCP.
- Um controlador com uma conexão DHCP à espera de portas se completa quando você adiciona uma porta com um transportador.
- Um controlador com uma conexão DHCP esperando por portas continua esperando quando você adiciona uma porta sem transportador.
13.3. Comparação entre as características de equipe de rede e de ligação
Conheça os recursos suportados em equipes de rede e vínculos de rede:
Destaque | Ligação em rede | Equipe da rede |
---|---|---|
Política de Tx Broadcast | Sim | Sim |
Política do Tx Round-robin | Sim | Sim |
Política de Tx backup ativo | Sim | Sim |
Suporte LACP (802.3ad) | Sim (somente ativo) | Sim |
Política Tx baseada em hastes | Sim | Sim |
O usuário pode definir a função hash | Não | Sim |
Tx load-balancing support (TLB) | Sim | Sim |
LACP porto hash selecionar | Sim | Sim |
Balanceamento de carga para suporte LACP | Não | Sim |
Monitoramento do Ethtool link | Sim | Sim |
Monitoramento do link ARP | Sim | Sim |
Monitoramento de links NS/NA (IPv6) | Não | Sim |
Atrasos nas portas para cima/para baixo | Sim | Sim |
Prioridades portuárias e aderência (opção "primária" de melhoria) | Não | Sim |
Configuração de monitoramento separado por link de porta | Não | Sim |
Configuração de monitoramento de múltiplos links | Limitado | Sim |
Caminho Tx/Rx sem fechadura | Não (rwlock) | Sim (RCU) |
Suporte VLAN | Sim | Sim |
Controle do tempo de execução do espaço do usuário | Limitado | Sim |
Lógica no espaço do usuário | Não | Sim |
Extensibilidade | Difícil | Fácil |
Design modular | Não | Sim |
Despesas gerais de desempenho | Baixo | Muito baixo |
Interface D-Bus | Não | Sim |
Empilhamento de múltiplos dispositivos | Sim | Sim |
Configuração zero usando LLDP | Não | (no planejamento) |
Apoio ao NetworkManager | Sim | Sim |
13.4. Configuração do Switch Upstream Dependendo dos Modos de Ligação
A tabela a seguir descreve quais configurações você deve aplicar ao interruptor a montante, dependendo do modo de ligação:
Modo de colagem | Configuração no interruptor |
---|---|
| Requer Etherchannel estático ativado (não negociado com o LACP) |
| Requer portos autônomos |
| Requer Etherchannel estático ativado (não negociado com o LACP) |
| Requer Etherchannel estático ativado (não negociado com o LACP) |
| Requer LACP-negociado Etherchannel habilitado |
| Requer portos autônomos |
| Requer portos autônomos |
Para configurar estas configurações em seu switch, consulte a documentação do switch.
13.5. Configuração de uma ligação em rede usando comandos nmcli
Esta seção descreve como configurar um vínculo de rede usando os comandos nmcli
.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da ligação, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor.
Para usar dispositivos de equipe, ponte ou VLAN como portas da ligação, você pode criar estes dispositivos enquanto cria a ligação ou pode criá-los com antecedência, conforme descrito em:
Procedimento
Criar uma interface de vínculo:
#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Este comando cria um vínculo chamado
bond0
que usa o modoactive-backup
.Para definir adicionalmente um intervalo de monitoramento da Interface Independente de Mídia (MII), acrescente o
miimon=interval
opção para a propriedadebond.options
. Por exemplo, para usar o mesmo comando mas, adicionalmente, definir o intervalo de monitoramento MII para1000
milissegundos (1 segundo), entrar:#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
Mostrar as interfaces de rede, e anotar os nomes das interfaces que você planeja acrescentar ao vínculo:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bridge0 bridge connected bridge0 bridge1 bridge connected bridge1 ...Neste exemplo:
-
enp7s0
eenp8s0
não estão configurados. Para usar estes dispositivos como portas, adicione perfis de conexão na próxima etapa. -
bridge0
ebridge1
têm perfis de conexão existentes. Para usar estes dispositivos como portas, modifique seus perfis na próxima etapa.
-
Atribuir interfaces para a ligação:
Se as interfaces que você deseja atribuir ao vínculo não estiverem configuradas, crie novos perfis de conexão para elas:
#
nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0
#nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0
Estes comandos criam perfis para
enp7s0
eenp8s0
, e os adicionam à conexãobond0
.Para atribuir um perfil de conexão existente ao vínculo, defina o parâmetro
master
dessas conexões parabond0
:#
nmcli connection modify bridge0 master bond0
#nmcli connection modify bridge1 master bond0
Estes comandos atribuem os perfis de conexão existentes denominados
bridge0
ebridge1
à conexãobond0
.
Configurar as configurações de IP do vínculo. Pule esta etapa se você quiser usar este vínculo como porta de outros dispositivos.
Configurar as configurações do IPv4. Por exemplo, para configurar um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS para a conexão
bond0
, digite:#
nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bond0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bond0 ipv4.dns '192.0.2.253'
#nmcli connection modify bond0 ipv4.dns-search 'example.com'
#nmcli connection modify bond0 ipv4.method manual
Configurar as configurações IPv6. Por exemplo, para configurar um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS para a conexão
bond0
, digite:#
nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64
#nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bond0 ipv6.dns-search 'example.com'
#nmcli connection modify bond0 ipv6.method manual
Ativar a conexão:
#
nmcli connection up bond0
Verifique se os portos estão conectados, e a coluna
CONNECTION
mostra o nome da conexão do porto:#
nmcli device
DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bond0-port1 enp8s0 ethernet connected bond0-port2O Red Hat Enterprise Linux ativa o controlador e os dispositivos de porta quando o sistema é inicializado. Ativando qualquer conexão de porta, o controlador também é ativado. Entretanto, neste caso, apenas uma conexão de porta é ativada. Por default, a ativação do controlador não ativa automaticamente as portas. No entanto, é possível ativar este comportamento através da configuração:
Habilitar o parâmetro
connection.autoconnect-slaves
da conexão do vínculo:#
nmcli connection modify bond0 connection.autoconnect-slaves 1
Reativar a ponte:
#
nmcli connection up bond0
Etapas de verificação
Mostrar o status do vínculo:
#
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: enp7s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:d5:e0:fb Slave queue ID: 0 Slave Interface: enp8s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:b2:e2:63 Slave queue ID: 0Neste exemplo, ambos os portos estão em alta.
Para verificar se o failover da colagem funciona:
- Remover temporariamente o cabo de rede do host. Note que não há nenhum método para testar adequadamente os eventos de falha do link usando a linha de comando.
Mostrar o status do vínculo:
#
cat /proc/net/bonding/bond0
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
-
Para exemplos em
nmcli
, veja a página de manualnmcli-examples(7)
. -
Para obter uma lista de opções que você pode definir no parâmetro
bond.options
do comandonmcli
ao criar um vínculo, consulte https://www.kernel.org/doc/Documentation/networking/bonding.txt.
13.6. Configuração de uma ligação de rede usando um editor de nm-conexão
Esta seção descreve como configurar um vínculo de rede usando a aplicação nm-connection-editor
.
Note que nm-connection-editor
pode adicionar apenas novos portos a um vínculo. Para usar um perfil de conexão existente como uma porta, crie o vínculo usando o utilitário nmcli
como descrito em Seção 13.5, “Configuração de uma ligação em rede usando comandos nmcli”.
Pré-requisitos
- Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
- Para usar dispositivos Ethernet como portas da ligação, os dispositivos Ethernet físicos ou virtuais devem ser instalados no servidor.
- Para usar dispositivos de equipe, bond, ou VLAN como portas do bond, garantir que estes dispositivos ainda não estejam configurados.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
Bond
, e clique em Criar. Na aba
Bond
:-
Opcional: Defina o nome da interface do vínculo no campo
Interface name
. Clique no botão Adicionar para adicionar uma interface de rede como uma porta para o vínculo.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Ethernet
para uma conexão com fio. - Opcional: Defina um nome de conexão para o porto.
-
Se você criar um perfil de conexão para um dispositivo Ethernet, abra a aba
Ethernet
, e selecione no campoDevice
a interface de rede que você deseja adicionar como porta ao vínculo. Se você selecionou um tipo de dispositivo diferente, configure-o de acordo. Observe que você só pode usar interfaces Ethernet em um vínculo que não esteja configurado. - Clique em Salvar.
-
Selecione o tipo de conexão da interface. Por exemplo, selecione
Repita a etapa anterior para cada interface que você deseja acrescentar ao vínculo:
- Opcional: Defina outras opções, tais como o intervalo de monitoramento da Interface Independente de Mídia (MII).
-
Opcional: Defina o nome da interface do vínculo no campo
Configurar as configurações de IP do vínculo. Pule esta etapa se você quiser usar este vínculo como porta de outros dispositivos.
Na aba
IPv4 Settings
, configure as configurações do IPv4. Por exemplo, defina um endereço IPv4 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS:Na aba
IPv6 Settings
, configure as configurações IPv6. Por exemplo, defina um endereço IPv6 estático, máscara de rede, gateway padrão, servidor DNS e domínio de busca DNS:
- Clique em Salvar para salvar a conexão do vínculo.
-
Fechar
nm-connection-editor
.
Etapas de verificação
Veja o status do vínculo:
$
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: enp7s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:d5:e0:fb Slave queue ID: 0 Slave Interface: enp8s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:b2:e2:63 Slave queue ID: 0Neste exemplo, ambos os portos estão em alta.
Recursos adicionais
- Seção 12.7, “Configuração de uma equipe de rede usando um editor de nm-conexão”
- Seção 11.2, “Configuração de uma ponte de rede usando um editor de conexão nm”
- Seção 10.2, “Configuração da marcação de VLAN usando o editor de nm-conexão”
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
- Se a conexão não tiver um gateway padrão, veja Seção 18.8, “Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão”.
13.7. Configuração de um vínculo de rede usando as funções do sistema RHEL
Você pode usar a função do Sistema RHEL network
para configurar um vínculo de rede. Este procedimento descreve como configurar um vínculo em modo de backup ativo que usa dois dispositivos Ethernet e define um endereço IPv4 e IPv6, gateways padrão e configuração DNS.
Defina a configuração IP na ponte e não nas portas da ponte Linux.
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado. - Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/bond-ethernet.yml
com o seguinte conteúdo:--- - name: Configure a network bond that uses two Ethernet ports hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Define the bond profile - name: bond0 type: bond interface_name: bond0 ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com bond: mode: active-backup state: up # Add an Ethernet profile to the bond - name: bond0-port1 interface_name: enp7s0 type: ethernet master: bond0 state: up # Add a second Ethernet profile to the bond - name: bond0-port2 interface_name: enp8s0 type: ethernet master: bond0 state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/bond-ethernet.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/bond-ethernet.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
13.8. Criação de uma ligação de rede para permitir a comutação entre uma conexão Ethernet e sem fio sem interromper a VPN
Os usuários da RHEL que conectam sua estação de trabalho à rede de sua empresa normalmente usam uma VPN para acessar recursos remotos. Entretanto, se a estação de trabalho comutar entre uma conexão Ethernet e Wi-Fi, por exemplo, se você liberar um laptop de uma estação de acoplamento com uma conexão Ethernet, a conexão VPN é interrompida. Para evitar este problema, você pode criar uma ligação de rede que usa a conexão Ethernet e Wi-Fi no modo active-backup
.
Pré-requisitos
- O host contém uma Ethernet e um dispositivo Wi-Fi.
Foi criado um perfil de conexão Ethernet e Wi-Fi NetworkManager e ambas as conexões funcionam independentemente.
Este procedimento utiliza os seguintes perfis de conexão para criar um vínculo de rede chamado
bond0
:-
Docking_station
associado com o dispositivo Ethernetenp11s0u1
-
Wi-Fi
associado com o dispositivo Wi-Fiwlp61s0
-
Procedimento
Criar uma interface de vínculo no modo
active-backup
:#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Este comando nomeia tanto a interface quanto o perfil de conexão
bond0
.Configurar as configurações IPv4 do vínculo:
- Se um servidor DHCP em sua rede atribui endereços IPv4 a hosts, nenhuma ação é necessária.
Se sua rede local requer endereços IPv4 estáticos, defina o endereço, máscara de rede, gateway padrão, servidor DNS, e domínio de busca DNS para a conexão
bond0
:#
nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bond0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bond0 ipv4.dns '192.0.2.253'
#nmcli connection modify bond0 ipv4.dns-search 'example.com'
#nmcli connection modify bond0 ipv4.method manual
Configurar as configurações IPv6 do vínculo:
- Se seu roteador ou um servidor DHCP em sua rede atribui endereços IPv6 a hosts, nenhuma ação é necessária.
Se sua rede local requer endereços IPv6 estáticos, defina o endereço, máscara de rede, gateway padrão, servidor DNS, e domínio de busca DNS para a conexão
bond0
:#
nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bond0 ipv6.dns-search 'example.com'
#nmcli connection modify bond0 ipv6.method manual
Exibir os perfis de conexão:
# nmcli connection show NAME UUID TYPE DEVICE Docking_station 256dd073-fecc-339d-91ae-9834a00407f9 ethernet enp11s0u1 Wi-Fi 1f1531c7-8737-4c60-91af-2d21164417e8 wifi wlp61s0 ...
Você requer os nomes dos perfis de conexão e o nome do dispositivo Ethernet nas próximas etapas.
Atribuir o perfil de conexão da conexão Ethernet ao vínculo:
#
nmcli connection modify Docking_station master bond0
Atribuir o perfil de conexão da conexão Wi-Fi ao vínculo:
#
nmcli connection modify Wi-Fi master bond0
Se sua rede Wi-Fi usa filtragem MAC para permitir somente endereços MAC em uma lista de permissão de acesso à rede, configure esse NetworkManager para atribuir dinamicamente o endereço MAC da porta ativa à ligação:
#
nmcli connection modify bond0 bond.options fail_over_mac=1
Com esta configuração, você deve definir apenas o endereço MAC do dispositivo Wi-Fi para a lista de permissão em vez do endereço MAC do dispositivo Ethernet e Wi-Fi.
Configure o dispositivo associado à conexão Ethernet como dispositivo principal da ligação:
#
nmcli con modify bond0 bond.options "primary=enp11s0u1"
Com este ajuste, a ligação sempre usa a conexão Ethernet, se ela estiver disponível.
Configure o NetworkManager para ativar automaticamente as portas quando o dispositivo
bond0
for ativado:#
nmcli connection modify bond0 connection.autoconnect-slaves 1
Ativar a conexão
bond0
:#
nmcli connection up bond0
Etapas de verificação
Mostrar o dispositivo atualmente ativo, o status do vínculo e seus portos:
#
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active) Primary Slave: enp11s0u1 (primary_reselect always) Currently Active Slave: enp11s0u1 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp11s0u1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:53:00:59:da:b7 Slave queue ID: 0 Slave Interface: wlp61s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 2 Permanent HW addr: 00:53:00:b3:22:ba Slave queue ID: 0
Capítulo 14. Configuração de uma conexão VPN
Esta seção explica como configurar uma conexão de rede privada virtual (VPN).
Uma VPN é uma forma de conexão a uma rede local pela Internet. IPsec
fornecido por Libreswan
é o método preferido para criar uma VPN. Libreswan
é um espaço do usuário IPsec
implementação para VPN. Uma VPN permite a comunicação entre sua LAN, e outra LAN remota, através da criação de um túnel através de uma rede intermediária, como a Internet. Por razões de segurança, um túnel VPN sempre usa autenticação e criptografia. Para operações criptográficas, Libreswan
utiliza a biblioteca NSS
.
14.1. Configuração de uma conexão VPN com o centro de controle
Este procedimento descreve como configurar uma conexão VPN usando control-center
.
Pré-requisitos
-
O pacote
NetworkManager-libreswan-gnome
está instalado.
Procedimento
-
Pressione a tecla Super, digite
Settings
, e pressione Enter para abrir o aplicativocontrol-center
. -
Selecione a entrada
Network
à esquerda. - Clique no ícone .
-
Selecione
VPN
. Selecione a entrada do menu
Identity
para ver as opções básicas de configuração:General
Gateway
- O nome ou endereçoIP
do gateway VPN remoto.Authentication
Type
-
IKEv2 (Certificate)
- o cliente é autenticado por certificado. É mais seguro (padrão). IKEv1 (XAUTH)
- o cliente é autenticado por nome de usuário e senha, ou por uma chave pré-compartilhada (PSK).Os seguintes ajustes de configuração estão disponíveis na seção
Advanced
:Figura 14.1. Opções avançadas de uma conexão VPN
AtençãoAo configurar uma conexão VPN baseada em IPsec usando o aplicativo
gnome-control-center
, o diálogoAdvanced
exibe a configuração, mas não permite nenhuma mudança. Como conseqüência, os usuários não podem alterar nenhuma opção IPsec avançada. Utilize as ferramentasnm-connection-editor
ounmcli
para realizar a configuração das propriedades avançadas.Identification
Domain
- Se necessário, digite o Nome do Domínio.Security
-
Phase1 Algorithms
- corresponde ao parâmetroike
Libreswan - digite os algoritmos a serem utilizados para autenticar e configurar um canal criptografado. Phase2 Algorithms
- corresponde ao parâmetroesp
Libreswan - digite os algoritmos a serem utilizados para as negociaçõesIPsec
.Verifique o campo
Disable PFS
para desligar o Perfect Forward Secrecy (PFS) para garantir a compatibilidade com servidores antigos que não suportam PFS.-
Phase1 Lifetime
- corresponde ao parâmetroikelifetime
Libreswan - quanto tempo a chave utilizada para criptografar o tráfego será válida. Phase2 Lifetime
- corresponde ao parâmetrosalifetime
Libreswan - quanto tempo uma determinada instância de uma conexão deve durar antes de expirar.Observe que a chave de criptografia deve ser mudada de tempos em tempos por razões de segurança.
Remote network
- corresponde ao parâmetrorightsubnet
Libreswan - a rede remota privada de destino que deve ser alcançada através da VPN.Verifique o campo
narrowing
para permitir o estreitamento. Observe que ele só é eficaz nas negociações do IKEv2.-
Enable fragmentation
- corresponde ao parâmetrofragmentation
Libreswan - permitir ou não a fragmentação do IKE. Os valores válidos sãoyes
(padrão) ouno
. -
Enable Mobike
- corresponde ao parâmetromobike
Libreswan - se permitir a Mobilidade e o Protocolo Multihoming (MOBIKE, RFC 4555) para permitir uma conexão para migrar seu endpoint sem a necessidade de reiniciar a conexão do zero. Isto é usado em dispositivos móveis que comutam entre conexões com fio, sem fio, ou de dados móveis. Os valores sãono
(padrão) ouyes
.
-
Selecione a entrada do menu IPv4:
IPv4 Method
-
Automatic (DHCP)
- Escolha esta opção se a rede à qual você está se conectando usar anúncios de Roteador (RA) ou um servidorDHCP
para atribuir endereços dinâmicosIP
. -
Link-Local Only
- Escolha esta opção se a rede à qual você está se conectando não tiver um servidorDHCP
e você não quiser atribuir endereçosIP
manualmente. Endereços aleatórios serão atribuídos de acordo com RFC 3927 com prefixo169.254/16
. -
Manual
- Escolha esta opção se você quiser atribuir endereçosIP
manualmente. Disable
-IPv4
está desativado para esta conexão.DNS
Na seção
DNS
, quandoAutomatic
éON
, mude-o paraOFF
para inserir o endereço IP de um servidor DNS que você deseja usar separando os IPs por vírgula.Routes
Note que na seção
Routes
, quandoAutomatic
éON
, são usadas rotas do DHCP, mas também é possível acrescentar rotas estáticas adicionais. QuandoOFF
, somente rotas estáticas são usadas.-
Address
- Digite o endereçoIP
de uma rede ou host remoto. -
Netmask
- A máscara de rede ou o comprimento do prefixo do endereçoIP
inserido acima. -
Gateway
- O endereçoIP
do gateway que conduz à rede remota ou ao host inserido acima. Metric
- Um custo de rede, um valor de preferência a dar a esta rota. Os valores mais baixos serão preferidos em relação aos valores mais altos.Use this connection only for resources on its network
Selecione esta caixa de seleção para evitar que a conexão se torne a rota padrão. Selecionar esta opção significa que somente o tráfego especificamente destinado às rotas aprendidas automaticamente sobre a conexão ou entradas aqui manualmente é roteado sobre a conexão.
-
Para configurar as configurações
IPv6
em uma conexãoVPN
, selecione a entrada do menu IPv6:IPv6 Method
-
Automatic
- Escolha esta opção para usarIPv6
Endereço sem Estado AutoConfiguração (SLAAC) para criar uma configuração automática, sem Estado, baseada no endereço de hardware e Anúncios de Roteador (RA). -
Automatic, DHCP only
- Escolha esta opção para não usar a RA, mas solicite informações diretamente deDHCPv6
para criar uma configuração estatal. -
Link-Local Only
- Escolha esta opção se a rede à qual você está se conectando não tiver um servidorDHCP
e você não quiser atribuir endereçosIP
manualmente. Endereços aleatórios serão atribuídos de acordo com RFC 4862 com prefixoFE80::0
. -
Manual
- Escolha esta opção se você quiser atribuir endereçosIP
manualmente. Disable
-IPv6
está desativado para esta conexão.Note que
DNS
,Routes
,Use this connection only for resources on its network
são comuns às configurações deIPv4
.
-
-
Uma vez terminada a edição da conexão
VPN
, clique no botão Adicionar para personalizar a configuração ou no botão Aplicar para salvá-la para a existente. -
Mude o perfil para
ON
para ativar a conexãoVPN
.
Recursos adicionais
-
Para mais detalhes sobre os parâmetros suportados
Libreswan
, consulte a página de manualnm-settings-libreswan(5)
.
14.2. Configuração de uma conexão VPN usando um editor de nm-conexão
Este procedimento descreve como configurar uma conexão VPN usando nm-connection-editor
.
Pré-requisitos
-
O pacote
NetworkManager-libreswan-gnome
está instalado. Se você configurar uma conexão Internet Key Exchange versão 2 (IKEv2):
- O certificado é importado para o banco de dados de serviços de segurança de rede IPsec (NSS).
- O apelido do certificado no banco de dados do NSS é conhecido.
Procedimento
Abra um terminal, e entre:
$ nm-connection-editor
- Clique no botão para adicionar uma nova conexão.
-
Selecione o tipo de conexão
IPsec based VPN
, e clique em Criar. Na aba
VPN
:Digite o nome do host ou endereço IP do gateway VPN no campo
Gateway
, e selecione um tipo de autenticação. Com base no tipo de autenticação, você deve inserir informações adicionais diferentes:-
IKEv2 (Certifiate)
autentica o cliente usando um certificado, que é mais seguro. Esta configuração requer o apelido do certificado no banco de dados do IPsec NSS IKEv1 (XAUTH)
autentica o usuário usando um nome de usuário e uma senha (chave pré-compartilhada). Esta configuração requer que o usuário digite os seguintes valores:- Nome do usuário
- Senha
- Nome do grupo
- Segredo
-
Se o servidor remoto especificar um identificador local para a central IKE, digite a seqüência exata no campo
Remote ID
. No servidor remoto executa Libreswan, este valor é definido no parâmetroleftid
do servidor.Opcionalmente, configure configurações adicionais clicando no botão Avançado. Você pode configurar as seguintes configurações:
Identificação
-
Domain
- Se necessário, digite o nome do domínio.
-
Segurança
-
Phase1 Algorithms
corresponde ao parâmetroike
Libreswan. Insira os algoritmos a serem usados para autenticar e configurar um canal criptografado. Phase2 Algorithms
corresponde ao parâmetroesp
Libreswan. Digite os algoritmos a serem utilizados nas negociações deIPsec
.Verifique o campo
Disable PFS
para desligar o Perfect Forward Secrecy (PFS) para garantir a compatibilidade com servidores antigos que não suportam PFS.-
Phase1 Lifetime
corresponde ao parâmetroikelifetime
Libreswan. Este parâmetro define quanto tempo a chave utilizada para criptografar o tráfego é válida. -
Phase2 Lifetime
corresponde ao parâmetrosalifetime
Libreswan. Este parâmetro define por quanto tempo uma associação de segurança é válida.
-
Conectividade
Remote network
corresponde ao parâmetrorightsubnet
Libreswan e define a rede remota privada de destino que deve ser alcançada através da VPN.Verifique o campo
narrowing
para permitir o estreitamento. Observe que ele só é eficaz na negociação do IKEv2.-
Enable fragmentation
corresponde ao parâmetrofragmentation
Libreswan e define se deve ou não permitir a fragmentação do IKE. Os valores válidos sãoyes
(padrão) ouno
. -
Enable Mobike
corresponde ao parâmetromobike
Libreswan. O parâmetro define se permite a Mobilidade e o Protocolo Multihoming (MOBIKE) (RFC 4555) para permitir uma conexão para migrar seu ponto final sem a necessidade de reiniciar a conexão do zero. Isto é usado em dispositivos móveis que comutam entre conexões com fio, sem fio ou de dados móveis. Os valores sãono
(padrão) ouyes
.
Na aba
IPv4 Settings
, selecione o método de atribuição de IP e, opcionalmente, defina endereços estáticos adicionais, servidores DNS, domínios de busca e rotas.- Salvar a conexão.
-
Fechar
nm-connection-editor
.
Ao adicionar uma nova conexão clicando no botão , NetworkManager cria um novo arquivo de configuração para essa conexão e depois abre o mesmo diálogo que é usado para editar uma conexão existente. A diferença entre estes diálogos é que um perfil de conexão existente tem uma entrada no menu Details.
Recursos adicionais
-
Para mais detalhes sobre os parâmetros IPsec suportados, consulte a página de manual
nm-settings-libreswan(5)
.
14.3. Informações relacionadas
- Para mais informações sobre a configuração de VPNs usando IPsec, consulte o capítulo Configuração de uma VPN com IPsec no documento Securing networks (Segurança de redes).
Capítulo 15. Configuração de túneis IP
Similar a uma VPN, um túnel IP conecta diretamente duas redes através de uma terceira rede, como a Internet. Entretanto, nem todos os protocolos de túnel suportam criptografia.
Os roteadores em ambas as redes que estabelecem o túnel requerem pelo menos duas interfaces:
- Uma interface que está conectada à rede local
- Uma interface que é conectada à rede através da qual o túnel é estabelecido.
Para estabelecer o túnel, você cria uma interface virtual em ambos os roteadores com um endereço IP a partir da sub-rede remota.
O NetworkManager suporta os seguintes túneis IP:
- Encapsulamento genérico de roteamento (GRE)
- Encapsulamento genérico de roteamento sobre IPv6 (IP6GRE)
- Ponto de Acesso ao Terminal de Encapsulamento de Roteamento Genérico (GRETAP)
- Ponto de Acesso Terminal de Encapsulamento de Roteamento Genérico sobre IPv6 (IP6GRETAP)
- IPv4 sobre IPv4 (IPIP)
- IPv4 sobre IPv6 (IPIP6)
- IPv6 sobre IPv6 (IP6IP6)
- Transição simples pela Internet (SIT)
Dependendo do tipo, estes túneis atuam ou na camada 2 ou 3 do modelo de Interconexão de Sistemas Abertos (OSI).
15.1. Configuração de um túnel IPIP usando nmcli para encapsular o tráfego IPv4 em pacotes IPv4
Um túnel IP sobre IP (IPIP) opera na camada 3 do OSI e encapsula o tráfego IPv4 em pacotes IPv4, conforme descrito na RFC 2003.
Os dados enviados através de um túnel IPIP não são criptografados. Por razões de segurança, utilizar o túnel somente para dados que já estão criptografados, por exemplo, por outros protocolos, tais como HTTPS.
Note que os túneis IPIP suportam apenas pacotes unicast. Se você precisar de um túnel IPv4 que suporte multicast, veja Seção 15.2, “Configuração de um túnel GRE usando nmcli para encapsular o tráfego de camada-3 em pacotes IPv4”.
Este procedimento descreve como criar um túnel IPIP entre dois roteadores RHEL para conectar duas sub-redes internas através da Internet, como mostrado no diagrama a seguir:

Pré-requisitos
- Cada roteador RHEL tem uma interface de rede que é conectada à sua sub-rede local.
- Cada roteador RHEL tem uma interface de rede que está conectada à Internet.
- O tráfego que você deseja enviar através do túnel é IPv4 unicast.
Procedimento
No roteador RHEL da rede A:
Criar uma interface de túnel IPIP chamada
tun0
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 198.51.100.5 local 203.0.113.10
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Defina o endereço IPv4 para o dispositivo
tun0
:#
nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
Note que uma sub-rede
/30
com dois endereços IP utilizáveis é suficiente para o túnel.Configure a conexão
tun0
para usar uma configuração IPv4 manual:#
nmcli connection modify tun0 ipv4.method manual
Adicionar uma rota estática que encaminhe o tráfego para a rede
172.16.0.0/24
para o IP do túnel no roteador B:#
nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
Habilitar a conexão
tun0
.#
nmcli connection up tun0
Habilitar o envio de pacotes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
No roteador RHEL da rede B:
Criar uma interface de túnel IPIP chamada
tun0
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 203.0.113.10 local 198.51.100.5
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Defina o endereço IPv4 para o dispositivo
tun0
:#
nmcli connection modify tun0 ipv4.addresses '10.0.1.2/30'
Configure a conexão
tun0
para usar uma configuração IPv4 manual:#
nmcli connection modify tun0 ipv4.method manual
Adicione uma rota estática que encaminha o tráfego para a rede
192.0.2.0/24
para o IP do túnel no roteador A:#
nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
Habilitar a conexão
tun0
.#
nmcli connection up tun0
Habilitar o envio de pacotes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Etapas de verificação
A partir de cada roteador RHEL, pingando o endereço IP da interface interna do outro roteador:
No Router A, ping
172.16.0.1
:#
ping 172.16.0.1
No Router B, ping
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionais
-
Para mais detalhes sobre o uso de
nmcli
, consulte a página de manualnmcli
. -
Para detalhes sobre as configurações do túnel você pode definir com
nmcli
, veja a seçãoip-tunnel settings
na página de manualnm-settings(5)
.
15.2. Configuração de um túnel GRE usando nmcli para encapsular o tráfego de camada-3 em pacotes IPv4
Um túnel de Encapsulamento de Roteamento Genérico (GRE) encapsula o tráfego de camada-3 em pacotes IPv4, conforme descrito no RFC 2784. Um túnel GRE pode encapsular qualquer protocolo da camada 3 com um tipo de Ethernet válido.
Os dados enviados através de um túnel GRE não são criptografados. Por razões de segurança, utilizar o túnel somente para dados que já estão criptografados, por exemplo, por outros protocolos, tais como HTTPS.
Este procedimento descreve como criar um túnel GRE entre dois roteadores RHEL para conectar duas sub-redes internas através da Internet, como mostrado no diagrama a seguir:

O nome do dispositivo gre0
é reservado. Use gre1
ou um nome diferente para o dispositivo.
Pré-requisitos
- Cada roteador RHEL tem uma interface de rede que é conectada à sua sub-rede local.
- Cada roteador RHEL tem uma interface de rede que está conectada à Internet.
Procedimento
No roteador RHEL da rede A:
Criar uma interface de túnel GRE chamada
gre1
:#
nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name gre1 ifname gre1 remote 198.51.100.5 local 203.0.113.10
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Defina o endereço IPv4 para o dispositivo
gre1
:#
nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'
Note que uma sub-rede
/30
com dois endereços IP utilizáveis é suficiente para o túnel.Configure a conexão
gre1
para usar uma configuração IPv4 manual:#
nmcli connection modify gre1 ipv4.method manual
Adicionar uma rota estática que encaminhe o tráfego para a rede
172.16.0.0/24
para o IP do túnel no roteador B:#
nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
Habilitar a conexão
gre1
.#
nmcli connection up gre1
Habilitar o envio de pacotes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
No roteador RHEL da rede B:
Criar uma interface de túnel GRE chamada
gre1
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name gre1 ifname gre1 remote 203.0.113.10 local 198.51.100.5
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Defina o endereço IPv4 para o dispositivo
gre1
:#
nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
Configure a conexão
gre1
para usar uma configuração IPv4 manual:#
nmcli connection modify gre1 ipv4.method manual
Adicione uma rota estática que encaminha o tráfego para a rede
192.0.2.0/24
para o IP do túnel no roteador A:#
nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
Habilitar a conexão
gre1
.#
nmcli connection up gre1
Habilitar o envio de pacotes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Etapas de verificação
A partir de cada roteador RHEL, pingando o endereço IP da interface interna do outro roteador:
No Router A, ping
172.16.0.1
:#
ping 172.16.0.1
No Router B, ping
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionais
-
Para mais detalhes sobre o uso de
nmcli
, consulte a página de manualnmcli
. -
Para detalhes sobre as configurações do túnel você pode definir com
nmcli
, veja a seçãoip-tunnel settings
na página de manualnm-settings(5)
.
15.3. Configuração de um túnel GRETAP para transferir quadros Ethernet sobre IPv4
Um túnel de Encapsulamento Terminal de Encapsulamento Genérico (GRETAP) opera no nível 2 do OSI e encapsula o tráfego Ethernet em pacotes IPv4, conforme descrito no RFC 2784.
Os dados enviados através de um túnel GRETAP não são criptografados. Por razões de segurança, estabelecer o túnel através de uma VPN ou uma conexão criptografada diferente.
Este procedimento descreve como criar um túnel GRETAP entre dois roteadores RHEL para conectar duas redes usando uma ponte, como mostrado no diagrama a seguir:

O nome do dispositivo gretap0
é reservado. Use gretap1
ou um nome diferente para o dispositivo.
Pré-requisitos
- Cada roteador RHEL tem uma interface de rede que é conectada à sua rede local, e a interface não tem nenhuma configuração IP atribuída.
- Cada roteador RHEL tem uma interface de rede que está conectada à Internet.
Procedimento
No roteador RHEL da rede A:
Criar uma interface de ponte chamada
bridge0
:#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Configurar as configurações de IP da ponte:
#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bridge0 ipv4.method manual
Adicionar um novo perfil de conexão para a interface que está conectada à rede local à ponte:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0
Acrescentar um novo perfil de conexão para a interface do túnel GRETAP à ponte:
#
nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 198.51.100.5 local 203.0.113.10 master bridge0
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Opcional: Desabilite o Protocolo Spanning Tree (STP) se você não precisar dele:
#
nmcli connection modify bridge0 bridge.stp no
Por padrão, o STP é ativado e causa um atraso antes que você possa usar a conexão.
Configurar que a ativação da conexão
bridge0
ativa automaticamente as portas da ponte:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Ative a conexão
bridge0
:#
nmcli connection up bridge0
No roteador RHEL da rede B:
Criar uma interface de ponte chamada
bridge0
:#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Configurar as configurações de IP da ponte:
#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.2/24'
#nmcli connection modify bridge0 ipv4.method manual
Adicionar um novo perfil de conexão para a interface que está conectada à rede local à ponte:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0
Acrescentar um novo perfil de conexão para a interface do túnel GRETAP à ponte:
#
nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 203.0.113.10 local 198.51.100.5 master bridge0
Os parâmetros
remote
elocal
definem os endereços IP públicos dos roteadores remotos e locais.Opcional: Desabilite o Protocolo Spanning Tree (STP) se você não precisar dele:
#
nmcli connection modify bridge0 bridge.stp no
Configurar que a ativação da conexão
bridge0
ativa automaticamente as portas da ponte:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Ative a conexão
bridge0
:#
nmcli connection up bridge0
Etapas de verificação
Em ambos os roteadores, verifique se as conexões
enp1s0
egretap1
estão conectadas e se a colunaCONNECTION
exibe o nome da conexão da porta:#
nmcli device
nmcli device DEVICE TYPE STATE CONNECTION ... bridge0 bridge connected bridge0 enp1s0 ethernet connected bridge0-port1 gretap1 iptunnel connected bridge0-port2A partir de cada roteador RHEL, pingando o endereço IP da interface interna do outro roteador:
No Router A, ping
192.0.2.2
:#
ping 192.0.2.2
No Router B, ping
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionais
-
Para mais detalhes sobre o uso de
nmcli
, consulte a página de manualnmcli
. -
Para detalhes sobre as configurações do túnel você pode definir com
nmcli
, veja a seçãoip-tunnel settings
na página de manualnm-settings(5)
.
15.4. Recursos adicionais
-
Para uma lista de interfaces de túneis e na configuração temporária de túneis usando o utilitário
ip
, consulte a página de manualip-link(8)
.
Capítulo 16. Configuração do canal de fibra sobre Ethernet
Baseado na norma IEEE T11 FC-BB-5, o Fibre Channel over Ethernet (FCoE) é um protocolo para transmitir quadros de Fibre Channel sobre redes Ethernet. Normalmente, os centros de dados possuem uma rede LAN e uma rede de área de armazenamento (SAN) dedicadas que são separadas umas das outras com sua própria configuração específica. O FCoE combina essas redes em uma estrutura de rede única e convergente. Os benefícios do FCoE são, por exemplo, custos mais baixos de hardware e energia.
16.1. Usando hardware FCoE HBAs em RHEL
No Red Hat Enterprise Linux você pode usar o hardware FCoE Host Bus Adapter (HBA) suportado pelos seguintes drivers:
-
qedf
-
bnx2fc
-
fnic
Se você usar tal HBA, você configura as configurações do FCoE na configuração do HBA. Para obter detalhes, consulte a documentação do adaptador.
Após configurar o HBA em sua configuração, os Números de Unidade Lógica (LUN) exportados da Rede de Área de Armazenamento (SAN) estão automaticamente disponíveis para a RHEL como dispositivos /dev/sd*
. Você pode usar estes dispositivos de forma similar aos dispositivos de armazenamento local.
16.2. Instalação de um dispositivo de software FCoE
Um dispositivo de software FCoE permite acessar os Números de Unidade Lógica (LUN) sobre o FCoE usando um adaptador Ethernet que suporta parcialmente o descarregamento do FCoE.
A RHEL não suporta os dispositivos de software FCoE que requerem o módulo de kernel fcoe.ko
. Para detalhes, consulte a remoção do software FCoE na documentação Considerations in adopting RHEL 8
.
Após completar este procedimento, os LUNs exportados da Rede de Área de Armazenamento (SAN) estão automaticamente disponíveis para a RHEL como dispositivos /dev/sd*
. Você pode usar estes dispositivos de forma similar aos dispositivos de armazenamento locais.
Pré-requisitos
-
O Host Bus Adapter (HBA) usa o driver
qedf
,bnx2fc
, oufnic
e não requer o módulo do kernelfcoe.ko
. - A SAN usa uma VLAN para separar o tráfego de armazenamento do tráfego Ethernet normal.
- O switch de rede foi configurado para suportar a VLAN.
- O HBA do servidor é configurado em sua BIOS. Para obter detalhes, consulte a documentação de seu HBA.
- A HBA está conectada à rede e o link está pronto.
Procedimento
Instale o pacote
fcoe-utils
:#
yum install fcoe-utils
Copie o arquivo modelo
/etc/fcoe/cfg-ethx
para/etc/fcoe/cfg-interface_name
. Por exemplo, se você quiser configurar a interfaceenp1s0
para usar o FCoE, entre:#
cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-enp1s0
Habilite e inicie o serviço
fcoe
:#
systemctl enable --now fcoe
Descubra o FCoE VLAN ID, inicie o iniciador e crie um dispositivo de rede para a VLAN descoberta:
#
fipvlan -s -c enp1s0
Created VLAN device enp1s0.200 Starting FCoE on interface enp1s0.200 Fibre Channel Forwarders Discovered interface | VLAN | FCF MAC ------------------------------------------ enp1s0 | 200 | 00:53:00:a7:e7:1bOpcional: Para exibir detalhes sobre os alvos descobertos, os LUNs, e os dispositivos associados com os LUNs, entre:
#
fcoeadm -t
Interface: enp1s0.200 Roles: FCP Target Node Name: 0x500a0980824acd15 Port Name: 0x500a0982824acd15 Target ID: 0 MaxFrameSize: 2048 bytes OS Device Name: rport-11:0-1 FC-ID (Port ID): 0xba00a0 State: Online LUN ID Device Name Capacity Block Size Description ------ ----------- ---------- ---------- --------------------- 0 sdb 28.38 GiB 512 NETAPP LUN (rev 820a) ...Este exemplo mostra que o LUN 0 da SAN foi anexado ao host como o dispositivo
/dev/sdb
.
Etapas de verificação
Use o comando
fcoeadm -i
para exibir informações sobre todas as interfaces FCoE ativas:#
fcoeadm -i
Description: BCM57840 NetXtreme II 10 Gigabit Ethernet Revision: 11 Manufacturer: Broadcom Inc. and subsidiaries Serial Number: 000AG703A9B7 Driver: bnx2x Unknown Number of Ports: 1 Symbolic Name: bnx2fc (QLogic BCM57840) v2.12.13 over enp1s0.200 OS Device Name: host11 Node Name: 0x2000000af70ae935 Port Name: 0x2001000af70ae935 Fabric Name: 0x20c8002a6aa7e701 Speed: 10 Gbit Supported Speed: 1 Gbit, 10 Gbit MaxFrameSize: 2048 bytes FC-ID (Port ID): 0xba02c0 State: Online
Recursos adicionais
-
Para mais detalhes sobre a utilidade
fcoeadm
, consulte a página de manualfcoeadm(8)
. -
Para detalhes sobre como montar o armazenamento conectado através de um software FCoE quando o sistema inicia, consulte o arquivo
/usr/share/doc/fcoe-utils/README
.
16.3. Recursos adicionais
-
Para detalhes sobre o uso de dispositivos Fibre Channel, consulte a seção Usando dispositivos Fibre Channel no guia
Managing storage devices
.
Capítulo 17. Autenticação de um cliente RHEL para a rede usando a norma 802.1X
Os administradores freqüentemente usam o Controle de Acesso à Rede (NAC) baseado no padrão IEEE 802.1X para proteger uma rede contra clientes LAN e Wi-Fi não autorizados. Os procedimentos nesta seção descrevem diferentes opções para configurar a autenticação da rede.
17.1. Configuração da autenticação de rede 802.1X em uma conexão Ethernet existente usando nmcli
Usando o utilitário nmcli
, é possível configurar o cliente para se autenticar na rede. Este procedimento descreve como configurar a autenticação do Protocolo de Autenticação Extensível Protegida (PEAP) com o Microsoft Challenge-Handshake Authentication Protocol versão 2 (MSCHAPv2) em um perfil de conexão Ethernet NetworkManager existente chamado enp1s0
.
Pré-requisitos
- A rede deve ter uma autenticação de rede 802.1X.
- O perfil de conexão Ethernet existe no NetworkManager e tem uma configuração IP válida.
-
Se o cliente for obrigado a verificar o certificado do autenticador, o certificado da Autoridade Certificadora (CA) deve ser armazenado no diretório
/etc/pki/ca-trust/source/anchors/
. -
O pacote
wpa_supplicant
está instalado.
Procedimento
Defina o Protocolo de Autenticação Extensível (EAP) para
peap
, o protocolo de autenticação interna paramschapv2
, e o nome do usuário:#
nmcli connection modify enp1s0 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity user_name
Observe que você deve definir os parâmetros
802-1x.eap
,802-1x.phase2-auth
, e802-1x.identity
em um único comando.Opcionalmente, armazenar a senha na configuração:
#
nmcli connection modify enp1s0 802-1x.password password
ImportantePor padrão, o NetworkManager armazena a senha em texto claro no
/etc/sysconfig/network-scripts/keys-connection_name
que só pode ser lido pelo usuário doroot
. Entretanto, senhas de texto claras em um arquivo de configuração podem ser um risco de segurança.Para aumentar a segurança, defina o parâmetro
802-1x.password-flags
para0x1
. Com esta configuração, em servidores com o ambiente desktop GNOME ou onm-applet
em execução, o NetworkManager recupera a senha destes serviços. Em outros casos, o NetworkManager solicita a senha.Se o cliente for obrigado a verificar o certificado do autenticador, defina o parâmetro
802-1x.ca-cert
no perfil de conexão para o caminho do certificado da CA:#
nmcli connection modify enp1s0 802-1x.ca-cert /etc/pki/ca-trust/source/anchors/ca.crt
NotaPor razões de segurança, a Red Hat recomenda o uso do certificado do autenticador para permitir que os clientes validem a identidade do autenticador.
Ativar o perfil de conexão:
#
nmcli connection up enp1s0
Etapas de verificação
- Acessar recursos na rede que requerem autenticação da rede.
Recursos adicionais
- Para detalhes sobre como adicionar um perfil de conexão NetworkManager Ethernet, veja Capítulo 8, Configuração de uma conexão Ethernet.
-
Para mais parâmetros relacionados a 802.1X e suas descrições, consulte a seção
802-1x settings
na página de manualnm-settings(5)
. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
.
17.2. Configuração de uma conexão Ethernet estática com autenticação de rede 802.1X usando as funções do sistema RHEL
Usando as funções do Sistema RHEL, você pode automatizar a criação de uma conexão Ethernet que usa o padrão 802.1X para autenticar o cliente. Este procedimento descreve como adicionar remotamente uma conexão Ethernet para a interface enp1s0
com as seguintes configurações, executando um Livro de Jogadas Possível:
-
Um endereço IPv4 estático -
192.0.2.1
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
192.0.2.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
192.0.2.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
-
802.1X autenticação de rede usando o protocolo
TLS
Extensible Authentication Protocol (EAP)
Execute este procedimento no Nó de controle possível.
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, você deve ter as permissões apropriadassudo
no nó gerenciado. - A rede suporta autenticação de rede 802.1X.
- O nó gerenciado utiliza o NetworkManager.
Os seguintes arquivos necessários para autenticação TLS existem no nó de controle:
-
A chave do cliente armazenada no arquivo
/srv/data/client.key
. -
O certificado do cliente armazenado no arquivo
/srv/data/client.crt
. -
O certificado da Autoridade Certificadora (CA) armazenado no arquivo
/srv/data/ca.crt
.
-
A chave do cliente armazenada no arquivo
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/enable-802.1x.yml
com o seguinte conteúdo:--- - name: Configure an Ethernet connection with 802.1X authentication hosts: node.example.com become: true tasks: - name: Copy client key for 802.1X authentication copy: src: "/srv/data/client.key" dest: "/etc/pki/tls/private/client.key" mode: 0600 - name: Copy client certificate for 802.1X authentication copy: src: "/srv/data/client.crt" dest: "/etc/pki/tls/certs/client.crt" - name: Copy CA certificate for 802.1X authentication copy: src: "/srv/data/ca.crt" dest: "/etc/pki/ca-trust/source/anchors/ca.crt" - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com ieee802_1x: identity: user_name eap: tls private_key: "/etc/pki/tls/private/client.key" private_key_password: "password" client_cert: "/etc/pki/tls/certs/client.crt" ca_cert: "/etc/pki/ca-trust/source/anchors/ca.crt" domain_suffix_match: example.com state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/enable-802.1x.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-static-IP.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre os parâmetros 802.1X, consulte a seção
ieee802_1x
no arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
17.3. Configuração da autenticação da rede 802.1X em uma conexão Wi-Fi existente usando nmcli
Usando o utilitário nmcli
, é possível configurar o cliente para se autenticar na rede. Este procedimento descreve como configurar a autenticação do Protocolo de Autenticação Extensível Protegida (PEAP) com o Microsoft Challenge-Handshake Authentication Protocol versão 2 (MSCHAPv2) em um perfil de conexão Wi-Fi NetworkManager existente chamado wlp1s0
.
Pré-requisitos
- A rede deve ter uma autenticação de rede 802.1X.
- O perfil de conexão Wi-Fi existe no NetworkManager e tem uma configuração IP válida.
-
Se o cliente for obrigado a verificar o certificado do autenticador, o certificado da Autoridade Certificadora (CA) deve ser armazenado no diretório
/etc/pki/ca-trust/source/anchors/
. -
O pacote
wpa_supplicant
está instalado.
Procedimento
Configurar o modo de segurança Wi-Fi para
wpa-eap
, o Protocolo de Autenticação Extensível (EAP) parapeap
, o protocolo de autenticação interna paramschapv2
, e o nome do usuário:#
nmcli connection modify wpl1s0 802-11-wireless-security.key-mgmt wpa-eap 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity user_name
Observe que você deve definir os parâmetros
802-11-wireless-security.key-mgmt
,802-1x.eap
,802-1x.phase2-auth
, e802-1x.identity
em um único comando.Opcionalmente, armazenar a senha na configuração:
#
nmcli connection modify wpl1s0 802-1x.password password
ImportantePor padrão, o NetworkManager armazena a senha em texto claro no
/etc/sysconfig/network-scripts/keys-connection_name
que só pode ser lido pelo usuário doroot
. Entretanto, senhas de texto claras em um arquivo de configuração podem ser um risco de segurança.Para aumentar a segurança, defina o parâmetro
802-1x.password-flags
para0x1
. Com esta configuração, em servidores com o ambiente desktop GNOME ou onm-applet
em execução, o NetworkManager recupera a senha destes serviços. Em outros casos, o NetworkManager solicita a senha.Se o cliente for obrigado a verificar o certificado do autenticador, defina o parâmetro
802-1x.ca-cert
no perfil de conexão para o caminho do certificado da CA:#
nmcli connection modify wpl1s0 802-1x.ca-cert /etc/pki/ca-trust/source/anchors/ca.crt
NotaPor razões de segurança, a Red Hat recomenda o uso do certificado do autenticador para permitir que os clientes validem a identidade do autenticador.
Ativar o perfil de conexão:
#
nmcli connection up wpl1s0
Etapas de verificação
- Acessar recursos na rede que requerem autenticação da rede.
Recursos adicionais
- Para detalhes sobre como adicionar um perfil de conexão NetworkManager Ethernet, veja Capítulo 9, Gerenciando conexões Wi-Fi.
-
Para mais parâmetros relacionados a 802.1X e suas descrições, consulte a seção
802-1x settings
na página de manualnm-settings(5)
. -
Para mais detalhes sobre a utilidade
nmcli
, consulte a página de manualnmcli(1)
.
Capítulo 18. Gerenciando a configuração padrão do gateway
O gateway padrão é um roteador que encaminha pacotes de rede quando nenhuma outra rota corresponde ao destino de um pacote. Em uma rede local, o gateway padrão é tipicamente o host que está um salto mais próximo da Internet.
18.1. Configurando o gateway padrão em uma conexão existente usando nmcli
Na maioria das situações, os administradores definem o gateway padrão quando criam uma conexão, como explicado, por exemplo, em Seção 8.1, “Configuração de uma conexão Ethernet estática usando nmcli”.
Esta seção descreve como definir ou atualizar o gateway padrão em uma conexão criada anteriormente usando o utilitário nmcli
.
Pré-requisitos
- Pelo menos um endereço IP estático deve ser configurado na conexão na qual o gateway padrão será configurado.
-
Se o usuário estiver logado em um console físico, as permissões de usuário são suficientes. Caso contrário, o usuário deve ter as permissões do
root
.
Procedimento
Defina o endereço IP do gateway padrão.
Por exemplo, para definir o endereço IPv4 do gateway padrão no
example
conexão a192.0.2.1
:$
sudo nmcli connection modify example ipv4.gateway "192.0.2.1"
Por exemplo, para definir o endereço IPv6 do gateway padrão no
example
conexão a2001:db8:1::1
:$
sudo nmcli connection modify example ipv6.gateway "2001:db8:1::1"
Reinicie a conexão de rede para que as mudanças entrem em vigor. Por exemplo, para reiniciar a
example
conexão usando a linha de comando:$
sudo nmcli connection up example
AtençãoTodas as conexões que atualmente utilizam esta conexão de rede são temporariamente interrompidas durante o reinício.
Opcionalmente, verificar se a rota está ativa.
Para exibir o gateway padrão IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para exibir o gateway padrão IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionais
18.2. Configurando o gateway padrão em uma conexão existente usando o modo interativo nmcli
Na maioria das situações, os administradores definem o gateway padrão quando criam uma conexão, como explicado, por exemplo, em Seção 8.5, “Configuração de uma conexão Ethernet dinâmica usando o editor interativo nmcli”.
Esta seção descreve como definir ou atualizar o gateway padrão em uma conexão criada anteriormente, usando o modo interativo do utilitário nmcli
.
Pré-requisitos
- Pelo menos um endereço IP estático deve ser configurado na conexão na qual o gateway padrão será configurado.
-
Se o usuário estiver logado em um console físico, as permissões de usuário são suficientes. Caso contrário, o usuário deve ter permissões em
root
.
Procedimento
Abra o modo interativo
nmcli
para a conexão necessária. Por exemplo, para abrir o modo interativonmcli
para a conexão example:$
sudo nmcli connection edit example
Defina a porta de entrada padrão.
Por exemplo, para definir o endereço IPv4 do gateway padrão no
example
conexão a192.0.2.1
:nmcli>
set ipv4.gateway 192.0.2.1
Por exemplo, para definir o endereço IPv6 do gateway padrão no
example
conexão a2001:db8:1::1
:nmcli>
set ipv6.gateway 2001:db8:1::1
Opcionalmente, verificar se o gateway padrão foi configurado corretamente:
nmcli>
print
... ipv4.gateway: 192.0.2.1 ... ipv6.gateway: 2001:db8:1::1 ...Salvar a configuração:
nmcli>
save persistent
Reinicie a conexão de rede para que as mudanças entrem em vigor:
nmcli>
activate example
AtençãoTodas as conexões que atualmente utilizam esta conexão de rede são temporariamente interrompidas durante o reinício.
Deixe o modo interativo
nmcli
:nmcli>
quit
Opcionalmente, verificar se a rota está ativa.
Para exibir o gateway padrão IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para exibir o gateway padrão IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
18.3. Configuração do gateway padrão em uma conexão existente usando o editor de conexão nm
Na maioria das situações, os administradores definem o gateway padrão quando criam uma conexão. Esta seção descreve como definir ou atualizar o gateway padrão em uma conexão previamente criada usando a aplicação nm-connection-editor
.
Pré-requisitos
- Pelo menos um endereço IP estático deve ser configurado na conexão na qual o gateway padrão será configurado.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
- Selecione a conexão para modificar, e clique no ícone da roda dentada para editar a conexão existente.
Defina o gateway padrão IPv4. Por exemplo, para definir o endereço IPv4 do gateway padrão na conexão a
192.0.2.1
:-
Abra a aba
IPv4 Settings
. Digite o endereço no campo
gateway
ao lado da faixa de IP que o endereço do gateway está dentro:
-
Abra a aba
Defina o gateway padrão IPv6. Por exemplo, para definir o endereço IPv6 do gateway padrão na conexão a
2001:db8:1::1
:-
Abra a aba
IPv6
. Digite o endereço no campo
gateway
ao lado da faixa de IP que o endereço do gateway está dentro:
-
Abra a aba
- Clique OK.
- Clique em Salvar.
Reinicie a conexão de rede para que as mudanças entrem em vigor. Por exemplo, para reiniciar a
example
conexão usando a linha de comando:$
sudo nmcli connection up example
AtençãoTodas as conexões que atualmente utilizam esta conexão de rede são temporariamente interrompidas durante o reinício.
Opcionalmente, verificar se a rota está ativa.
Para exibir o gateway padrão IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para exibir o gateway padrão IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionais
18.4. Configurando o gateway padrão em uma conexão existente usando o centro de controle
Na maioria das situações, os administradores definem o gateway padrão quando criam uma conexão. Esta seção descreve como definir ou atualizar o gateway padrão em uma conexão previamente criada usando a aplicação control-center
.
Pré-requisitos
- Pelo menos um endereço IP estático deve ser configurado na conexão na qual o gateway padrão será configurado.
-
A configuração de rede da conexão está aberta no aplicativo
control-center
.
Procedimento
Defina o gateway padrão IPv4. Por exemplo, para definir o endereço IPv4 do gateway padrão na conexão a
192.0.2.1
:-
Abra a aba
IPv4
. Digite o endereço no campo
gateway
ao lado da faixa de IP que o endereço do gateway está dentro:
-
Abra a aba
Defina o gateway padrão IPv6. Por exemplo, para definir o endereço IPv6 do gateway padrão na conexão a
2001:db8:1::1
:-
Abra a aba
IPv6
. Digite o endereço no campo
gateway
ao lado da faixa de IP que o endereço do gateway está dentro:
-
Abra a aba
- Clique em Aplicar.
De volta à janela
Network
, desabilite e reative a conexão, mudando o botão para a conexão para Desligado e de volta para Ligado para que as mudanças tenham efeito.AtençãoTodas as conexões que atualmente utilizam esta conexão de rede são temporariamente interrompidas durante o reinício.
Opcionalmente, verificar se a rota está ativa.
Para exibir o gateway padrão IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para exibir o gateway padrão IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionais
18.5. Configurando o gateway padrão em uma conexão existente usando as funções do sistema
Você pode usar a função do Sistema RHEL networking
para definir o gateway padrão.
Quando você executa uma peça que usa o Sistema Função networking
RHEL, o Sistema Função substitui um perfil de conexão existente com o mesmo nome se as configurações não coincidirem com as especificadas na peça. Portanto, sempre especifique toda a configuração do perfil de conexão de rede na peça, mesmo que, por exemplo, a configuração IP já exista. Caso contrário, o papel redefine estes valores com seus padrões.
Dependendo se já existe, o procedimento cria ou atualiza o perfil de conexão enp1s0
com as seguintes configurações:
-
Um endereço IPv4 estático -
198.51.100.20
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
198.51.100.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
198.51.100.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/ethernet-connection.yml
com o seguinte conteúdo:--- - name: Configure an Ethernet connection with static IP and default gateway hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/ethernet-connection.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-connection.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
18.6. Configurando o gateway padrão em uma conexão existente ao utilizar os scripts de rede legados
Este procedimento descreve como configurar um gateway padrão quando você utiliza os scripts de rede legados. O exemplo define o gateway padrão para 192.0.2.1
que pode ser acessado através da interface enp1s0
.
Pré-requisitos
-
O pacote
NetworkManager
não está instalado, ou o serviçoNetworkManager
está desativado. -
O pacote
network-scripts
está instalado.
Procedimento
Defina o parâmetro
GATEWAY
no arquivo/etc/sysconfig/network-scripts/ifcfg-enp1s0
para192.0.2.1
:GATEWAY=192.0.2.1
Adicione a entrada
default
no arquivo/etc/sysconfig/network-scripts/route-enp0s1
:padrão via 192.0.2.1
Reinicie a rede:
# rede de reinicialização systemctl
18.7. Como o NetworkManager gerencia vários gateways padrão
Em certas situações, por exemplo, por razões de emergência, você define vários gateways padrão em um host. Entretanto, para evitar problemas de roteamento assíncrono, cada gateway padrão do mesmo protocolo requer um valor métrico separado. Observe que a RHEL só usa a conexão com o gateway padrão que tem o menor valor de métrica definido.
Você pode definir a métrica para o gateway IPv4 e IPv6 de uma conexão usando o seguinte comando:
# nmcli connection modify connection-name ipv4.route-metric value ipv6.route-metric value
Não defina o mesmo valor métrico para o mesmo protocolo em vários perfis de conexão para evitar problemas de roteamento.
Se você definir um gateway padrão sem um valor métrico, o NetworkManager define automaticamente o valor métrico com base no tipo de interface. Para isso, o NetworkManager atribui o valor padrão deste tipo de rede à primeira conexão que é ativada, e define um valor incremental para uma conexão do mesmo tipo na ordem em que são ativadas. Por exemplo, se existirem duas conexões Ethernet com um gateway padrão, o NetworkManager define uma métrica de 100
na rota para o gateway padrão da conexão que você ativar primeiro. Para a segunda conexão, o NetworkManager define 101
.
A seguir, uma visão geral dos tipos de rede freqüentemente utilizados e suas métricas padrão:
Tipo de conexão | Valor métrico padrão |
---|---|
VPN | 50 |
Ethernet | 100 |
MACsec | 125 |
InfiniBand | 150 |
Bond | 300 |
Equipe | 350 |
VLAN | 400 |
Ponte | 425 |
TUN | 450 |
Wi-Fi | 600 |
Túnel IP | 675 |
Recursos adicionais
- Para detalhes sobre roteamento baseado em políticas, veja Capítulo 20, Configuração de rotas baseadas em políticas para definir rotas alternativas.
- Para detalhes sobre o Multipath TCP, veja Capítulo 25, Começando com o Multipath TCP.
18.8. Configuração do NetworkManager para evitar o uso de um perfil específico para fornecer um gateway padrão
Você pode configurar que o NetworkManager nunca utilize um perfil específico para fornecer o gateway padrão. Siga este procedimento para perfis de conexão que não estejam conectados ao gateway padrão.
Pré-requisitos
- O perfil de conexão NetworkManager para a conexão que não está conectada ao gateway padrão existe.
Procedimento
Se a conexão utiliza uma configuração IP dinâmica, configure que o NetworkManager não utilize a conexão como a rota padrão para conexões IPv4 e IPv6:
#
nmcli connection modify connection_name ipv4.never-default yes ipv6.never-default yes
Observe que a configuração
ipv4.never-default
eipv6.never-default
parayes
, remove automaticamente o endereço IP padrão do gateway para o protocolo correspondente do perfil de conexão.Ativar a conexão:
#
nmcli connection up connection_name
Etapas de verificação
-
Utilize os comandos
ip -4 route
eip -6 route
para verificar se a RHEL não utiliza a interface de rede para a rota padrão para o protocolo IPv4 e IPv6.
18.9. Corrigindo comportamentos inesperados de roteamento devido a múltiplos gateways padrão
Há apenas alguns cenários, como quando se usa TCP multipath, nos quais são necessários vários gateways padrão em um host. Na maioria dos casos, você configura apenas um único gateway padrão para evitar comportamento de roteamento inesperado ou problemas de roteamento assíncrono.
Para rotear o tráfego para diferentes provedores de Internet, use roteamento baseado em políticas em vez de vários gateways padrão.
Pré-requisitos
- O host usa o NetworkManager para gerenciar as conexões de rede, que é o padrão.
- O host tem múltiplas interfaces de rede.
- O host tem vários gateways padrão configurados.
Procedimento
Exibir a tabela de roteamento:
Para IPv4, entre:
#
ip -4 route
default via 192.0.2.1 dev enp1s0 proto static metric 101 default via 198.51.100.1 dev enp7s0 proto static metric 102 ...Para IPv6, entre:
#
ip -6 route
default via 2001:db8:1::1 dev enp1s0 proto static metric 101 pref medium default via 2001:db8:2::1 dev enp7s0 proto static metric 102 pref medium ...
As entradas que começam com
default
indicam uma rota padrão. Observe os nomes das interfaces destas entradas exibidas ao lado dedev
.Use os seguintes comandos para exibir as conexões do NetworkManager que utilizam as interfaces que você identificou na etapa anterior:
#
nmcli -f GENERAL.CONNECTION,IP4.GATEWAY,IP6.GATEWAY device show enp1s0
GENERAL.CONNECTION: Corporate-LAN IP4.GATEWAY: 192.168.122.1 IP6.GATEWAY: 2001:db8:1::1 #nmcli -f GENERAL.CONNECTION,IP4.GATEWAY,IP6.GATEWAY device show enp7s0
GENERAL.CONNECTION: Internet-Provider IP4.GATEWAY: 198.51.100.1 IP6.GATEWAY: 2001:db8:2::1Nestes exemplos, os perfis denominados
Corporate-LAN
eInternet-Provider
têm os gateways padrão definidos. Como, em uma rede local, o gateway padrão é normalmente o host que está mais próximo da Internet, o restante deste procedimento assume que os gateways padrão noCorporate-LAN
estão incorretos.Configure que o NetworkManager não utilize a conexão
Corporate-LAN
como a rota padrão para conexões IPv4 e IPv6:#
nmcli connection modify Corporate-LAN ipv4.never-default yes ipv6.never-default yes
Observe que a configuração
ipv4.never-default
eipv6.never-default
parayes
, remove automaticamente o endereço IP padrão do gateway para o protocolo correspondente do perfil de conexão.Ativar a conexão
Corporate-LAN
:#
nmcli connection up Corporate-LAN
Etapas de verificação
Exibir as tabelas de roteamento IPv4 e IPv6 e verificar se apenas um gateway padrão está disponível para cada protocolo:
Para IPv4, entre:
#
ip -4 route
default via 192.0.2.1 dev enp1s0 proto static metric 101 ...Para IPv6, entre:
#
ip -6 route
default via 2001:db8:1::1 dev enp1s0 proto static metric 101 pref medium ...
Recursos adicionais
- Para detalhes sobre roteamento baseado em políticas, veja Capítulo 20, Configuração de rotas baseadas em políticas para definir rotas alternativas.
- Para detalhes sobre o Multipath TCP, veja Capítulo 25, Começando com o Multipath TCP.
Capítulo 19. Configuração de rotas estáticas
Por default, e se um gateway default for configurado, o Red Hat Enterprise Linux encaminha o tráfego para redes que não estão diretamente conectadas ao host para o gateway default. Usando uma rota estática, você pode configurar que o Red Hat Enterprise Linux encaminhe o tráfego para um host ou rede específica para um roteador diferente do gateway default. Esta seção descreve diferentes opções de como configurar rotas estáticas.
19.1. Como usar o comando nmcli para configurar uma rota estática
Para configurar uma rota estática, use o utilitário nmcli
com a seguinte sintaxe:
$ nmcli connection modify connection_name ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
O comando suporta os seguintes atributos de rota:
-
table=n
-
src=address
-
tos=n
-
onlink=true|false
-
window=n
-
cwnd=n
-
mtu=n
-
lock-window=true|false
-
lock-cwdn=true|false
-
lock-mtu=true|false
Se você usar o sub-comando ipv4.routes
, nmcli
anula todas as configurações atuais deste parâmetro. Para adicionar uma rota adicional, use o nmcli connection modify connection_name ipv4.routes "…"
comando. De maneira semelhante, você pode usar nmcli connection modify connection_name -ipv4.routes "…"
para remover uma rota específica.
19.2. Configuração de uma rota estática usando um comando nmcli
Você pode adicionar uma rota estática à configuração de uma conexão de rede usando o comando nmcli connection modify
.
O procedimento nesta seção descreve como adicionar uma rota à rede 192.0.2.0/24
que utiliza o gateway que funciona em 198.51.100.1
, que é acessível através da conexão example
.
Pré-requisitos
- A rede é configurada
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
-
Se o usuário estiver logado em um console físico, as permissões de usuário são suficientes. Caso contrário, o comando requer as permissões do
root
.
Procedimento
Acrescente a rota estática à conexão
example
:$
sudo nmcli connection modify example ipv4.routes "192.0.2.0/24 198.51.100.1"
Para definir várias rotas em uma única etapa, passe as rotas individuais, separadas por vírgula, para o comando. Por exemplo, para adicionar uma rota para as redes
192.0.2.0/24
e203.0.113.0/24
, ambas encaminhadas através do portal198.51.100.1
, entre:$
sudo nmcli connection modify example ipv4.routes "192.0.2.0/24 198.51.100.1, 203.0.113.0/24 198.51.100.1"
Opcionalmente, verificar se as rotas foram adicionadas corretamente à configuração:
$
nmcli connection show example
... ipv4.routes: { ip = 192.0.2.1/24, nh = 198.51.100.1 } ...Reiniciar a conexão de rede:
$
sudo nmcli connection up example
AtençãoA reinicialização da conexão interrompe brevemente a conectividade nessa interface.
Opcionalmente, verificar se a rota está ativa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
Recursos adicionais
-
Para mais detalhes sobre
nmcli
, consulte a página de manualnmcli(1)
.
19.3. Configuração de uma rota estática usando o centro de controle
Você pode usar control-center
no GNOME para adicionar uma rota estática à configuração de uma conexão de rede.
O procedimento nesta seção descreve como adicionar uma rota à rede 192.0.2.0/24
que utiliza o gateway que funciona no site 198.51.100.1
.
Pré-requisitos
- A rede está configurada.
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
-
A configuração de rede da conexão é aberta no aplicativo
control-center
. Ver Seção 8.8, “Configuração de uma conexão Ethernet usando um editor de conexão nm”.
Procedimento
-
Abra a aba
IPv4
. -
Opcionalmente, desabilite as rotas automáticas clicando no botão On na seção
Routes
da guiaIPv4
para usar apenas rotas estáticas. Se as rotas automáticas estiverem habilitadas, o Red Hat Enterprise Linux usa rotas estáticas e rotas recebidas de um servidor DHCP. Digite o endereço, a máscara de rede, o gateway e, opcionalmente, um valor métrico:
- Clique em Aplicar.
De volta à janela
Network
, desabilite e reative a conexão, mudando o botão para a conexão para Desligado e de volta para Ligado para que as mudanças tenham efeito.AtençãoA reinicialização da conexão interrompe brevemente a conectividade nessa interface.
Opcionalmente, verificar se a rota está ativa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
19.4. Configuração de uma rota estática usando um editor de nm-conexão
Você pode usar o aplicativo nm-connection-editor
para adicionar uma rota estática à configuração de uma conexão de rede.
O procedimento nesta seção descreve como adicionar uma rota à rede 192.0.2.0/24
que utiliza o gateway que funciona em 198.51.100.1
, que é acessível através da conexão example
.
Pré-requisitos
- A rede está configurada.
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
Procedimento
Abra um terminal e entre em
nm-connection-editor
:$
nm-connection-editor
-
Selecione a conexão
example
e clique no ícone da roda dentada para editar a conexão existente. -
Abra a aba
IPv4
. - Clique no botão Routes (Rotas).
Clique no botão Adicionar e digite o endereço, a máscara de rede, o gateway e, opcionalmente, um valor métrico.
- Clique OK.
- Clique em Salvar.
Reinicie a conexão de rede para que as mudanças entrem em vigor. Por exemplo, para reiniciar a conexão
example
usando a linha de comando:$
sudo nmcli connection up example
Opcionalmente, verificar se a rota está ativa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
19.5. Configuração de uma rota estática usando o modo interativo nmcli
Você pode usar o modo interativo do utilitário nmcli
para adicionar uma rota estática à configuração de uma conexão de rede.
O procedimento nesta seção descreve como adicionar uma rota à rede 192.0.2.0/24
que utiliza o gateway que funciona em 198.51.100.1
, que é acessível através da conexão example
.
Pré-requisitos
- A rede é configurada
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
-
Se o usuário estiver logado em um console físico, as permissões de usuário são suficientes. Caso contrário, o comando requer as permissões do
root
.
Procedimento
Abra o modo interativo
nmcli
para a conexãoexample
:$
sudo nmcli connection edit example
Acrescente a rota estática:
nmcli>
set ipv4.routes 192.0.2.0/24 198.51.100.1
Opcionalmente, verificar se as rotas foram adicionadas corretamente à configuração:
nmcli>
print
... ipv4.routes: { ip = 192.0.2.1/24, nh = 198.51.100.1 } ...O atributo
ip
exibe a rede para rotear e o atributonh
atribui o gateway (próximo salto).Salvar a configuração:
nmcli>
save persistent
Reiniciar a conexão de rede:
nmcli>
activate example
AtençãoQuando você reiniciar a conexão, todas as conexões que atualmente utilizam esta conexão serão temporariamente interrompidas.
Deixe o modo interativo
nmcli
:nmcli>
quit
Opcionalmente, verificar se a rota está ativa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
Recursos adicionais
-
Para obter a lista de comandos disponíveis no modo interativo, digite
help
na shell interativa.
19.6. Configuração de uma rota estática usando as funções do sistema RHEL
Você pode usar o sistema networking
RHEL Role para configurar rotas estáticas.
Quando você executa uma peça que usa o Sistema Função networking
RHEL, o Sistema Função substitui um perfil de conexão existente com o mesmo nome se as configurações não coincidirem com as especificadas na peça. Portanto, sempre especifique toda a configuração do perfil de conexão de rede na peça, mesmo que, por exemplo, a configuração IP já exista. Caso contrário, o papel redefine estes valores com seus padrões.
Dependendo se já existe, o procedimento cria ou atualiza o perfil de conexão enp7s0
com as seguintes configurações:
-
Um endereço IPv4 estático -
198.51.100.20
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
198.51.100.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
198.51.100.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
Rotas estáticas:
-
192.0.2.0/24
com gateway198.51.100.1
-
203.0.113.0/24
com gateway198.51.100.2
-
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente de
root
ao executar o playbook, este usuário tem as permissões apropriadassudo
no nó gerenciado.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/add-static-routes.yml
com o seguinte conteúdo:--- - name: Configure an Ethernet connection with static IP and additional routes hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com route: - network: 192.0.2.0 prefix: 24 gateway: 198.51.100.1 - network: 203.0.113.0 prefix: 24 gateway: 198.51.100.2 state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/add-static-routes.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/add-static-routes.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Etapas de verificação
Exibir a tabela de roteamento:
#
ip -4 route
default via 198.51.100.254 dev enp7s0 proto static metric 100 192.0.2.0/24 via 198.51.100.1 dev enp7s0 proto static metric 100 203.0.113.0/24 via 198.51.100.2 dev enp7s0 proto static metric 100 ...
Recursos adicionais
-
Para detalhes sobre os parâmetros usados em
network_connections
e para informações adicionais sobre o Sistema de Papelnetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
19.7. Criação de arquivos de configuração de rotas estáticas em formato de valor chave ao utilizar os scripts de rede legados
Este procedimento descreve como criar manualmente um arquivo de configuração de roteamento para uma rota IPv4 para a rede 192.0.2.0/24
quando você utiliza os scripts de rede legados em vez do NetworkManager. Neste exemplo, o gateway correspondente com o endereço IP 198.51.100.1
pode ser acessado através da interface enp1s0
.
O exemplo neste procedimento utiliza entradas de configuração em formato de valores-chave.
Os scripts de rede legados suportam o formato do valor chave somente para rotas IPv4 estáticas. Para rotas IPv6, use o formato ip
-command. Veja Seção 19.8, “Criação de arquivos de configuração de rotas estáticas em formato ip-command ao utilizar os scripts de rede legados”.
Pré-requisitos
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
-
O pacote
NetworkManager
não está instalado, ou o serviçoNetworkManager
está desativado. -
O pacote
network-scripts
está instalado.
Procedimento
Adicione a rota estática IPv4 ao arquivo
/etc/sysconfig/network-scripts/route-enp0s1
:ADDRESS0=192.0.2.0 NETMASK0=255.255.255.0 GATEWAY0=198.51.100.1
-
A variável
ADDRESS0
define a rede da primeira entrada de roteamento. -
A variável
NETMASK0
define a máscara da rede da primeira entrada de roteamento. A variável
GATEWAY0
define o endereço IP do gateway para a rede remota ou host para a primeira entrada de roteamento.Se você adicionar múltiplas rotas estáticas, aumente o número nos nomes das variáveis. Observe que as variáveis para cada rota devem ser numeradas seqüencialmente. Por exemplo,
ADDRESS0
,ADDRESS1
,ADDRESS3
, e assim por diante.
-
A variável
Reinicie a rede:
# rede de reinicialização systemctl
Recursos adicionais
-
Para mais detalhes sobre a configuração de scripts de rede legados, consulte o arquivo
/usr/share/doc/network-scripts/sysconfig.txt
.
19.8. Criação de arquivos de configuração de rotas estáticas em formato ip-command ao utilizar os scripts de rede legados
Este procedimento descreve como criar manualmente um arquivo de configuração de roteamento para as seguintes rotas estáticas quando você utiliza scripts de rede legados:
-
Uma rota IPv4 para a rede
192.0.2.0/24
. O gateway correspondente com o endereço IP198.51.100.1
é acessível através da interfaceenp1s0
. -
Uma rota IPv6 para a rede
2001:db8:1::/64
. O gateway correspondente com o endereço IP2001:db8:2::1
é acessível através da interfaceenp1s0
.
O exemplo neste procedimento utiliza entradas de configuração no formato ip
-command-format.
Pré-requisitos
- A porta de entrada para a rota estática deve ser acessível diretamente na interface.
-
O pacote
NetworkManager
não está instalado, ou o serviçoNetworkManager
está desativado. -
O pacote
network-scripts
está instalado.
Procedimento
Adicione a rota estática IPv4 ao arquivo
/etc/sysconfig/network-scripts/route-enp0s1
:192.0.2.0/24 via 198.51.100.1 dev enp0s1
Adicione a rota IPv6 estática ao arquivo
/etc/sysconfig/network-scripts/route6-enp0s1
:2001:db8:1::/64 via 2001:db8:2::1 dev enp0s1
Reinicie a rede:
# rede de reinicialização systemctl
Recursos adicionais
-
Para mais detalhes sobre a configuração de scripts de rede legados, consulte o arquivo
/usr/share/doc/network-scripts/sysconfig.txt
.
Capítulo 20. Configuração de rotas baseadas em políticas para definir rotas alternativas
Por padrão, o kernel na RHEL decide onde encaminhar os pacotes de rede com base no endereço de destino usando uma tabela de roteamento. O roteamento baseado em políticas permite a configuração de cenários complexos de roteamento. Por exemplo, você pode encaminhar pacotes com base em vários critérios, como o endereço de origem, metadados de pacotes ou protocolo.
Esta seção descreve como configurar o roteamento baseado em políticas usando o NetworkManager.
Em sistemas que utilizam o NetworkManager, apenas o utilitário nmcli
suporta a definição de regras de roteamento e a atribuição de rotas a tabelas específicas.
20.1. Roteamento do tráfego de uma sub-rede específica para um gateway padrão diferente usando o NetworkManager
Esta seção descreve como configurar o RHEL como um roteador que, por padrão, encaminha todo o tráfego para o provedor de Internet A usando a rota padrão. Usando o roteamento baseado em políticas, a RHEL encaminha o tráfego recebido da sub-rede interna das estações de trabalho para o provedor B.
O procedimento assume a seguinte topologia de rede:
Pré-requisitos
-
O sistema usa
NetworkManager
para configurar a rede, que é o padrão no RHEL 8. O roteador RHEL que você deseja instalar no procedimento tem quatro interfaces de rede:
-
A interface
enp7s0
está conectada à rede do provedor A. O gateway IP da rede do provedor é198.51.100.2
, e a rede usa uma máscara de rede/30
. -
A interface
enp1s0
está conectada à rede do provedor B. O gateway IP da rede do provedor é192.0.2.2
, e a rede usa uma máscara de rede/30
. -
A interface
enp8s0
está conectada à sub-rede10.0.0.0/24
com estações de trabalho internas. -
A interface
enp9s0
está conectada à sub-rede203.0.113.0/24
com os servidores da empresa.
-
A interface
-
Os anfitriões na sub-rede interna das estações de trabalho utilizam
10.0.0.1
como o gateway padrão. No procedimento, você atribui este endereço IP à interface de redeenp8s0
do roteador. -
Os anfitriões na sub-rede do servidor utilizam
203.0.113.1
como porta de entrada padrão. No procedimento, você atribui este endereço IP para a interface de redeenp9s0
do roteador. -
O serviço
firewalld
está habilitado e ativo.
Procedimento
Configurar a interface de rede para o provedor A:
#
nmcli connection add type ethernet con-name Provider-A ifname enp7s0 ipv4.method manual ipv4.addresses 198.51.100.1/30 ipv4.gateway 198.51.100.2 ipv4.dns 198.51.100.200 connection.zone external
O comando
nmcli connection add
cria um perfil de conexão NetworkManager. A lista a seguir descreve as opções do comando:-
type
ethernet
: Define que o tipo de conexão é Ethernet. -
con-name
connection_name
: Define o nome do perfil. Use um nome significativo para evitar confusão. -
ifname
network_device
: Define a interface da rede. -
ipv4.method
manual
: Permite configurar um endereço IP estático. -
ipv4.addresses
IP_address/subnet_mask
: Define os endereços IPv4 e a máscara de sub-rede. -
ipv4.gateway
IP_address
: Define o endereço padrão do gateway. -
ipv4.dns
IP_of_DNS_server
: Define o endereço IPv4 do servidor DNS. -
connection.zone
firewalld_zone
: Atribui a interface de rede à zonafirewalld
definida. Note quefirewalld
permite automaticamente o mascaramento para as interfaces atribuídas à zonaexternal
.
-
Configurar a interface de rede para o provedor B:
#
nmcli connection add type ethernet con-name Provider-B ifname enp1s0 ipv4.method manual ipv4.addresses 192.0.2.1/30 ipv4.routes "0.0.0.0/0 192.0.2.2 table=5000" connection.zone external
Este comando usa o parâmetro
ipv4.routes
ao invés deipv4.gateway
para definir o gateway padrão. Isto é necessário para atribuir o gateway padrão para esta conexão a uma tabela de roteamento diferente (5000
) do que o padrão. O NetworkManager cria automaticamente esta nova tabela de roteamento quando a conexão é ativada.Configurar a interface da rede para a subrede interna das estações de trabalho:
#
nmcli connection add type ethernet con-name Internal-Workstations ifname enp8s0 ipv4.method manual ipv4.addresses 10.0.0.1/24 ipv4.routes "10.0.0.0/24 src=192.0.2.1 table=5000" ipv4.routing-rules "priority 5 from 10.0.0.0/24 table 5000" connection.zone internal
Este comando usa o parâmetro
ipv4.routes
para adicionar uma rota estática à tabela de roteamento com ID5000
. Esta rota estática para a sub-rede10.0.0.0/24
usa o IP da interface da rede local para o provedor B (192.0.2.1
) como próximo salto.Além disso, o comando usa o parâmetro
ipv4.routing-rules
para adicionar uma regra de roteamento com prioridade5
que roteia o tráfego da subrede10.0.0.0/24
para a tabela5000
. Valores baixos têm uma prioridade alta.Observe que a sintaxe no parâmetro
ipv4.routing-rules
é a mesma de um comandoip route add
, exceto queipv4.routing-rules
sempre requer a especificação de uma prioridade.Configurar a interface de rede para a sub-rede do servidor:
#
nmcli connection add type ethernet con-name Servers ifname enp9s0 ipv4.method manual ipv4.addresses 203.0.113.1/24 connection.zone internal
Etapas de verificação
Em um host RHEL na sub-rede interna da estação de trabalho:
Instale o pacote
traceroute
:#
yum install traceroute
Use o utilitário
traceroute
para exibir a rota para um host na Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 10.0.0.1 (10.0.0.1) 0.337 ms 0.260 ms 0.223 ms 2 192.0.2.1 (192.0.2.1) 0.884 ms 1.066 ms 1.248 ms ...A saída do comando mostra que o roteador envia pacotes sobre
192.0.2.1
, que é a rede do provedor B.
Em um host RHEL na sub-rede do servidor:
Instale o pacote
traceroute
:#
yum install traceroute
Use o utilitário
traceroute
para exibir a rota para um host na Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 203.0.113.1 (203.0.113.1) 2.179 ms 2.073 ms 1.944 ms 2 198.51.100.2 (198.51.100.2) 1.868 ms 1.798 ms 1.549 ms ...A saída do comando mostra que o roteador envia pacotes através de
198.51.100.2
, que é a rede do provedor A.
Passos para a solução de problemas
No roteador RHEL:
Exibir a lista de regras:
#
ip rule list
0: from all lookup local 5: from 10.0.0.0/24 lookup 5000 32766: from all lookup main 32767: from all lookup defaultPor padrão, a RHEL contém regras para as tabelas
local
,main
, edefault
.Mostrar as rotas na tabela
5000
:#
ip route list table 5000
0.0.0.0/0 via 192.0.2.2 dev enp1s0 proto static metric 100 10.0.0.0/24 dev enp8s0 proto static scope link src 192.0.2.1 metric 102Exibir as interfaces e as zonas de firewall:
#
firewall-cmd --get-active-zones
external interfaces: enp1s0 enp7s0 internal interfaces: enp8s0 enp9s0Verifique se a zona
external
tem o mascaramento ativado:#
firewall-cmd --info-zone=external
external (active) target: default icmp-block-inversion: no interfaces: enp1s0 enp7s0 sources: services: ssh ports: protocols: masquerade: yes ...
Recursos adicionais
-
Para mais detalhes sobre os parâmetros
ipv4.*
você pode definir no comandonmcli connection add
, veja a seçãoIPv4 settings
na página de manualnm-settings(5)
. -
Para mais detalhes sobre os parâmetros
connection.*
você pode definir no comandonmcli connection add
, veja a seçãoConnection settings
na página de manualnm-settings(5)
. -
Para mais detalhes sobre o gerenciamento de conexões NetworkManager usando
nmcli
, consulte a seçãoConnection management commands
na página de manualnmcli(1)
.
20.2. Visão geral dos arquivos de configuração envolvidos no roteamento baseado em políticas ao utilizar os scripts de rede legados
Se você usar os scripts de rede legados em vez do NetworkManager para configurar sua rede, você também pode configurar o roteamento baseado em políticas.
A configuração da rede usando os scripts de rede legados fornecidos pelo pacote network-scripts
é depreciada no RHEL 8. A Red Hat recomenda que você use o NetworkManager para configurar o roteamento baseado em políticas. Para um exemplo, veja Seção 20.1, “Roteamento do tráfego de uma sub-rede específica para um gateway padrão diferente usando o NetworkManager”.
Os seguintes arquivos de configuração estão envolvidos no roteamento baseado em políticas quando você utiliza os scripts de rede legados:
/etc/sysconfig/network-scripts/route-interface
: Este arquivo define as rotas IPv4. Use a opçãotable
para especificar a tabela de roteamento. Por exemplo:192.0.2.0/24 via 198.51.100.1 table 1 203.0.113.0/24 via 198.51.100.2 table 2
-
/etc/sysconfig/network-scripts/route6-interface
: Este arquivo define as rotas IPv6. /etc/sysconfig/network-scripts/rule-interface
: Este arquivo define as regras para as redes de origem IPv4 para as quais o kernel encaminha o tráfego para tabelas de roteamento específicas. Por exemplo, este arquivo define as regras para redes IPv4:from 192.0.2.0/24 lookup 1 from 203.0.113.0/24 lookup 2
-
/etc/sysconfig/network-scripts/rule6-interface
: Este arquivo define as regras para redes de origem IPv6 para as quais o kernel encaminha o tráfego para tabelas de roteamento específicas. /etc/iproute2/rt_tables
: Este arquivo define os mapeamentos se você quiser usar nomes em vez de números para se referir a tabelas de roteamento específicas. Por exemplo, o arquivo de mapeamento:1 Provider_A 2 Provider_B
Recursos adicionais
-
Para mais detalhes sobre roteamento IP, consulte a página de manual
ip-route(8)
. -
Para mais detalhes sobre as regras de roteamento, consulte a página de manual
ip-rule(8)
.
20.3. Roteamento do tráfego de uma subrede específica para um gateway padrão diferente usando os scripts de rede legados
Esta seção descreve como configurar o RHEL como um roteador que, por padrão, encaminha todo o tráfego para o provedor de Internet A usando a rota padrão. Usando o roteamento baseado em políticas, a RHEL encaminha o tráfego recebido da sub-rede interna das estações de trabalho para o provedor B.
A configuração da rede usando os scripts de rede legados fornecidos pelo pacote network-scripts
é depreciada no RHEL 8. Siga o procedimento desta seção somente se você usar os scripts de rede legados em vez do NetworkManager em seu host. Se você usar o NetworkManager para gerenciar suas configurações de rede, veja Seção 20.1, “Roteamento do tráfego de uma sub-rede específica para um gateway padrão diferente usando o NetworkManager”.
O procedimento assume a seguinte topologia de rede:
Os scripts de rede legados processam os arquivos de configuração em ordem alfabética. Portanto, é necessário nomear os arquivos de configuração de forma a garantir que uma interface, que é utilizada em regras e rotas de outras interfaces, esteja pronta quando uma interface dependente a requer. Para realizar a ordem correta, este procedimento utiliza números nos arquivos ifcfg-*
, route-*
, e rules-*
.
Pré-requisitos
-
O pacote
NetworkManager
não está instalado, ou o serviçoNetworkManager
está desativado. -
O pacote
network-scripts
está instalado. O roteador RHEL que você deseja instalar no procedimento tem quatro interfaces de rede:
-
A interface
enp7s0
está conectada à rede do provedor A. O gateway IP da rede do provedor é198.51.100.2
, e a rede usa uma máscara de rede/30
. -
A interface
enp1s0
está conectada à rede do provedor B. O gateway IP da rede do provedor é192.0.2.2
, e a rede usa uma máscara de rede/30
. -
A interface
enp8s0
está conectada à sub-rede10.0.0.0/24
com estações de trabalho internas. -
A interface
enp9s0
está conectada à sub-rede203.0.113.0/24
com os servidores da empresa.
-
A interface
-
Os anfitriões na sub-rede interna das estações de trabalho utilizam
10.0.0.1
como o gateway padrão. No procedimento, você atribui este endereço IP à interface de redeenp8s0
do roteador. -
Os anfitriões na sub-rede do servidor utilizam
203.0.113.1
como porta de entrada padrão. No procedimento, você atribui este endereço IP para a interface de redeenp9s0
do roteador. -
O serviço
firewalld
está habilitado e ativo.
Procedimento
Adicione a configuração da interface de rede ao provedor A, criando o arquivo
/etc/sysconfig/network-scripts/ifcfg-1_Provider-A
com o seguinte conteúdo:TYPE=Ethernet IPADDR=198.51.100.1 PREFIX=30 GATEWAY=198.51.100.2 DNS1=198.51.100.200 DEFROUTE=yes NAME=1_Provider-A DEVICE=enp7s0 ONBOOT=yes ZONE=external
A lista a seguir descreve os parâmetros usados no arquivo de configuração:
-
TYPE
=Ethernet
: Define que o tipo de conexão é Ethernet. -
IPADDR
=IP_address
: Define o endereço IPv4. -
PREFIX
=subnet_mask
: Define a máscara de sub-rede. -
GATEWAY
=IP_address
: Define o endereço padrão do gateway. -
DNS1
=IP_of_DNS_server
: Define o endereço IPv4 do servidor DNS. -
DEFROUTE
=yes|no
: Define se a conexão é ou não uma rota padrão. -
NAME
=connection_name
: Define o nome do perfil de conexão. Use um nome significativo para evitar confusão. -
DEVICE
=network_device
: Define a interface da rede. -
ONBOOT
=yes
: Define que a RHEL inicia esta conexão quando o sistema inicia. -
ZONE
=firewalld_zone
: Atribui a interface de rede à zonafirewalld
definida. Note quefirewalld
permite automaticamente o mascaramento para as interfaces atribuídas à zonaexternal
.
-
Adicionar a configuração para a interface de rede ao provedor B:
Crie o arquivo
/etc/sysconfig/network-scripts/ifcfg-2_Provider-B
com o seguinte conteúdo:TYPE=Ethernet IPADDR=192.0.2.1 PREFIX=30 DEFROUTE=no NAME=2_Provider-B DEVICE=enp1s0 ONBOOT=yes ZONE=external
Observe que o arquivo de configuração para esta interface não contém uma configuração padrão de gateway.
Atribuir o gateway para a conexão
2_Provider-B
a uma tabela de roteamento separada. Portanto, crie o arquivo/etc/sysconfig/network-scripts/route-2_Provider-B
com o seguinte conteúdo:0.0.0.0/0 via 192.0.2.2 tabela 5000
Esta entrada atribui a porta de entrada e o tráfego de todas as sub-redes roteadas através desta porta de entrada à mesa
5000.
Criar a configuração da interface da rede para a sub-rede interna das estações de trabalho:
Crie o arquivo
/etc/sysconfig/network-scripts/ifcfg-3_Internal-Workstations
com o seguinte conteúdo:TYPE=Ethernet IPADDR=10.0.0.1 PREFIX=24 DEFROUTE=no NAME=3_Internal-Workstations DEVICE=enp8s0 ONBOOT=yes ZONE=internal
Adicionar a configuração da regra de roteamento para a sub-rede interna da estação de trabalho. Portanto, crie o arquivo
/etc/sysconfig/network-scripts/rule-3_Internal-Workstations
com o seguinte conteúdo:pri 5 a partir de 10.0.0.0/24 tabela 5000
Esta configuração define uma regra de roteamento com prioridade
5
que encaminha todo o tráfego da sub-rede10.0.0.0/24
para a tabela5000
. Valores baixos têm uma prioridade alta.Crie o arquivo
/etc/sysconfig/network-scripts/route-3_Internal-Workstations
com o seguinte conteúdo para adicionar uma rota estática à tabela de roteamento com ID5000
:10.0.0.0/24 via 192.0.2.1 tabela 5000
Esta rota estática define que a RHEL envia tráfego da sub-rede
10.0.0.0/24
para o IP da interface da rede local para o provedor B (192.0.2.1
). Esta interface é para a tabela de roteamento5000
e usada como o próximo salto.
Adicione a configuração para a interface de rede à sub-rede do servidor criando o arquivo
/etc/sysconfig/network-scripts/ifcfg-4_Servers
com o seguinte conteúdo:TYPE=Ethernet IPADDR=203.0.113.1 PREFIX=24 DEFROUTE=no NAME=4_Servers DEVICE=enp9s0 ONBOOT=yes ZONE=internal
Reinicie a rede:
# systemctl restart network
Etapas de verificação
Em um host RHEL na sub-rede interna da estação de trabalho:
Instale o pacote
traceroute
:#
yum install traceroute
Use o utilitário
traceroute
para exibir a rota para um host na Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 10.0.0.1 (10.0.0.1) 0.337 ms 0.260 ms 0.223 ms 2 192.0.2.1 (192.0.2.1) 0.884 ms 1.066 ms 1.248 ms ...A saída do comando mostra que o roteador envia pacotes sobre
192.0.2.1
, que é a rede do provedor B.
Em um host RHEL na sub-rede do servidor:
Instale o pacote
traceroute
:#
yum install traceroute
Use o utilitário
traceroute
para exibir a rota para um host na Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 203.0.113.1 (203.0.113.1) 2.179 ms 2.073 ms 1.944 ms 2 198.51.100.2 (198.51.100.2) 1.868 ms 1.798 ms 1.549 ms ...A saída do comando mostra que o roteador envia pacotes através de
198.51.100.2
, que é a rede do provedor A.
Passos para a solução de problemas
No roteador RHEL:
Exibir a lista de regras:
#
ip rule list
0: from all lookup local 5: from 10.0.0.0/24 lookup 5000 32766: from all lookup main 32767: from all lookup defaultPor padrão, a RHEL contém regras para as tabelas
local
,main
, edefault
.Mostrar as rotas na tabela
5000
:#
ip route list table 5000
default via 192.0.2.2 dev enp1s0 10.0.0.0/24 via 192.0.2.1 dev enp1s0Exibir as interfaces e as zonas de firewall:
#
firewall-cmd --get-active-zones
external interfaces: enp1s0 enp7s0 internal interfaces: enp8s0 enp9s0Verifique se a zona
external
tem o mascaramento ativado:#
firewall-cmd --info-zone=external
external (active) target: default icmp-block-inversion: no interfaces: enp1s0 enp7s0 sources: services: ssh ports: protocols: masquerade: yes ...
Recursos adicionais
- Seção 20.2, “Visão geral dos arquivos de configuração envolvidos no roteamento baseado em políticas ao utilizar os scripts de rede legados”
-
A página do homem
ip-route(8)
-
A página do homem
ip-rule(8)
-
Para mais detalhes sobre os scripts de rede legados, veja o arquivo
/usr/share/doc/network-scripts/sysconfig.txt
Capítulo 21. Criando uma interface fictícia
Como usuário do Red Hat Enterprise Linux, você pode criar e usar interfaces de rede fictícias para fins de depuração e teste. Uma interface fictícia fornece um dispositivo para rotear os pacotes sem realmente transmiti-los. Ela permite que você crie dispositivos adicionais do tipo loopback gerenciados pelo NetworkManager e faz com que um endereço SLIP (Serial Line Internet Protocol) inativo pareça um endereço real para programas locais.
21.1. Criação de uma interface fictícia com um endereço IPv4 e IPv6 usando nmcli
Você pode criar uma interface fictícia com várias configurações. Este procedimento descreve como criar uma interface fictícia com um endereço IPv4 e IPv6. Após criar a interface fictícia, o NetworkManager a atribui automaticamente à zona padrão do firewall public
.
Para configurar uma interface fictícia sem endereço IPv4 ou IPv6, defina os parâmetros ipv4.method
e ipv6.method
para disabled
. Caso contrário, a auto-configuração do IP falha e o NetworkManager desativa a conexão e remove o dispositivo dummy.
Procedimento
Para criar uma interface fictícia chamada dummy0 com endereços IPv4 e IPv6 estáticos, entre:
#
nmcli connection add type dummy ifname dummy0 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv6.method manual ipv6.addresses 2001:db8:2::1/64
Opcional: Para visualizar a interface do manequim, entre:
#
nmcli connection show
NAME UUID TYPE DEVICE enp1s0 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 dummy-dummy0 aaf6eb56-73e5-4746-9037-eed42caa8a65 dummy dummy0
Recursos adicionais
- A página de homem de nm(5)
Capítulo 22. Usando o netconsole para registrar mensagens do kernel através de uma rede
Usando o módulo do kernel netconsole
e o serviço com o mesmo nome, você pode registrar mensagens do kernel através de uma rede para depurar o kernel quando o registro em disco falha ou quando o uso de um console serial não é possível.
22.1. Configuração do serviço netconsole para registrar mensagens do kernel em um host remoto
Usando o módulo do kernel netconsole
, você pode registrar as mensagens do kernel em um serviço de registro remoto do sistema.
Pré-requisitos
-
Um serviço de registro de sistema, como o
rsyslog
, está instalado no host remoto. - O serviço de registro remoto do sistema é configurado para receber entradas de registro de entrada deste host.
Procedimento
Instale o pacote
netconsole-service
:#
yum install netconsole-service
Edite o arquivo
/etc/sysconfig/netconsole
e configure o parâmetroSYSLOGADDR
para o endereço IP do host remoto:#
SYSLOGADDR=192.0.2.1
Habilite e inicie o serviço
netconsole
:#
systemctl enable --now netconsole
Etapas de verificação
-
Exibir o arquivo
/var/log/messages
no servidor de logs do sistema remoto.
Recursos adicionais
-
Para detalhes sobre como permitir que o host remoto receba as mensagens de registro, consulte a seção Configurando uma solução de registro remoto na documentação
Configuring basic system settings
.
Capítulo 23. Metas e serviços de rede do sistema
O NetworkManager configura a rede durante o processo de inicialização do sistema. Entretanto, ao inicializar com uma raiz remota (/), como se o diretório raiz fosse armazenado em um dispositivo iSCSI, as configurações de rede são aplicadas no disco RAM inicial (initrd
) antes que a RHEL seja iniciada. Por exemplo, se a configuração de rede for especificada na linha de comando do kernel usando rd.neednet=1
ou se uma configuração for especificada para montar sistemas de arquivos remotos, então as configurações de rede são aplicadas em initrd
.
Esta seção descreve diferentes alvos como network
, network-online
e NetworkManager-wait-online
serviço que são usados durante a aplicação de configurações de rede, e como configurar o serviço systemd
para iniciar após o serviço network-online
ser iniciado.
23.1. Diferenças entre a rede e o alvo do sistema em rede
Systemd mantém as unidades-alvo network
e network-online
. As unidades especiais, como NetworkManager-wait-online.service
, têm parâmetros WantedBy=network-online.target
e Before=network-online.target
. Se ativadas, estas unidades começam com network-online.target
e atrasam o alvo a ser alcançado até que alguma forma de conectividade de rede seja estabelecida. Elas atrasam o alvo network-online
até que a rede seja conectada.
A meta network-online
inicia um serviço, o que acrescenta atrasos substanciais à execução posterior. O Systemd adiciona automaticamente as dependências com parâmetros Wants
e After
para esta unidade alvo a todas as unidades de serviço do Sistema V (SysV) init
com um cabeçalho Linux Standard Base (LSB) referente à instalação $network
. O cabeçalho da LSB é metadados para scripts init
. Você pode usá-lo para especificar as dependências. Isto é similar ao objetivo systemd
.
A meta network
não retarda significativamente a execução do processo de inicialização. Atingir a meta network
significa que o serviço responsável pela instalação da rede já começou. Entretanto, isso não significa que um dispositivo de rede foi configurado. Este alvo é importante durante o desligamento do sistema. Por exemplo, se você tiver um serviço que foi pedido após o alvo network
durante o boot, então esta dependência é revertida durante o desligamento. A rede não é desconectada até que seu serviço tenha sido interrompido. Todas as unidades de montagem para sistemas de arquivos remotos de rede iniciam automaticamente a unidade de destino network-online
e se encomendam após a mesma.
A unidade alvo network-online
só é útil durante o início do sistema. Após a inicialização completa do sistema, este alvo não rastreia o estado on-line da rede. Portanto, não é possível usar network-online
para monitorar a conexão da rede. Este alvo fornece um conceito único de inicialização do sistema.
23.2. Visão geral do NetworkManager-wait-online
Os scripts de rede legados síncronos iteram através de todos os arquivos de configuração para configurar os dispositivos. Eles aplicam todas as configurações relacionadas à rede e garantem que a rede esteja on-line.
O serviço NetworkManager-wait-online
espera com um timeout para que a rede seja configurada. Esta configuração de rede envolve a conexão de um dispositivo Ethernet, a busca de um dispositivo Wi-Fi, e assim por diante. O NetworkManager ativa automaticamente os perfis adequados que são configurados para iniciar automaticamente. A falha do processo de ativação automática devido a um timeout DHCP ou evento similar pode manter o NetworkManager ocupado por um longo período de tempo. Dependendo da configuração, o NetworkManager volta a ativar o mesmo perfil ou um perfil diferente.
Quando a partida é concluída, ou todos os perfis estão em um estado desconectado ou são ativados com sucesso. Você pode configurar os perfis para auto-conexão. A seguir, alguns exemplos de parâmetros que definem os intervalos de tempo ou definem quando a conexão é considerada ativa:
-
connection.wait-device-timeout
- define o tempo limite para que o motorista detecte o dispositivo -
ipv4.may-fail
eipv6.may-fail
- define a ativação com uma família de endereços IP pronta, ou se uma determinada família de endereços deve ter completado a configuração. -
ipv4.gateway-ping-timeout
- retarda a ativação.
Recursos adicionais
-
A página do homem
nm-settings(5)
23.3. Configuração de um serviço de sistema para iniciar depois que a rede for iniciada
O Red Hat Enterprise Linux instala os arquivos de serviço systemd
no diretório /usr/lib/systemd/system/
. Este procedimento cria um snippet para um arquivo de serviço no diretório /etc/systemd/system/service_name.service.d/
que é usado junto com o arquivo de serviço em /usr/lib/systemd/system/
para iniciar um determinado service depois que a rede estiver on-line. Tem uma prioridade mais alta se as configurações no snippet se sobrepuserem às do arquivo de serviço em /usr/lib/systemd/system/
.
Procedimento
Para abrir o arquivo de serviço no editor, entre:
#
systemctl edit service_name
Digite o seguinte, e salve as mudanças:
[Unit] After=network-online.target
Recarregue o serviço
systemd
.#
systemctl daemon-reload
Capítulo 24. Controle de tráfego Linux
O Linux oferece ferramentas para gerenciar e manipular a transmissão de pacotes. O subsistema de Controle de Tráfego Linux (TC) ajuda no policiamento, classificação, modelagem e agendamento do tráfego da rede. O TC também modifica o conteúdo dos pacotes durante a classificação, utilizando filtros e ações. O subsistema TC consegue isso utilizando disciplinas de enfileiramento (qdisc
), um elemento fundamental da arquitetura do TC.
O mecanismo de programação organiza ou rearranja os pacotes antes que eles entrem ou saiam de diferentes filas. O programador mais comum é o programador First-In-First-Out (FIFO). Você pode fazer as operações do qdiscs
temporariamente usando o utilitário tc
ou permanentemente usando o NetworkManager.
Esta seção explica as disciplinas de enfileiramento e descreve como atualizar o padrão qdiscs
em RHEL.
24.1. Visão geral das disciplinas de enfileiramento
As disciplinas de enfileiramento (qdiscs
) ajudam com o enfileiramento e, posteriormente, o agendamento da transmissão de tráfego por uma interface de rede. Um qdisc
tem duas operações;
- solicita para que um pacote possa ser enfileirado para posterior transmissão e
- dequeue solicita para que um dos pacotes enfileirados possa ser escolhido para transmissão imediata.
Cada qdisc
tem um número de identificação hexadecimal de 16 bits chamado handle
, com um cólon anexo, como 1:
ou abcd:
. Este número é chamado de qdisc
número principal. Se um qdisc
tem classes, então os identificadores são formados como um par de dois números com o número maior antes do menor, <major>:<minor>
, por exemplo abcd:1
. O esquema de numeração para os números menores depende do tipo qdisc
. Às vezes a numeração é sistemática, onde a primeira classe tem o ID <major>:1
, a segunda <major>:2
, e assim por diante. Alguns qdiscs
permitem ao usuário definir arbitrariamente os números menores de classe ao criar a classe.
Classificado qdiscs
Existem diferentes tipos de qdiscs
e ajudam na transferência de pacotes de e para uma interface de rede. Você pode configurar qdiscs
com classes raiz, pai, ou criança. O ponto onde as crianças podem ser anexadas é chamado classes. As classes em qdisc
são flexíveis e podem sempre conter várias classes infantis ou uma única criança, qdisc
. Não há proibição contra uma classe que contenha uma classe em si qdisc
, o que facilita cenários complexos de controle de tráfego. A classe qdiscs
não armazena nenhum pacote em si. Em vez disso, eles fazem consultas e fazem pedidos de filiação a um de seus filhos de acordo com critérios específicos do site qdisc
. Eventualmente, esta passagem recursiva de pacotes termina onde os pacotes são armazenados (ou pegos no caso de desqueue).
Sem classe qdiscs
Alguns qdiscs
não contêm aulas para crianças e são chamados de classless qdiscs
. Sem classes qdiscs
requerem menos personalização em comparação com a classe qdiscs
. Geralmente é suficiente anexá-los a uma interface.
Recursos adicionais
-
Para informações detalhadas sobre os sem classe e os sem classe
qdiscs
, consulte a página de manualtc(8)
. -
Para informações detalhadas sobre as ações, consulte as páginas de manual
actions
etc-actions.8
.
24.2. Qdiscs disponíveis na RHEL
Cada qdisc
trata de questões exclusivas relacionadas à rede. A seguir está a lista de qdiscs
disponível em RHEL. Você pode usar qualquer uma das seguintes qdisc
para moldar o tráfego de rede com base em suas necessidades de rede.
Tabela 24.1. Agendadores disponíveis na RHEL
qdisc nome | Incluído em | Suporte de descarregamento |
---|---|---|
Modo de Transferência Assíncrona (ATM) |
| |
Enfileiramento baseado em classe |
| |
Modelador baseado em crédito |
| Sim |
Escolher e Manter para fluxos responsivos, Escolher e Matar para fluxos não responsivos (CHOKE) |
| |
Atraso Controlado (CoDel) |
| |
Déficit Round Robin (DRR) |
| |
Marcador de Serviços Diferenciados (DSMARK) |
| |
Seleção de Transmissão Aprimorada (ETS) |
| Sim |
Fila da Feira (FQ) |
| |
Atraso controlado por filas justas (FQ_CODel) |
| |
Detecção precoce aleatória generalizada (GRED) |
| |
Curva Hierárquica de Serviço Justo (HSFC) |
| |
Filtro Heavy-Hitter (HHF) |
| |
Balde de Hierarquia (HTB) |
| |
INGRESS |
| Sim |
Prioridade de múltiplas filas (MQPRIO) |
| Sim |
Multiqueue (MULTIQ) |
| Sim |
Emulador de Rede (NETEM) |
| |
Proporcional Integral-controller Enhanced (PIE) |
| |
PLUG |
| |
Enfileiramento Rápido de Feira (QFQ) |
| |
Detecção precoce aleatória (VERMELHO) |
| Sim |
Stochastic Fair Blue (SFB) |
| |
Enfileiramento Estocástico Justo (SFQ) |
| |
Filtro Token Bucket (TBF) |
| Sim |
Equalizador de Elo Trivial (TEQL) |
|
A descarga do qdisc
requer suporte de hardware e drivers no NIC.
Recursos adicionais
-
Para informações completas dos parâmetros e filtros usados para configurar o
qdiscs
, consulte as páginas mantc(8)
,cbq
,cbs
,choke
,CoDel
,drr
,fq
,htb
,mqprio
,netem
,pie
,sfb
,pfifo
, ,tc-red
,sfq
,tbf
, eprio
.
24.3. Inspeção de qdiscs de uma interface de rede usando o utilitário tc
Por default, os sistemas Red Hat Enterprise Linux usam fq_codel
qdisc
. Este procedimento descreve como inspecionar os balcões qdisc
.
Procedimento
Opcional: Veja seu atual
qdisc
:#
tc qdisc show dev enp0s1
Inspecione os atuais balcões
qdisc
:#
tc -s qdisc show dev enp0s1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn Sent 1008193 bytes 5559 pkt (dropped 233, overlimits 55 requeues 77) backlog 0b 0p requeues 0 ....
-
dropped
- o número de vezes que um pacote é descartado porque todas as filas estão cheias -
overlimits
- o número de vezes que a capacidade do link configurado é preenchida -
sent
- o número de dequeues
24.4. Atualização do qdisc padrão
Se você observar perdas de pacotes de rede com o atual qdisc
, você pode alterar o qdisc
com base em seus requisitos de rede. Você pode selecionar o qdisc
, que atende às exigências de sua rede. Este procedimento descreve como alterar o padrão qdisc
no Red Hat Enterprise Linux.
Procedimento
Veja o padrão atual
qdisc
:#
sysctl -a | grep qdisc
net.core.default_qdisc = fq_codelVeja o
qdisc
da atual conexão Ethernet:#
tc -s qdisc show dev enp0s1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0 new_flows_len 0 old_flows_len 0Atualize o existente
qdisc
:#
sysctl -w net.core.default_qdisc=pfifo_fast
Para aplicar as mudanças, recarregue o driver da rede:
#
rmmod NETWORKDRIVERNAME
#
modprobe NETWORKDRIVERNAME
Iniciar a interface da rede:
#
ip link set enp0s1 up
Etapas de verificação
Veja o
qdisc
da conexão Ethernet:#
tc -s qdisc show dev enp0s1
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 373186 bytes 5333 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 ....
Recursos adicionais
-
Para mais informações sobre como tornar estas mudanças persistentes, veja Como definir variáveis em
sysctl
no artigo do Red Hat Enterprise Linux.
24.5. Configuração temporária do qdisk atual de uma interface de rede usando o utilitário tc
Você pode atualizar o atual qdisc
sem alterar o padrão. Este procedimento descreve como alterar o atual qdisc
no Red Hat Enterprise Linux.
Procedimento
Opcional: Veja o atual
qdisc
:#
tc -s qdisc show dev enp0s1
Atualize o atual
qdisc
:#
tc qdisc replace dev enp0s1 root htb
Etapa de verificação
Veja a atualização atual
qdisc
:#
tc -s qdisc show dev enp0s1
qdisc htb 8001: root refcnt 2 r2q 10 default 0 direct_packets_stat 0 direct_qlen 1000 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0
24.6. Configuração permanente do qdisk atual de uma interface de rede usando o NetworkManager
Você pode atualizar o valor atual qdisc
de uma conexão NetworkManager.
Procedimento
Opcional: Veja o atual
qdisc
:# tc qdisc show dev enp0s1 qdisc fq_codel 0: root refcnt 2
Atualize o atual
qdisc
:# nmcli connection modify enp0s1 tc.qdiscs ‘root pfifo_fast’
Opcional: Para adicionar outro
qdisc
sobre o existenteqdisc
, use a opçãotc.qdisc
:# nmcli connection modify enp0s1 tc.qdisc ‘ingress handle ffff:’
Ativar as mudanças:
# nmcli connection up enp0s1
Etapas de verificação
Veja atualmente
qdisc
a interface da rede:# tc qdisc show dev _enp0s1_ qdisc _pfifo_fast_ 8001: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc ingress ffff: parent ffff:fff1 ----------------
Recursos adicionais
-
Para mais informações, consulte a página de manual
nm-settings(5)
.
Capítulo 25. Começando com o Multipath TCP
O TCP Multipath é fornecido apenas como uma Visualização de Tecnologia. Os recursos de Technology Preview não são suportados com os Acordos de Nível de Serviço (SLAs) de produção da Red Hat, podem não ser completos funcionalmente e a Red Hat não recomenda o seu uso para produção. Estas prévias fornecem acesso antecipado às próximas características do produto, permitindo aos clientes testar a funcionalidade e fornecer feedback durante o processo de desenvolvimento.
Veja Technology Preview Features Support Scope no Portal do Cliente da Red Hat para obter informações sobre o escopo de suporte para os recursos de Technology Preview.
O TCP Multipath (MPTCP) é uma extensão do Protocolo de Controle de Transmissão (TCP). Usando o Protocolo de Internet (IP), um host pode enviar pacotes para um destino. O TCP garante a entrega confiável dos dados através da Internet e ajusta automaticamente sua largura de banda em resposta à carga da rede.
As vantagens do MPTCP são as seguintes:
- Ele permite TCP para uso em dispositivos equipados com duas ou mais interfaces de rede.
- Ela permite que os usuários utilizem simultaneamente diferentes interfaces de rede ou mudem sem problemas de uma conexão para outra.
- Ela melhora o uso de recursos dentro da rede e a resiliência à falha da rede.
Esta seção descreve como fazê-lo:
- criar uma nova conexão MPTCP,
-
usar
iproute2
para adicionar novos subfluxos e endereços IP às conexões MPTCP, e - desabilitar o MPTCP no kernel para evitar aplicações que utilizam conexões MPTCP.
25.1. Preparando a RHEL para permitir o apoio ao MPTCP
Poucas aplicações suportam nativamente o MPTCP. Na maioria das vezes, a conexão e os soquetes orientados a fluxo solicitam o protocolo TCP no soquete() chamada para o sistema operacional. Você pode habilitar o suporte a MPTCP na RHEL usando a ferramenta sysctl
para programas suportados nativamente por MPTCP. A implementação do MPTCP também foi projetada para permitir o uso do protocolo MPTCP para aplicações que solicitem IPPROTO_TCP
call to the kernel.
Este procedimento descreve como habilitar o suporte a MPTCP e preparar a RHEL para habilitar todo o sistema MPTCP usando um script SystemTap.
Pré-requisitos
Os seguintes pacotes estão instalados:
-
kernel-debuginfo
-
kernel-debuginfo-common
-
systemtap
-
systemtap-devel
-
kernel-devel
-
nmap-ncat
Procedimento
Habilitar soquetes MPTCP no núcleo:
#
echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf
#sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
Crie um arquivo
mptcp.stap
com o seguinte conteúdo:#! /usr/bin/env stap %{ #include <linux/in.h> #include <linux/ip.h> %} /* according to [1], RSI contains 'type' and RDX * contains 'protocol'. * [1] https://github.com/torvalds/linux/blob/master/arch/x86/entry/entry_64.S#L79 */ function mptcpify () %{ if (CONTEXT->kregs->si == SOCK_STREAM && (CONTEXT->kregs->dx == IPPROTO_TCP || CONTEXT->kregs->dx == 0)) { CONTEXT->kregs->dx = IPPROTO_MPTCP; STAP_RETVALUE = 1; } else { STAP_RETVALUE = 0; } %} probe kernel.function("__sys_socket") { if (mptcpify() == 1) { printf("command %16s mptcpified\n", execname()); } }
Substitua o soquete TCP por MPTCP:
#
stap -vg mptcp.stap
Nota: Use Ctrl+C para converter a conexão de volta para TCP a partir de MPTCP.
Inicie um servidor que escute a porta TCP 4321:
#
ncat -4 -l 4321
Conecte-se ao servidor e troque tráfego. Por exemplo, o cliente aqui escreve "Olá mundo" para o servidor 5 vezes, depois ele encerra a conexão.
#
ncat -4 192.0.2.1 4321
Hello world 1
Hello world 2
Hello world 3
Hello world 4
Hello world 5
Imprensa Ctrl+D para desistir.
Etapas de verificação
Verificar se o MPTCP está habilitado no núcleo:
#
sysctl -a | grep mptcp.enabled
net.mptcp.enabled = 1Após o script
mptcp.stap
instalar a sonda do kernel, os seguintes avisos aparecem na saída do kerneldmesg
#
dmesg
... [ 1752.694072] Kprobes globally unoptimized [ 1752.730147] stap_1ade3b3356f3e68765322e26dec00c3d_1476: module_layout: kernel tainted. [ 1752.732162] Disabling lock debugging due to kernel taint [ 1752.733468] stap_1ade3b3356f3e68765322e26dec00c3d_1476: loading out-of-tree module taints kernel. [ 1752.737219] stap_1ade3b3356f3e68765322e26dec00c3d_1476: module verification failed: signature and/or required key missing - tainting kernelDepois que a conexão for estabelecida, verifique a saída
ss
para ver o status específico do subfluxo:#
ss -nti '( dport :4321 )' dst 192.0.2.1
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process ESTAB 0 0 192.0.2.2:60874 192.0.2.1:4321 cubic wscale:7,7 rto:201 rtt:0.042/0.017 mss:1448 pmtu:1500 rcvmss:536 advmss:1448 cwnd:10 bytes_sent:64 bytes_$cked:65 segs_out:6 segs_in:5 data_segs_out:4 send 2758095238bps lastsnd:57 lastrcv:3054 lastack:57 pacing_rate 540361516$bps delivery_rate 413714280bps delivered:5 rcv_space:29200 rcv_ssthresh:29200 minrtt:0.009 tcp-ulp-mptcp flags:Mmec token:0000(id:0)/4bffe73d(id:0) seq:c11f40d6c5337463 sfseq:1 ssnoff:f7455705 maplen:0Capture o tráfego usando
tcpdump
e verifique o uso de sub-opções MPTCP:#
tcpdump -tnni interface tcp port 4321
client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [S], seq 3420255622, win 29200, options [mss 1460,sackOK,TS val 411 4539945 ecr 0,nop,wscale 7,mptcp capable v1], length 0 client In IP 192.0.2.1.4321 > 192.0.2.2.60802: Flags [S.], seq 2619315374, ack 3420255623, win 28960, options [mss 1460 sackOK,TS val 3241564233 ecr 4114539945,nop,wscale 7,mptcp capable v1 {0xb6f8dc721aee7f64}], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 4114539945 ecr 3241564 233,mptcp capable v1 {0xcc58d5d632a32d13,0xb6f8dc721aee7f64}], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [P.], seq 1:17, ack 1, win 229, options [nop,nop,TS val 4114539945 ecr 3241564233,mptcp capable v1 {0xcc58d5d632a32d13,0xb6f8dc721aee7f64},nop,nop], length 16 client In IP 192.0.2.1.4321 > 192.0.2.2.60802: Flags [.], ack 17, win 227, options [nop,nop,TS val 3241564233 ecr 411459945,mptcp dss ack 1105509586894558345], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [P.], seq 17:33, ack 1, win 229, options [nop,nop,TS val 4114540939 ecr 3241564233,mptcp dss ack 13265586846326199424 seq 105509586894558345 subseq 17 len 16,nop,nop], length 16O pacote
tcpdump
é necessário para executar este comando.
Recursos adicionais
- Para mais informações veja, Como posso baixar ou instalar pacotes de debuginfo para sistemas RHEL? artigo.
-
Para mais informações em
IPPROTO_TCP
, consulte as páginas de manualtcp(7)
.
25.2. Usando o iproute2 para notificar aplicações sobre múltiplos caminhos disponíveis
Por padrão, o soquete MPTCP começa com um único subfluxo, mas você pode adicionar novos subfluxos e endereços IP à conexão uma vez que você a crie pela primeira vez. Este procedimento descreve como atualizar os limites por conexão para subfluxos e endereços IP, e adicionar novos endereços IP (endpoints) à conexão MPTCP.
Note que o MPTCP ainda não suporta terminais mistos IPv6 e IPv4 para o mesmo soquete. Use endpoints que pertençam à mesma família de endereços.
Procedimento
Defina os limites por conexão e endereço IP para 1 no servidor:
#
ip mptcp limits set subflow 1
Estabelecer os limites por conexão e endereço IP para 1 no cliente:
#
ip mptcp limits set subflow 1 add_addr_accepted 1
Adicione o endereço IP 198.51.100.1 como um novo endpoint MPTCP no servidor:
#
ip mptcp endpoint add 198.51.100.1 dev enp1s0 signal
ImportanteVocê pode definir os seguintes valores para as bandeiras:
subflow
,backup
,signal
. Colocando a bandeira em;-
signal
, envia um pacoteADD_ADDR
depois que o aperto de mão triplo for concluído -
subflow
, envia umMP_JOIN SYN
pelo cliente -
backup
, define o ponto final como um endereço de backup
-
Iniciar a ligação do servidor a 0.0.0.0 com o argumento
-k
para evitar que o [systemitem]'ncat' feche a tomada de escuta após aceitar a primeira conexão e fazer o servidor rejeitarMP_JOIN SYN
feito pelo cliente.#
ncat -4 0.0.0.0 -k -l 4321
Inicie o cliente e conecte-se ao servidor para trocar tráfego. Por exemplo, o cliente aqui escreve "Olá mundo" para o servidor 5 vezes, depois ele encerra a conexão.
#
ncat -4 192.0.2.1 4321
Hello world 1
Hello world 2
Hello world 3
Hello world 4
Hello world 5
Imprensa Ctrl+D para desistir.
Etapas de verificação
Verificar a conexão e o limite de endereço IP:
#
ip mptcp limit show
Verificar o ponto final recém-adicionado:
#
ip mptcp endpoint show
Capture o tráfego usando
tcpdump
e verifique o uso de sub-opções MPTCP:#
tcpdump -tnni interface tcp port 4321
client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [S], seq 3107783947, win 29200, options [mss 1460,sackOK,TS val 2568752336 ecr 0,nop,wscale 7,mptcp capable v1], length 0 client In IP 192.0.2.1.4321 > 192.0.2.2.56868: Flags [S.], seq 4222339923, ack 3107783948, win 28960, options [mss 1460,sackOK,TS val 1713130246 ecr 2568752336,nop,wscale 7,mptcp capable v1 {0xf51c07a47cc2ba75}], length 0 client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 2568752336 ecr 1713130246,mptcp capable v1 {0xb243376cc5af60bd,0xf51c07a47cc2ba75}], length 0 client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [P.], seq 1:17, ack 1, win 229, options [nop,nop,TS val 2568752336 ecr 1713130246,mptcp capable v1 {0xb243376cc5af60bd,0xf51c07a47cc2ba75},nop,nop], length 16 client In IP 192.0.2.1.4321 > 192.0.2.2.56868: Flags [.], ack 17, win 227, options [nop,nop,TS val 1713130246 ecr 2568752336,mptcp add-addr id 1 198.51.100.1 hmac 0xe445335073818837,mptcp dss ack 5562689076006296132], length 0 client Out IP 198.51.100.2.42403 > 198.51.100.1.4321: Flags [S], seq 3356992178, win 29200, options [mss 1460,sackOK,TS val 4038525523 ecr 0,nop,wscale 7,mptcp join backup id 0 token 0xad58df1 nonce 0x74a8137f], length 0 client In IP 198.51.100.1.4321 > 198.51.100.2.42403: Flags [S.], seq 1680863152, ack 3356992179, win 28960, options [mss 1460,sackOK,TS val 4213669942 ecr 4038525523,nop,wscale 7,mptcp join backup id 0 hmac 0x9eff7a1bf4e65937 nonce 0x77303fd8], length 0 client Out IP 198.51.100.2.42403 > 198.51.100.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 4038525523 ecr 4213669942,mptcp join hmac 0xdfdc0129424f627ea774c094461328ce49d195bc], length 0 client In IP 198.51.100.1.4321 > 198.51.100.2.42403: Flags [.], ack 1, win 227, options [nop,nop,TS val 4213669942 ecr 4038525523,mptcp dss ack 5562689076006296132], length 0O pacote
tcpdump
é necessário para executar este comando.
Recursos adicionais
-
Para mais informações sobre as bandeiras de endpoint disponíveis, consulte a página de manual
ip-mptcp(8)
.
25.3. Desabilitando o TCP Multipath no kernel
Este procedimento descreve como desativar a opção MPTCP no kernel.
Procedimento
Desativar a opção
mptcp.enabled
.#
echo "net.mptcp.enabled=0" > /etc/sysctl.d/90-enable-MPTCP.conf
#sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
Etapas de verificação
Verificar se o
mptcp.enabled
está desativado no núcleo.#
sysctl -a | grep mptcp.enabled
net.mptcp.enabled = 0
Capítulo 26. Configurando a ordem dos servidores DNS
A maioria das aplicações usa a função getaddrinfo()
da biblioteca glibc
para resolver solicitações DNS. Por padrão, glibc
envia todas as solicitações DNS para o primeiro servidor DNS especificado no arquivo /etc/resolv.conf
. Se este servidor não responder, o Red Hat Enterprise Linux usa o próximo servidor deste arquivo.
Esta seção descreve como personalizar a ordem dos servidores DNS.
26.1. Como o NetworkManager ordena servidores DNS em /etc/resolv.conf
O NetworkManager ordena servidores DNS no arquivo /etc/resolv.conf
com base nas seguintes regras:
- Se existir apenas um perfil de conexão, o NetworkManager utiliza a ordem do servidor DNS IPv4 e IPv6 especificada nessa conexão.
Se vários perfis de conexão forem ativados, o NetworkManager ordena servidores DNS com base em um valor de prioridade DNS. Se você definir prioridades DNS, o comportamento do NetworkManager dependerá do valor definido no parâmetro
dns
. Você pode definir este parâmetro na seção[main]
no arquivo/etc/NetworkManager/NetworkManager.conf
:dns=default
ou se o parâmetrodns
não estiver definido:O NetworkManager ordena os servidores DNS a partir de diferentes conexões com base no parâmetro
ipv4.dns-priority
eipv6.dns-priority
em cada conexão.Se você não definir nenhum valor ou se você definir
ipv4.dns-priority
eipv6.dns-priority
para0
, o NetworkManager utiliza o valor padrão global. Ver “Valores padrão dos parâmetros de prioridade DNS”.dns=dnsmasq
oudns=systemd-resolved
:Quando você usa uma dessas configurações, o NetworkManager configura
127.0.0.1
paradnsmasq
ou127.0.0.53
como entradanameserver
no arquivo/etc/resolv.conf
.Os serviços
dnsmasq
esystemd-resolved
encaminham as consultas para o domínio de busca definido em uma conexão NetworkManager ao servidor DNS especificado nessa conexão, e encaminha as consultas para outros domínios para a conexão com a rota padrão. Quando múltiplas conexões têm o mesmo conjunto de domínios de busca,dnsmasq
esystemd-resolved
encaminham as consultas para este domínio ao servidor DNS definido na conexão com o menor valor de prioridade.
Valores padrão dos parâmetros de prioridade DNS
O NetworkManager utiliza os seguintes valores padrão para conexões:
-
50
para conexões VPN -
100
para outras conexões
Valores de prioridade DNS válidos:
Você pode definir tanto o padrão global quanto parâmetros específicos de conexão ipv4.dns-priority
e ipv6.dns-priority
para um valor entre -2147483647
e 2147483647
.
- Um valor menor tem uma prioridade maior.
- Os valores negativos têm o efeito especial de excluir outras configurações com um valor maior. Por exemplo, se existe pelo menos uma conexão com um valor de prioridade negativa, o NetworkManager utiliza apenas os servidores DNS especificados no perfil de conexão com a prioridade mais baixa.
Se várias conexões tiverem a mesma prioridade DNS, o NetworkManager prioriza o DNS na seguinte ordem:
- Conexões VPN
- Conexão com uma rota padrão ativa. A rota padrão ativa é a rota padrão a mais baixa métrica.
Recursos adicionais
-
Para mais detalhes sobre como o NetworkManager ordena as entradas do servidor DNS no arquivo
/etc/resolv.conf
, consulte a descrição dos parâmetrosdns-priority
nas seçõesipv4
eipv6
na página de manualnm-settings(5)
. -
Para detalhes sobre o uso de
systemd-resolved
para usar diferentes servidores DNS para diferentes domínios, veja Capítulo 34, Usando diferentes servidores DNS para diferentes domínios.
26.2. Definição de um valor de prioridade de servidor DNS padrão do NetworkManager
O NetworkManager utiliza os seguintes valores padrão de prioridade DNS para conexões:
-
50
para conexões VPN -
100
para outras conexões
Esta seção descreve como substituir esses padrões de todo o sistema com um valor padrão personalizado para conexões IPv4 e IPv6.
Procedimento
Edite o arquivo
/etc/NetworkManager/NetworkManager.conf
:Adicione a seção
[connection]
, se ela não existir:[conexão]
Adicione os valores padrão personalizados à seção
[connection]
. Por exemplo, para definir o novo padrão tanto para IPv4 quanto para IPv6 para200
, adicionar:ipv4.dns-priority=200 ipv6.dns-priority=200
Você pode definir os parâmetros para um valor entre
-2147483647
e2147483647
. Note que a definição dos parâmetros para0
permite os padrões embutidos (50
para conexões VPN e100
para outras conexões).
Recarregue o serviço
NetworkManager
:#
systemctl reload NetworkManager
Recursos adicionais
-
Para detalhes adicionais sobre a definição de valores padrão para todas as conexões NetworkManager, consulte
Connection Section
na página de manualNetworkManager.conf(5)
.
26.3. Definindo a prioridade DNS de uma conexão NetworkManager
Esta seção descreve como definir a ordem dos servidores DNS quando o NetworkManager cria ou atualiza o arquivo /etc/resolv.conf
.
Observe que a definição de prioridades DNS só faz sentido se você tiver múltiplas conexões com diferentes servidores DNS configurados. Se você tiver apenas uma conexão com múltiplos servidores DNS configurados, configure manualmente os servidores DNS na ordem preferida no perfil de conexão.
Pré-requisitos
- O sistema tem múltiplas conexões NetworkManager configuradas.
-
O sistema ou não tem nenhum parâmetro
dns
definido no arquivo/etc/NetworkManager/NetworkManager.conf
ou o parâmetro está definido paradefault
.
Procedimento
Opcionalmente, exibir as conexões disponíveis:
#
nmcli connection show
NAME UUID TYPE DEVICE Example_con_1 d17ee488-4665-4de2-b28a-48befab0cd43 ethernet enp1s0 Example_con_2 916e4f67-7145-3ffa-9f7b-e7cada8f6bf7 ethernet enp7s0 ...Estabelecer os parâmetros
ipv4.dns-priority
eipv6.dns-priority
. Por exemplo, para definir os dois parâmetros para10
para a conexãoExample_con_1
:#
nmcli connection modify Example_con_1 ipv4.dns-priority 10 ipv6.dns-priority 10
- Opcionalmente, repetir a etapa anterior para outras conexões.
Reative a conexão que você atualizou:
#
nmcli connection up Example_con_1
Etapas de verificação
Exibir o conteúdo do arquivo
/etc/resolv.conf
para verificar se a ordem do servidor DNS está correta:#
cat /etc/resolv.conf
Capítulo 27. Configuração de rede ip com arquivos ifcfg
Esta seção descreve como configurar uma interface de rede manualmente através da edição dos arquivos ifcfg
.
Os arquivos de configuração de interface (ifcfg) controlam as interfaces de software para dispositivos de rede individuais. Como o sistema inicia, ele usa esses arquivos para determinar quais interfaces devem ser criadas e como configurá-las. Estes arquivos são normalmente nomeados ifcfg-name
, onde o sufixo name se refere ao nome do dispositivo que o arquivo de configuração controla. Por convenção, o sufixo ifcfg
é o mesmo que a seqüência dada pela diretiva DEVICE
no próprio arquivo de configuração.
27.1. Configuração de uma interface com configurações de rede estática usando arquivos ifcfg
Este procedimento descreve como configurar uma interface de rede usando os arquivos ifcfg
.
Procedimento
Para configurar uma interface com configurações de rede estática usando arquivos
ifcfg
, para uma interface com o nomeenp1s0
, crie um arquivo com o nomeifcfg-enp1s0
no diretório/etc/sysconfig/network-scripts/
que contém:Para configuração em
IPv4
:DEVICE=enp1s0 BOOTPROTO=none ONBOOT=yes PREFIX=24 IPADDR=10.0.1.27 GATEWAY=10.0.1.1
Para configuração em
IPv6
:DEVICE=enp1s0 BOOTPROTO=none ONBOOT=yes IPV6INIT=yes IPV6ADDR=2001:db8:1::2/64
Recursos adicionais
- Para mais informações sobre as conexões de teste, ver Capítulo 39, Teste de configurações básicas de rede.
-
Para mais
IPv6
ifcfg opções de configuração, veja nm-settings-ifcfg-rh(5) página do homem.
27.2. Configuração de uma interface com configurações dinâmicas de rede usando arquivos ifcfg
Este procedimento descreve como configurar uma interface de rede com configurações dinâmicas de rede usando arquivos ifcfg
.
Procedimento
Para configurar uma interface chamada em1 com configurações dinâmicas de rede usando arquivos
ifcfg
, crie um arquivo com o nomeifcfg-em1
no diretório/etc/sysconfig/network-scripts/
que contém:DEVICE=em1 BOOTPROTO=dhcp ONBOOT=yes
Para configurar uma interface para enviar um nome de host diferente para o servidor
DHCP
, adicione a seguinte linha ao arquivoifcfg
:DHCP_HOSTNAME=hostname
Para configurar uma interface para enviar um outro nome de domínio totalmente qualificado (FQDN) para o servidor
DHCP
, adicione a seguinte linha ao arquivoifcfg
:DHCP_FQDN=fully.qualified.domain.name
NotaApenas uma diretriz,
DHCP_HOSTNAME
ouDHCP_FQDN
, deve ser usada em um determinado arquivoifcfg
. No caso de serem especificadosDHCP_HOSTNAME
eDHCP_FQDN
, somente esta última é utilizada.Para configurar uma interface para utilizar determinados servidores
DNS
, adicione as seguintes linhas ao arquivoifcfg
:PEERDNS=no DNS1=ip-address DNS2=ip-address
onde ip-address é o endereço de um servidor
DNS
. Isto fará com que o serviço de rede atualize/etc/resolv.conf
com os servidoresDNS
especificados. Apenas umDNS
endereço de servidor é necessário, o outro é opcional.
27.3. Gerenciamento de todo o sistema e perfis de conexão privada com arquivos ifcfg
Este procedimento descreve como configurar os arquivos ifcfg
para gerenciar os perfis de conexão privada e de todo o sistema.
Procedimento
As permissões correspondem à diretriz USERS
nos arquivos ifcfg
. Se a diretiva USERS
não estiver presente, o perfil da rede estará disponível para todos os usuários.
Como exemplo, modifique o arquivo
ifcfg
com a seguinte linha, que tornará a conexão disponível apenas para os usuários listados:USUÁRIOS="joe bob alice
Capítulo 28. Usando o NetworkManager para desativar o IPv6 para uma conexão específica
Esta seção descreve como desativar o protocolo IPv6 em um sistema que usa o NetworkManager para gerenciar as interfaces de rede. Se você desabilitar o IPv6, o NetworkManager define automaticamente os valores correspondentes de sysctl
no Kernel.
O serviço NetworkManager estabelece certos valores sysctl
quando inicia uma conexão. Para evitar comportamentos inesperados, não defina manualmente os valores sysctl
para desativar o IPv6.
Pré-requisitos
- O sistema usa o NetworkManager para gerenciar as interfaces de rede, que é o padrão no Red Hat Enterprise Linux 8.
- O sistema roda o Red Hat Enterprise Linux 8.1 ou posterior.
28.1. Desabilitando IPv6 em uma conexão usando nmcli
Use esta seção para desativar o protocolo IPv6 usando o utilitário nmcli
.
Procedimento
Opcionalmente, exibir a lista de conexões de rede:
# nmcli connection show NAME UUID TYPE DEVICE Example 7a7e0151-9c18-4e6f-89ee-65bb2d64d365 ethernet enp1s0 ...
Definir o parâmetro
ipv6.method
da conexão paradisabled
:# nmcli connection modify Example ipv6.method {\i1}"disabled
Reiniciar a conexão de rede:
# nmcli conexão acima Example
Etapas de verificação
Digite o comando
ip address show
para exibir as configurações de IP do dispositivo:# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:6b:74:be brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.10.2.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever
Se não for exibida a entrada
inet6
, o IPv6 é desativado no dispositivo.Verifique se o
/proc/sys/net/ipv6/conf/enp1s0/disable_ipv6
contém agora o valor1
:# cat /proc/sys/net/ipv6/conf/enp1s0/disable_ipv6 1
O valor
1
significa que o IPv6 está desabilitado para o dispositivo.
Capítulo 29. Configuração manual do arquivo /etc/resolv.conf
Por default, o NetworkManager no Red Hat Enterprise Linux (RHEL) 8 atualiza dinamicamente o arquivo /etc/resolv.conf
com as configurações DNS dos perfis de conexão ativos do NetworkManager. Esta seção descreve diferentes opções sobre como desativar este recurso para configurar manualmente as configurações do DNS em /etc/resolv.conf
.
29.1. Desativação do processamento DNS na configuração do NetworkManager
Esta seção descreve como desativar o processamento DNS na configuração do NetworkManager para configurar manualmente o arquivo /etc/resolv.conf
.
Procedimento
Como usuário root, crie o arquivo
/etc/NetworkManager/conf.d/90-dns-none.conf
com o seguinte conteúdo, utilizando um editor de texto:[main] dns=none
Recarregue o serviço
NetworkManager
:# systemctl reload NetworkManager
NotaDepois de recarregar o serviço, o NetworkManager não atualiza mais o arquivo
/etc/resolv.conf
. Entretanto, o último conteúdo do arquivo é preservado.-
Opcionalmente, remova o comentário
Generated by NetworkManager
de/etc/resolv.conf
para evitar confusão.
Etapas de verificação
-
Editar o arquivo
/etc/resolv.conf
e atualizar manualmente a configuração. Recarregue o serviço
NetworkManager
:# systemctl reload NetworkManager
Exibir o arquivo
/etc/resolv.conf
:# cat /etc/resolv.conf
Se você desativou com sucesso o processamento DNS, o NetworkManager não anulou as configurações manuais.
Recursos adicionais
-
Para mais detalhes, consulte a descrição do parâmetro
dns
na página de manualNetworkManager.conf(5)
.
29.2. Substituindo /etc/resolv.conf por um link simbólico para configurar manualmente as configurações do DNS
O NetworkManager não atualiza automaticamente a configuração do DNS se /etc/resolv.conf
for um link simbólico. Esta seção descreve como substituir /etc/resolv.conf
por um link simbólico para um arquivo alternativo com a configuração do DNS.
Pré-requisitos
-
A opção
rc-manager
não está definida parafile
. Para verificar, use o comandoNetworkManager --print-config
.
Procedimento
-
Crie um arquivo, como
/etc/resolv.conf.manually-configured
, e adicione a configuração DNS para seu ambiente a ele. Use os mesmos parâmetros e sintaxe que no original/etc/resolv.conf
. Remover o arquivo
/etc/resolv.conf
:# rm /etc/resolv.conf
Criar um link simbólico chamado
/etc/resolv.conf
que se refere a/etc/resolv.conf.manually-configured
:# ln -s /etc/resolv.conf.manualmente-configurado /etc/resolv.conf
Recursos adicionais
-
Para detalhes sobre os parâmetros que você pode definir em
/etc/resolv.conf
, consulte a página de manualresolv.conf(5)
. -
Para mais detalhes sobre por que o NetworkManager não processa configurações DNS se
/etc/resolv.conf
é um link simbólico, veja a descrição do parâmetrorc-manager
na página de manualNetworkManager.conf(5)
.
Capítulo 30. Configuração das configurações do link 802.3
Você pode configurar as configurações de conexão 802.3 de uma conexão Ethernet modificando os seguintes parâmetros de configuração:
-
802-3-ethernet.auto-negotiate
-
802-3-ethernet.speed
-
802-3-ethernet.duplex
Você pode configurar as configurações do link 802.3 para os seguintes modos principais:
- Ignorar a negociação do link
- Fazer valer a ativação da auto-negociação
-
Configurar manualmente os links
speed
eduplex
30.1. Configuração das configurações de ligação 802.3 com a ferramenta nmcli
Este procedimento descreve como configurar as configurações do link 802.3 usando a ferramenta nmcli
.
Pré-requisitos
- O NetworkManager deve ser instalado e em funcionamento.
Procedimento
Para ignorar a negociação do link, defina os seguintes parâmetros:
~]# conexão nmcli modificar connection_name 802-3-ethernet.auto-negociate no 802-3-ethernet.speed 0 802-3-ethernet.duplex \i
Observe que o parâmetro de auto-negociação não é desativado mesmo que os parâmetros de velocidade e duplex não estejam definidos e o parâmetro de auto-negociação esteja definido como não.
Para impor a ativação da auto-negociação, digite o seguinte comando:
~]# conexão nmcli modificar connection_name 802-3-ethernet.auto-negociar sim 802-3-ethernet.speed 0 802-3-ethernet.duplex ""
Isso permite negociar todos os modos de velocidade e duplex disponíveis suportados pelo NIC.
Você também pode habilitar a auto-negociação enquanto faz publicidade e permitir apenas um modo velocidade/duplex. Isto pode ser útil se você quiser aplicar a configuração de links
1000BASE-T
e10GBASE-T
Ethernet, uma vez que estas normas exigem a auto-negociação ativada. Para fazer cumprir a norma1000BASE-T
:~]# conexão nmcli modificar connection_name 802-3-ethernet.auto-negociate sim 802-3-ethernet.speed 1000 802-3-ethernet.duplex full
Para definir manualmente as configurações de velocidade e link duplex, digite o seguinte comando:
~]# conexão nmcli modificar connection_name 802-3-ethernet.auto-negociar sem 802-3-ethernet.speed [velocidade em Mbit/s] 802-3-ethernet.duplex [full|half]
Capítulo 31. Configuração dos recursos de descarga de etool
As placas de interface de rede podem usar o motor de descarga TCP (TOE) para descarregar o processamento de certas operações para o controlador da rede para melhorar o rendimento da rede.
Esta seção descreve como ativar os recursos de descarga.
31.1. Recursos de descarregamento suportados pelo NetworkManager
Você pode configurar os seguintes recursos para descarregar ethtool
usando o NetworkManager:
- ethtool.feature-esp-hw-offload
- ethtool.feature-esp-tx-csum-hw-offload
- ethtool.feature-fcoe-mtu
- ethtool.feature-gro
- ethtool.feature-gso
- ethtool.feature-highdma
- ethtool.feature-hw-tc-offload
- ethtool.feature-l2-fwd-offload
- ethtool.feature-loopback
- ethtool.feature-lro
- ethtool.feature-ntuple
- ethtool.feature-rx
- ethtool.feature-rx-all
- ethtool.feature-rx-fcs
- ethtool.feature-rx-gro-hw
- ethtool.feature-rx-udp_tunnel-port-offload
- ethtool.feature-rx-vlan-filter
- ethtool.feature-rx-vlan-stag-filter
- ethtool.feature-rx-vlan-stag-hw-parse
- etool.extirpar características
- ethtool.feature-rxvlan
- ethtool.feature-sg
- ethtool.feature-tls-hw-record
- ethtool.feature-tls-hw-tx-offload
- ethtool.feature-tso
- ethtool.feature-tx
- ethtool.feature-tx-checksum-fcoe-crc
- ethtool.feature-tx-checksum-ip-generic
- ethtool.feature-tx-checksum-ipv4
- ethtool.feature-tx-checksum-ipv6
- ethtool.feature-tx-checksum-sctp
- ethtool.feature-tx-esp-segmentation
- ethtool.feature-tx-fcoe-segmentation
- ethtool.feature-tx-gre-csum-segmentação
- ethtool.feature-tx-gregmentation
- ethtool.feature-tx-gso-parcial
- ethtool.feature-tx-gso-robust
- ethtool.feature-tx-ipxip4-segmentation
- ethtool.feature-tx-ipxip6-segmentação
- ethtool.feature-tx-nocache-copy
- ethtool.feature-tx-scatter-gather
- ethtool.feature-tx-scatter-gather-fraglist
- ethtool.feature-tx-sctp-segmentation
- ethtool.feature-tx-tcp-ecn-segmentation
- ethtool.feature-tx-tcp-mangleid-segmentation
- ethtool.feature-tx-tcp-segmentation
- ethtool.feature-tx-tcp6-segmentação
- ethtool.feature-tx-udp-segmentation
- ethtool.feature-tx-udp_tnl-csum-segmentation
- ethtool.feature-tx-udp_tnl-segmentation
- ethtool.feature-tx-vlan-stag-hw-insert
- ethtool.feature-txvlan
Para detalhes sobre os recursos individuais de descarga, veja a documentação do utilitário ethtool
e a documentação do kernel.
31.2. Configuração de um recurso de descarga de etool usando o NetworkManager
Esta seção descreve como habilitar e desabilitar os recursos de descarregar ethtool
usando o NetworkManager, bem como como remover a configuração de um recurso de um perfil de conexão NetworkManager.
Procedimento
Por exemplo, para ativar o recurso de descarga RX e desativar a descarga TX no perfil de conexão
enp1s0
, entre:# nmcli con modificar enp1s0 ethtool.feature-rx em ethtool.feature-tx off
Este comando permite explicitamente a descarga do RX e desativa a descarga do TX.
Para remover a configuração de um recurso de descarga que você ativou ou desativou anteriormente, defina o parâmetro do recurso para
ignore
. Por exemplo, para remover a configuração para TX offload, entre:# nmcli con modificar enp1s0 ethtool.feature-tx ignore
Reativar o perfil da rede:
# nmcli conexão acima enp1s0
Etapas de verificação
Use o comando
ethtool -k
para exibir as características atuais de descarga de um dispositivo de rede:# etool -k network_device
Recursos adicionais
-
Para obter uma lista de recursos de descarregamento do
ethtool
que o NetworkManager suporta, consulte Seção 31.1, “Recursos de descarregamento suportados pelo NetworkManager”.
31.3. Utilização de funções do sistema para definir as características do etool
Você pode usar a função do Sistema RHEL networking
para configurar ethtool
recursos de uma conexão NetworkManager.
Quando você executa uma peça que usa o Sistema Função networking
RHEL, o Sistema Função substitui um perfil de conexão existente com o mesmo nome se as configurações não coincidirem com as especificadas na peça. Portanto, sempre especifique toda a configuração do perfil de conexão de rede na peça, mesmo que, por exemplo, a configuração IP já exista. Caso contrário, o papel redefine estes valores com seus padrões.
Dependendo se já existe, o procedimento cria ou atualiza o perfil de conexão enp1s0
com as seguintes configurações:
-
Um endereço IPv4 estático -
198.51.100.20
com uma máscara de sub-rede/24
-
Um endereço IPv6 estático -
2001:db8:1::1
com uma máscara de sub-rede/64
-
Um gateway padrão IPv4 -
198.51.100.254
-
Um gateway padrão IPv6 -
2001:db8:1::fffe
-
Um servidor DNS IPv4 -
198.51.100.200
-
Um servidor DNS IPv6 -
2001:db8:1::ffbb
-
Um domínio de busca DNS -
example.com
ethtool
apresenta:- Genéricos recebem descarregar (GRO): desativado
- Segmentação genérica de descarga (GSO): habilitada
- Segmentação do TX Stream Control Transmission Protocol (SCTP): desativado
Pré-requisitos
-
Os pacotes
ansible
erhel-system-roles
estão instalados no nó de controle. -
Se você usar um usuário remoto diferente do root ao executar o playbook, este usuário tem as permissões apropriadas
sudo
no nó gerenciado.
Procedimento
Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo
/etc/ansible/hosts
Inventário possível:node.example.com
Crie o playbook
~/configure-ethernet-device-with-ethtool-features.yml
com o seguinte conteúdo:--- - name. Configure an Ethernet connection with ethtool features hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com ethtool: feature: gro: "no" gso: "yes" tx_sctp_segmentation: "no" state: up
Execute o livro de brincadeiras:
Para se conectar como usuário
root
ao host gerenciado, entre:#
ansible-playbook -u root ~/configure-ethernet-device-with-ethtool-features.yml
Para conectar-se como usuário ao host administrado, entre:
#
ansible-playbook -u user_name --ask-become-pass ~/configure-ethernet-device-with-ethtool-features.yml
A opção
--ask-become-pass
garante que o comandoansible-playbook
solicita a senhasudo
do usuário definido no-u user_name
opção.
Se você não especificar o
-u user_name
ansible-playbook
se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.
Recursos adicionais
-
ethtool
Para uma lista completa dos recursos e detalhes sobre os parâmetros usados emnetwork_connections
, e para informações adicionais sobre a função do sistemanetwork
, consulte o arquivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obter detalhes sobre o comando
ansible-playbook
, consulte a página de manualansible-playbook(1)
.
Capítulo 32. Configuração de coalesceamento de etool
Usando a coalescência de interrupção, o sistema coleta pacotes de rede e gera uma única interrupção para vários pacotes. Isto aumenta a quantidade de dados enviados ao kernel com uma interrupção de hardware, o que reduz a carga de interrupção, e maximiza a produção.
Esta seção fornece diferentes opções para definir as configurações de coalescência do ethtool
.
32.1. Coalesce configurações suportadas pelo NetworkManager
Você pode definir as seguintes configurações ethtool
coalescer usando o NetworkManager:
- [parâmetro]`coalescer-adaptativo-rx'
- [parâmetro]`coalescer-adaptativo-tx
- [parâmetro]`coalesce-pkt-taxa alta''
- [parâmetro]`coalesce-pkt-rate-low
- [parâmetro]`coalesce-rx-frames''
- [parâmetro]`coalesce-rx-frames-elevados''
- [parâmetro]`coalesce-rx-frames-irq'
- [parâmetro]`coalesce-rx-frames-low'
- [parâmetro]`coalesce-rx-usecs'
- [parâmetro]`coalesce-rx-usecs-high''
- [parâmetro]`coalesce-rx-usecs-irq'
- [parâmetro]`coalesce-rx-usecs-low'
- parâmetro]`coalescer-intervalo da amostra''
- [parâmetro]`coalesce-stats-block-usecs'
- [parâmetro]`coalesce-tx-frames''
- [parâmetro]`coalesce-tx-frames-high
- [parâmetro]`coalesce-tx-frames-irq'
- [parâmetro]`coalesce-tx-frames-low'
- [parâmetro]`coalesce-tx-usecs'
- [parâmetro]`coalesce-tx-usecs-high
- [parâmetro]`coalesce-tx-usecs-irq'
- [parâmetro]`coalesce-tx-usecs-low'
32.2. Configuração de coalesceamento de ethtool usando o NetworkManager
Esta seção descreve como configurar ethtool
coalesce as configurações usando o NetworkManager, bem como como remover a configuração de um perfil de conexão NetworkManager.
Procedimento
Por exemplo, para definir o número máximo de pacotes recebidos para adiar para
128
no perfil de conexãoenp1s0
, entre:# conexão nmcli modificar enp1s0 ethtool.coalesce-rx-frames 128
Para remover um ajuste de coalescência, defina o ajuste para
ignore
. Por exemplo, para remover a configuraçãoethtool.coalesce-rx-frames
, entre:# conexão nmcli modificar enp1s0 ethtool.coalesce-rx-frames ignorar
Para reativar o perfil da rede:
# nmcli conexão acima enp1s0
Etapas de verificação
Use o comando
ethtool -c
para exibir as características atuais de descarga de um dispositivo de rede:# ettool -c network_device
Recursos adicionais
-
Para uma lista de configurações de coalescência
ethtool
que o NetworkManager suporta, veja Seção 32.1, “Coalesce configurações suportadas pelo NetworkManager”
Capítulo 33. Configuração de MACsec
A seção a seguir fornece informações sobre como configurar Media Control Access Security
(MACsec
), que é uma tecnologia de segurança padrão 802.1AE IEEE para comunicação segura em todo o tráfego em links Ethernet.
33.1. Introdução ao MACsec
Media Access Control Security
(MACsec
, IEEE 802.1AE) codifica e autentica todo o tráfego em LANs com o algoritmo GCM-AES-128. MACsec
pode proteger não apenas IP
mas também o Protocolo de Resolução de Endereços (ARP), Neighbor Discovery (ND), ou DHCP
. Enquanto IPsec
opera na camada de rede (camada 3) e SSL
ou TLS
na camada de aplicação (camada 7), MACsec
opera na camada de link de dados (camada 2). Combine MACsec
com protocolos de segurança para outras camadas de rede para tirar proveito das diferentes características de segurança que estes padrões oferecem.
33.2. Usando MACsec com a ferramenta nmcli
Este procedimento mostra como configurar MACsec
com a ferramenta nmcli
.
Pré-requisitos
- O NetworkManager deve estar funcionando.
-
Você já tem um CAK hexadecimal de 16 bytes (
$MKA_CAK
) e um CKN hexadecimal de 32 bytes ($MKA_CKN
).
Procedimento
Para adicionar uma nova conexão usando
nmcli
, entre:~]# nmcli connection add type macsec \ con-name test-macsec+ ifname macsec0 \ connection.autoconnect no \ macsec.parent enp1s0 macsec.mode psk \ macsec.mka-cak $MKA_CAK \ macsec.mka-ckn $MKA_CKN
Substitua macsec0 pelo nome do dispositivo que você deseja configurar.
Para ativar a conexão, entre:
~]# nmcli conexão up test-macsec
Após esta etapa, o dispositivo macsec0 é configurado e pode ser utilizado para a criação de redes.
33.3. Usando MACsec com wpa_supplicant
Este procedimento mostra como habilitar MACsec
com um switch que realiza a autenticação usando um par pré-partilhado de Chave de Conectividade de Associação/CAK Name (CAK/CKN).
Procedimento
Criar um par CAK/CKN. Por exemplo, o seguinte comando gera uma chave de 16 bytes em notação hexadecimal:
~]$
dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%02x"'
Crie o arquivo de configuração
wpa_supplicant.conf
e acrescente as seguintes linhas a ele:ctrl_interface=/var/run/wpa_supplicant eapol_version=3 ap_scan=0 fast_reauth=1 network={ key_mgmt=NONE eapol_flags=0 macsec_policy=1 mka_cak=0011... # 16 bytes hexadecimal mka_ckn=2233... # 32 bytes hexadecimal }
Use os valores da etapa anterior para completar as linhas
mka_cak
emka_ckn
no arquivo de configuraçãowpa_supplicant.conf
.Para mais informações, consulte a página de manual
wpa_supplicant.conf(5)
.Assumindo que você está usando wlp61s0 para se conectar à sua rede, comece wpa_supplicant usando o seguinte comando:
~]# wpa_supplicant -i wlp61s0 -Dmacsec_linux -c wpa_supplicant.conf
33.4. Informações relacionadas
Para mais detalhes, veja o artigo O que há de novo em MACsec: criação de MACsec usando wpa_supplicant e (opcionalmente) NetworkManager. Além disso, veja o artigo MACsec: uma solução diferente para criptografar o tráfego de rede para mais informações sobre a arquitetura de uma rede MACsec
, cenários de caso de uso e exemplos de configuração.
Capítulo 34. Usando diferentes servidores DNS para diferentes domínios
Por default, o Red Hat Enterprise Linux (RHEL) envia todas as solicitações DNS para o primeiro servidor DNS especificado no arquivo /etc/resolv.conf
. Se este servidor não responder, a RHEL usa o próximo servidor neste arquivo.
Em ambientes onde um servidor DNS não pode resolver todos os domínios, os administradores podem configurar a RHEL para enviar solicitações DNS de um domínio específico para um servidor DNS selecionado. Por exemplo, você pode configurar um servidor DNS para resolver consultas para example.com
e outro servidor DNS para resolver consultas para example.net
. Para todas as outras solicitações DNS, a RHEL utiliza o servidor DNS configurado na conexão com o gateway padrão.
No RHEL 8, a Red Hat fornece systemd-resolved
como uma prévia tecnológica sem suporte.
34.1. Envio de solicitações DNS para um domínio específico para um servidor DNS selecionado
Esta seção configura o serviço systemd-resolved
e o NetworkManager para enviar consultas ao DNS de um domínio específico para um servidor DNS selecionado.
Se você completar o procedimento nesta seção, a RHEL utiliza o serviço DNS fornecido por systemd-resolved
no arquivo /etc/resolv.conf
. O serviço systemd-resolved
inicia um serviço DNS que escuta na porta 53
endereço IP 127.0.0.53
. O serviço encaminha dinamicamente as solicitações DNS para os servidores DNS correspondentes especificados no NetworkManager.
O endereço 127.0.0.53
só é acessível a partir do sistema local e não a partir da rede.
Pré-requisitos
- O sistema tem múltiplas conexões NetworkManager configuradas.
Um servidor DNS e um domínio de busca são configurados nas conexões NetworkManager, responsáveis pela resolução de um domínio específico
Por exemplo, se o servidor DNS especificado em uma conexão VPN deve resolver as consultas para o domínio
example.com
, o perfil da conexão VPN deve ter:-
Configurou um servidor DNS que pode resolver
example.com
-
Configurou o domínio de busca para
example.com
nos parâmetrosipv4.dns-search
eipv6.dns-search
-
Configurou um servidor DNS que pode resolver
Procedimento
Inicie e habilite o serviço
systemd-resolved
:# systemctl - agora habilita sistema-resolvido
Edite o arquivo
/etc/NetworkManager/NetworkManager.conf
, e defina a seguinte entrada na seção[main]
:dns=resolvido pelo sistema
Recarregue o serviço
NetworkManager
:# systemctl reload NetworkManager
Etapas de verificação
Verifique se a entrada
nameserver
no arquivo/etc/resolv.conf
se refere a127.0.0.53
:# cat /etc/resolv.conf nameserver 127.0.0.53
Verifique se o serviço
systemd-resolved
ouve na porta53
no endereço IP local127.0.0.53
:# netstat -tulpn | grep "127.0.0.53:53" tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 1050/systemd-resolv udp 0 0 127.0.0.53:53 0.0.0.0:* 1050/systemd-resolv
Recursos adicionais
-
Para mais detalhes, consulte a descrição do parâmetro
dns
na página de manualNetworkManager.conf(5)
.
Capítulo 35. Começando com IPVLAN
Este documento descreve o driver IPVLAN.
35.1. Visão geral do IPVLAN
IPVLAN é um driver para um dispositivo de rede virtual que pode ser usado em ambiente de contêineres para acessar a rede anfitriã. IPVLAN expõe um único endereço MAC à rede externa, independentemente do número de dispositivos IPVLAN criados dentro da rede host. Isto significa que um usuário pode ter vários dispositivos IPVLAN em vários contêineres e o switch correspondente lê um único endereço MAC. O driver IPVLAN é útil quando o switch local impõe restrições ao número total de endereços MAC que ele pode gerenciar.
35.2. Modos IPVLAN
Os seguintes modos estão disponíveis para IPVLAN:
L2 mode
No IPVLAN L2 mode, os dispositivos virtuais recebem e respondem às solicitações do Protocolo de Resolução de Endereços (ARP). A estrutura
netfilter
funciona apenas dentro do contêiner que possui o dispositivo virtual. Nonetfilter
as cadeias são executadas no espaço de nomes padrão no tráfego do contêiner. O uso de L2 mode proporciona bom desempenho, mas menos controle sobre o tráfego da rede.L3 mode
Em L3 mode, os dispositivos virtuais processam apenas L3 tráfego e acima. Os dispositivos virtuais não respondem à solicitação da ARP e os usuários devem configurar manualmente as entradas vizinhas para os endereços IPVLAN nos pares relevantes. O tráfego de saída de um contêiner relevante é desembarcado na cadeia
netfilter
POSTROUTING e OUTPUT no namespace padrão, enquanto o tráfego de entrada é rosqueado da mesma forma que L2 mode. O uso de L3 mode proporciona um bom controle, mas diminui o desempenho do tráfego de rede.L3S mode
Em L3S mode, os dispositivos virtuais processam da mesma forma que em L3 mode, exceto que tanto a saída como a entrada de um contêiner relevante são desembarcadas na cadeia
netfilter
no namespace padrão. L3S mode comporta-se de forma semelhante a L3 mode, mas proporciona maior controle da rede.
O dispositivo virtual IPVLAN não recebe tráfego broadcast e multicast no caso de L3 e L3S modes.
35.3. Visão geral do MACVLAN
O driver MACVLAN permite criar múltiplos dispositivos de rede virtual sobre um único NIC, cada um deles identificado por seu próprio endereço MAC único. Os pacotes que aterrissam no NIC físico são desmultiplexados em direção ao dispositivo MACVLAN relevante através do endereço MAC do destino. Os dispositivos MACVLAN não adicionam nenhum nível de encapsulamento.
35.4. Comparação entre IPVLAN e MACVLAN
A tabela a seguir mostra as principais diferenças entre MACVLAN e IPVLAN.
MACVLAN | IPVLAN |
---|---|
Utiliza endereço MAC para cada dispositivo MACVLAN. O excesso de endereços MAC da tabela MAC no switch pode causar a perda da conectividade. | Utiliza um único endereço MAC que não limita o número de dispositivos IPVLAN. |
As regras do Netfilter para namespace global não podem afetar o tráfego para ou do dispositivo MACVLAN em um namespace infantil. | É possível controlar o tráfego de ou para o dispositivo IPVLAN em L3 mode e L3S mode. |
Note que tanto IPVLAN quanto MACVLAN não exigem nenhum nível de incapsulação.
35.5. Criação e configuração do dispositivo IPVLAN usando iproute2
Este procedimento mostra como configurar o dispositivo IPVLAN usando o iproute2.
Procedimento
Para criar um dispositivo IPVLAN, digite o seguinte comando:
~]# link ip adicionar link real_NIC_device nome IPVLAN_device tipo ipvlan mode l2
Note que o controlador de interface de rede (NIC) é um componente de hardware que conecta um computador a uma rede.
Exemplo 35.1. Criação de um dispositivo IPVLAN
~]# ip link add link enp0s31f6 name my_ipvlan type ipvlan mode l2 ~]# ip link 47: my_ipvlan@enp0s31f6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether e8:6a:6e:8a:a2:44 brd ff:ff:ff:ff:ff:ff
Para atribuir um endereço
IPv4
ouIPv6
à interface, digite o seguinte comando:~]# ip address add dev IPVLAN_device IP_address/subnet_mask_prefix
No caso de configurar um dispositivo IPVLAN em L3 mode ou L3S mode, faça as seguintes configurações:
Configurar a configuração do vizinho para o colega remoto no host remoto:
~]# ip neigh add dev peer_device IPVLAN_device_IP_address lladdr MAC_address
onde MAC_address é o endereço MAC do verdadeiro NIC no qual se baseia um dispositivo IPVLAN.
Configure um dispositivo IPVLAN para L3 mode com o seguinte comando:
~]# ip neigh add dev real_NIC_device peer_IP_address lladdr peer_MAC_address
Para L3S mode:
~]# ip route dev adicionar real_NIC_device peer_IP_address/32
em que o endereço IP representa o endereço do par remoto.
Para colocar um dispositivo IPVLAN ativo, digite o seguinte comando:
~]# ip link set dev IPVLAN_device up
Para verificar se o dispositivo IPVLAN está ativo, execute o seguinte comando no host remoto:
~]# ping IP_address
onde o IP_address usa o endereço IP do dispositivo IPVLAN.
Capítulo 36. Configuração de encaminhamento e encaminhamento virtual (VRF)
Com o encaminhamento e encaminhamento virtual (VRF), os administradores podem usar várias tabelas de encaminhamento simultaneamente no mesmo host. Para isso, o VRF separa uma rede na camada 3. Isto permite que o administrador isole o tráfego usando tabelas de roteamento separadas e independentes por domínio VRF. Esta técnica é similar às LANs virtuais (VLAN), que dividem uma rede na camada 2, onde o sistema operacional usa diferentes tags VLAN para isolar o tráfego compartilhando o mesmo meio físico.
Um benefício do VRF sobre a partição na camada 2 é que as escalas de roteamento são melhores considerando o número de pares envolvidos.
O Red Hat Enterprise Linux usa um dispositivo virtual vrt
para cada domínio VRF e adiciona rotas a um domínio VRF ao adicionar dispositivos de rede existentes a um dispositivo VRF. Endereços e rotas previamente anexados ao dispositivo original serão movidos dentro do domínio VRF.
Observe que cada domínio VRF é isolado um do outro.
36.1. Reutilização permanente do mesmo endereço IP em interfaces diferentes
Este procedimento descreve como usar permanentemente o mesmo endereço IP em diferentes interfaces em um servidor, usando a função VRF.
Para que os pares remotos possam contatar ambas as interfaces VRF enquanto reutilizam o mesmo endereço IP, as interfaces de rede devem pertencer a domínios de transmissão diferentes. Um domínio de transmissão em uma rede é um conjunto de nós, que recebem o tráfego de transmissão enviado por qualquer um deles. Na maioria das configurações, todos os nós conectados ao mesmo switch pertencem ao mesmo domínio de radiodifusão.
Pré-requisitos
-
Você está logado como usuário do
root
. - As interfaces de rede não são configuradas.
Procedimento
Criar e configurar o primeiro dispositivo VRF:
Criar uma conexão para o dispositivo VRF e atribuí-la a uma tabela de roteamento. Por exemplo, para criar um dispositivo VRF chamado
vrf0
que é atribuído à tabela de roteamento1001
:# nmcli connection add type vrf ifname vrf0 con-name vrf0 tabela 1001 ipv4.method disabled ipv6.method disabled
Habilite o dispositivo
vrf0
:# nmcli conexão acima vrf0
Atribuir um dispositivo de rede ao VRF recém-criado. Por exemplo, para adicionar o dispositivo
enp1s0
Ethernet ao dispositivovrf0
VRF e atribuir um endereço IP e a máscara de sub-rede aenp1s0
, entre:# nmcli connection add type ethernet con-name vrf.enp1s0 ifname enp1s0 master vrf0 ipv4.method manual ipv4.address 192.0.2.1/24
Ativar a conexão
vrf.enp1s0
:# nmcli conexão acima vrf.enp1s0
Criar e configurar o próximo dispositivo VRF:
Criar o dispositivo VRF e atribuí-lo a uma tabela de roteamento. Por exemplo, para criar um dispositivo VRF chamado
vrf1
que é atribuído à tabela de roteamento1002
, entre:# nmcli connection add type vrf ifname vrf1 con-name vrf1 tabela 1002 ipv4.method disabled ipv6.method disabled
Ativar o dispositivo
vrf1
:# nmcli conexão acima vrf1
Atribuir um dispositivo de rede ao VRF recém-criado. Por exemplo, para adicionar o dispositivo
enp7s0
Ethernet ao dispositivovrf1
VRF e atribuir um endereço IP e a máscara de sub-rede aenp7s0
, entre:# nmcli connection add type ethernet con-name vrf.enp7s0 ifname enp7s0 master vrf1 ipv4.method manual ipv4.address 192.0.2.1/24
Ativar o dispositivo
vrf.enp7s0
:# nmcli conexão acima vrf.enp7s0
36.2. Reutilização temporária do mesmo endereço IP em interfaces diferentes
O procedimento nesta seção descreve como usar temporariamente o mesmo endereço IP em diferentes interfaces em um servidor, usando o recurso de encaminhamento e encaminhamento virtual (VRF). Use este procedimento apenas para fins de teste, pois a configuração é temporária e perdida após o reinício do sistema.
Para que os pares remotos possam contatar ambas as interfaces VRF enquanto reutilizam o mesmo endereço IP, as interfaces de rede devem pertencer a domínios de transmissão diferentes. Um domínio de difusão em uma rede é um conjunto de nós que recebem o tráfego de difusão enviado por qualquer um deles. Na maioria das configurações, todos os nós conectados ao mesmo switch pertencem ao mesmo domínio de radiodifusão.
Pré-requisitos
-
Você está logado como usuário do
root
. - As interfaces de rede não são configuradas.
Procedimento
Criar e configurar o primeiro dispositivo VRF:
Criar o dispositivo VRF e atribuí-lo a uma tabela de roteamento. Por exemplo, para criar um dispositivo VRF chamado
blue
que é atribuído à tabela de roteamento1001
:# ip link add dev azul tipo vrf tabela 1001
Habilite o dispositivo
blue
:# ip link set dev blue up
Atribuir um dispositivo de rede ao dispositivo VRF. Por exemplo, para adicionar o dispositivo
enp1s0
Ethernet ao dispositivoblue
VRF:# ip link set dev enp1s0 master blue
Habilite o dispositivo
enp1s0
:# ip link set dev enp1s0 up
Atribuir um endereço IP e uma máscara de sub-rede ao dispositivo
enp1s0
. Por exemplo, para configurá-la para192.0.2.1/24
:# ip address add dev enp1s0 192.0.2.1/24
Criar e configurar o próximo dispositivo VRF:
Criar o dispositivo VRF e atribuí-lo a uma tabela de roteamento. Por exemplo, para criar um dispositivo VRF chamado
red
que é atribuído à tabela de roteamento1002
:# ip link add dev vermelho tipo vrf tabela 1002
Habilite o dispositivo
red
:# ip link set dev red up
Atribuir um dispositivo de rede ao dispositivo VRF. Por exemplo, para adicionar o dispositivo
enp7s0
Ethernet ao dispositivored
VRF:# ip link set dev enp7s0 master red
Habilite o dispositivo
enp7s0
:# ip link set dev enp7s0 up
Atribua ao dispositivo
enp7s0
o mesmo endereço IP e máscara de sub-rede que você usou paraenp1s0
no domínioblue
VRF:# ip address add dev enp7s0 192.0.2.1/24
- Opcionalmente, criar outros dispositivos VRF, como descrito acima.
36.3. Informações relacionadas
Capítulo 37. Definindo os protocolos de roteamento para seu sistema
Esta seção descreve como usar o Free Range Routing (FRRouting, ou FRR) para habilitar e definir os protocolos de roteamento necessários para seu sistema.
37.1. Introdução ao FRRouting
Free Range Routing (FRRouting, ou FRR) é uma pilha de protocolos de roteamento, que é fornecida pelo pacote frr
, disponível no repositório AppStream.
FRR substitui Quagga que era usado em versões anteriores da RHEL. Como tal, FRR fornece serviços de roteamento baseados em TCP/IP com suporte a múltiplos protocolos de roteamento IPv4 e IPv6.
Os protocolos suportados são:
- Protocolo Border Gateway (BGP)
- Sistema Intermediário a Sistema Intermediário (IS-IS)
- Abrir primeiro o caminho mais curto (OSPF)
- Multicast Independente de Protocolo (PIM)
- Protocolo de Informação de Roteamento (RIP)
- Routing Information Protocol next generation (RIPng)
- Protocolo de roteamento de portal interior aprimorado (EIGRP)
- Próximo Protocolo de Resolução do Lúpulo (NHRP)
- Detecção de Encaminhamento Bidirecional (BFD)
- Roteamento baseado em políticas (PBR)
FRR é um conjunto dos seguintes serviços:
- zebra
- bgpd
- isisd
- ospfd
- ospf6d
- pimd
- ripd
- ripngd
- eigrpd
- nhrpd
- bfdd
- pbrd
- estáticod
- fabricd
Se frr
estiver instalado, o sistema pode atuar como um roteador dedicado, que troca informações de roteamento com outros roteadores tanto na rede interna quanto externa, utilizando os protocolos de roteamento.
37.2. Estabelecendo o FRRouting
Pré-requisitos
-
Certifique-se de que o pacote
frr
esteja instalado em seu sistema:
# yum instalar frr
Procedimento
Edite o arquivo de configuração
/etc/frr/daemons
, e habilite os daemons necessários para seu sistema.Por exemplo, para habilitar o daemon
ripd
, inclua a seguinte linha:ripd=yes
AtençãoO daemon
zebra
deve estar sempre habilitado, de modo que você deve definirzebra=yes
para poder usar FRR.ImportantePor padrão,
/etc/frr/daemons
contém[daemon_name]=no
entradas para todos os daemons. Portanto, todos os demônios estão desativados, e a partir de FRR após uma nova instalação do sistema não tem efeito.Iniciar o serviço
frr
:# systemctl start frr
Opcionalmente, você também pode definir FRR para iniciar automaticamente na inicialização:
# systemctl habilita frr
37.3. Modificando a configuração do FRR
Esta seção descreve:
- Como ativar um daemon adicional após a instalação FRR
- Como desativar um daemon depois de ter se instalado FRR
Possibilitando um daemon adicional
Pré-requisitos
- FRR é criado como descrito em Seção 37.2, “Estabelecendo o FRRouting”.
Procedimento
Para habilitar um ou mais demônios adicionais:
Edite o arquivo de configuração
/etc/frr/daemons
e modifique a linha dos daemons necessários para declararyes
em vez deno
.Por exemplo, para habilitar o daemon
ripd
:ripd=yes
Recarregue o serviço
frr
:# systemctl reload frr
Desabilitando um daemon
Pré-requisitos
- FRR é criado como descrito em Seção 37.2, “Estabelecendo o FRRouting”.
Procedimento
Para desativar um ou mais demônios:
Edite o arquivo de configuração
/etc/frr/daemons
e modifique a linha dos daemons necessários para declararno
em vez deyes
.Por exemplo, para desativar o daemon
ripd
:ripd=não
Recarregue o serviço
frr
:# systemctl reload frr
37.4. Modificar uma configuração de um determinado daemon
Com a configuração padrão, cada daemon de roteamento em FRR só pode atuar como um roteador simples.
Para qualquer configuração adicional de um daemon, use o seguinte procedimento.
Procedimento
Dentro do diretório
/etc/frr/
, crie um arquivo de configuração para o daemon necessário, e nomeie o arquivo da seguinte forma:[daemon_name].conf
Por exemplo, para configurar ainda mais o daemon
eigrpd
, crie o arquivoeigrpd.conf
no diretório mencionado.Povoar o novo arquivo com o conteúdo necessário.
Para exemplos de configuração de FRR daemons, consulte o diretório
/usr/share/doc/frr/
.Recarregue o serviço
frr
:# systemctl reload frr
Capítulo 38. Monitoramento e ajuste do buffer de anéis RX
Os buffers de anel de recepção (RX) são buffers compartilhados entre o driver do dispositivo e a placa de interface de rede (NIC), e armazenam os pacotes recebidos até que o driver do dispositivo possa processá-los.
Você pode aumentar o tamanho do dispositivo Ethernet RX ring buffer se a taxa de queda de pacotes fizer com que as aplicações sejam relatadas:
- uma perda de dados,
- cerca de cacho,
- desempenho lento,
- tempo esgotado, e
- backups falhados.
Esta seção descreve como identificar o número de pacotes descartados e aumentar o buffer do anel RX para reduzir uma alta taxa de queda de pacotes.
38.1. Exibindo o número de pacotes descartados
O utilitário ethtool
permite que os administradores consultem, configurem ou controlem as configurações do driver da rede.
A exaustão do buffer do anel RX causa um incremento nos contadores, como "descarte" ou "queda" na saída de ethtool -S interface_name
. Os pacotes descartados indicam que o buffer disponível está se enchendo mais rápido do que o kernel pode processar os pacotes.
Este procedimento descreve como exibir contadores de queda usando ethtool
.
Procedimento
Para exibir contadores de queda para o
enp1s0
interface, entre:US$ etool -S enp1s0
38.2. Aumentar o buffer do anel RX para reduzir uma alta taxa de queda de pacotes
A utilidade ethtool
ajuda a aumentar o buffer RX para reduzir uma alta taxa de queda de pacotes.
Procedimento
Para visualizar o tamanho máximo do tampão de anel RX:
# ethtool -g enp1s0 Ring parameters for enp1s0: Pre-set maximums: RX: 4080 RX Mini: 0 RX Jumbo: 16320 TX: 255 Current hardware settings: RX: 255 RX Mini: 0 RX Jumbo: 0 TX: 255
Se os valores na seção
Pre-set maximums
forem superiores aos da seçãoCurrent hardware settings
, aumente o buffer de anéis RX:Para mudar temporariamente o buffer de anéis RX do dispositivo
enp1s0
para4080
, entre:# ethtool -G enp1s0 rx 4080
Para alterar permanentemente o buffer de anéis RX, crie um script de despacho NetworkManager.
Para obter detalhes, veja o artigo Como fazer com que as configurações de etool NIC sejam persistentes (aplicar automaticamente na inicialização) e criar um script do despachante.
Dependendo do driver que sua placa de interface de rede utiliza, a mudança no buffer de anel pode interromper em breve a conexão de rede.
Recursos adicionais
- Para maiores informações sobre estatísticas que cobrem mais razões para descarte de pacotes indesejados, veja o ifconfig and ip commands report packet drops in RHEL7 artigo.
- Should I be concerned about a 0.05% packet drop rate?
-
A página do homem
ethtool(8)
.
Capítulo 39. Teste de configurações básicas de rede
Esta seção descreve como realizar testes básicos de rede.
39.1. Usando o utilitário ping para verificar a conexão IP com outros hosts
O utilitário ping
envia pacotes ICMP para um host remoto. Você pode usar esta funcionalidade para testar se a conexão IP a um host diferente funciona.
Procedimento
Pingando o endereço IP de um host na mesma sub-rede, tal como seu gateway padrão:
# ping 192.0.2.3
Se o comando falhar, verifique as configurações padrão do gateway.
Pingar um endereço IP de um host em uma sub-rede remota:
# ping 198.162.3.1
Se o comando falhar, verifique as configurações padrão do gateway e certifique-se de que o gateway encaminha os pacotes entre as redes conectadas.
39.2. Usando o utilitário hospedeiro para verificar a resolução do nome
Este procedimento descreve como verificar a resolução do nome no Red Hat Enterprise Linux 8.
Procedimento
Use o utilitário
host
para verificar se a resolução do nome funciona. Por exemplo, para resolver oclient.example.com
hostname para um endereço IP, digite:# host client.example.com
Se o comando retornar um erro, tal como
connection timed out
ouno servers could be reached
, verifique suas configurações de DNS.
Capítulo 40. Introdução ao NetworkManager Debugging
O aumento dos níveis de registro para todos ou certos domínios ajuda a registrar mais detalhes das operações que o NetworkManager realiza. Os administradores podem usar estas informações para solucionar problemas. O NetworkManager fornece diferentes níveis e domínios para produzir informações de registro. O arquivo /etc/NetworkManager/NetworkManager.conf
é o principal arquivo de configuração do NetworkManager. Os logs são armazenados no diário.
Esta seção fornece informações sobre como permitir o registro de depuração para o NetworkManager e usar diferentes níveis de registro e domínios para configurar a quantidade de detalhes de registro.
40.1. Níveis e domínios de depuração
Você pode usar os parâmetros levels
e domains
para gerenciar a depuração para o NetworkManager. O nível define o nível de verbosidade, enquanto que os domínios definem a categoria das mensagens para registrar os logs com determinada severidade (level
).
Níveis de log | Descrição |
---|---|
| Não registra nenhuma mensagem sobre o NetworkManager |
| Registra apenas erros críticos |
| Avisos de registros que podem refletir a operação |
| Registra várias mensagens informativas que são úteis para rastrear o estado e as operações |
| Permite o registro verboso para fins de depuração |
|
Possibilita mais extração verbosa do que o nível |
Observe que níveis subsequentes registram todas as mensagens de níveis anteriores. Por exemplo, definir o nível de log para INFO
também registra as mensagens contidas nos níveis de log ERR
e WARN
.
Recursos adicionais
-
Para obter detalhes em
domains
, consulte a página de manualNetworkManager.conf(5)
.
40.2. Definição do nível de registro do NetworkManager
Por padrão, todos os domínios de log são definidos para registrar o nível de log INFO
. Desabilite a limitação da taxa antes de coletar os logs de debug. Com a limitação de taxa, systemd-journald
deixa cair mensagens se houver muitas delas em um curto espaço de tempo. Isto pode ocorrer quando o nível de log é TRACE
.
Este procedimento desativa a limitação da taxa e permite o registro de logs de depuração para todos os domínios (TODOS).
Procedimento
Para desativar a limitação de taxas, edite o arquivo
/etc/systemd/journald.conf
, descomente o parâmetroRateLimitBurst
na seção[Journal]
, e defina seu valor como0
:RateLimitBurst=0
Reinicie o serviço
systemd-journald
.#
systemctl restart systemd-journald
Crie o arquivo
/etc/NetworkManager/conf.d/95-nm-debug.conf
com o seguinte conteúdo:[logging] domains=ALL:DEBUG
O parâmetro
domains
pode conter múltiplos pares separados por vírguladomain:level
.Reinicie o serviço NetworkManager.
#
systemctl restart NetworkManager
40.3. Ajuste temporário dos níveis de registro em tempo de execução usando nmcli
Você pode alterar o nível de registro em tempo de execução usando nmcli
. Entretanto, a Red Hat recomenda permitir a depuração usando arquivos de configuração e reiniciar o NetworkManager. A atualização da depuração levels
e domains
usando o arquivo .conf
ajuda a depurar problemas de inicialização e captura todos os logs a partir do estado inicial.
Procedimento
Opcional: Exibir as configurações atuais de registro:
#
nmcli general logging
LEVEL DOMAINS INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC, WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC B,DISPATCHPara modificar o nível de registro e os domínios, use as seguintes opções:
Para definir o nível de log para todos os domínios para o mesmo
LEVEL
, entre:#
nmcli general logging level LEVEL domains ALL
Para mudar o nível para domínios específicos, entre:
#
nmcli general logging level LEVEL domains DOMAINS
Observe que atualizar o nível de registro usando este comando desabilita o registro para todos os outros domínios.
Para alterar o nível de domínios específicos e preservar o nível de todos os outros domínios, entre:
#
nmcli general logging level KEEP domains DOMAIN:LEVEL,DOMAIN:LEVEL
40.4. Visualização dos logs do NetworkManager
Você pode visualizar os logs do NetworkManager para a solução de problemas.
Procedimento
Para ver os logs, entre:
#
journalctl -u NetworkManager -b
Recursos adicionais
-
A página do homem
NetworkManager.conf(5)
-
A página do homem
journalctl
Capítulo 41. Captura de pacotes de rede
Para depurar problemas de rede e comunicações, você pode capturar pacotes de rede. As seções seguintes fornecem instruções e informações adicionais sobre a captura de pacotes de rede.
41.1. Usando o xdpdump para capturar pacotes de rede, incluindo pacotes descartados por programas XDP
O utilitário xdpdump
captura os pacotes da rede. Ao contrário do utilitário tcpdump
, xdpdump
usa um programa estendido de Filtro de Pacotes de Berkeley (eBPF) para esta tarefa. Isto permite que xdpdump
também capture pacotes descartados por programas Express Data Path (XDP). Os utilitários de espaço do usuário, como tcpdump
, não são capazes de capturar estes pacotes descartados, assim como os pacotes originais modificados por um programa XDP.
Você pode usar xdpdump
para depurar programas XDP que já estão anexados a uma interface. Portanto, o utilitário pode capturar pacotes antes que um programa XDP seja iniciado e depois que ele tenha terminado. No último caso, xdpdump
também captura a ação do XDP. Por padrão, xdpdump
captura os pacotes recebidos na entrada do programa XDP.
A Red Hat fornece o site xdpdump
como uma prévia tecnológica sem suporte.
Note que xdpdump
não tem capacidade de filtragem de pacotes ou decodificação. Entretanto, você pode usá-lo em combinação com tcpdump
para a decodificação de pacotes.
O procedimento descreve como capturar todos os pacotes na interface enp1s0
e escrevê-los no arquivo /root/capture.pcap
.
Pré-requisitos
- Um driver de rede que suporta programas XDP.
-
Um programa XDP é carregado para a interface
enp1s0
. Se nenhum programa for carregado,xdpdump
captura os pacotes de forma semelhantetcpdump
o faz, para compatibilidade retroativa.
Procedimento
Para capturar os pacotes na interface
enp1s0
e escrevê-los no arquivo/root/capture.pcap
, entre:#
xdpdump -i enp1s0 -w /root/capture.pcap
- Para parar de capturar os pacotes, pressione Ctrl+C.
Recursos adicionais
-
Para mais detalhes sobre
xdpdump
, consulte a página de manualxdpdump(8)
. -
Se você é um desenvolvedor e está interessado no código fonte de
xdpdump
, baixe e instale o RPM (SRPM) de origem correspondente no Portal do Cliente da Red Hat.
41.2. Recursos adicionais
- Como capturar pacotes de rede com a solução de base de conhecimento tcpdump?
Capítulo 42. Usando uma versão específica do kernel na RHEL
O kernel é um componente central de um sistema operacional Linux que gerencia os recursos do sistema, e fornece a interface entre aplicações de hardware e software. Em alguns casos, o kernel pode afetar a funcionalidade da rede, por isso é sempre recomendável usar a versão mais recente do kernel. Se necessário, também é possível rebaixar a versão do kernel para uma versão anterior do mesmo kernel x-stream e selecionar uma versão específica enquanto o sistema é inicializado para a solução de problemas.
Esta seção explica como selecionar um kernel no carregador de inicialização do GRUB caso você atualize ou diminua o kernel.
42.1. Iniciando a RHEL usando uma versão anterior do kernel
Por padrão, após a atualização, o sistema inicia a última versão do kernel. O Red Hat Enterprise Linux permite ter três versões do kernel instaladas ao mesmo tempo. Isto está definido no arquivo /etc/dnf/dnf.conf
(installonly_limit=3
).
Se você observar qualquer problema quando o sistema for carregado com o novo kernel, você pode reiniciá-lo com o kernel anterior e restaurar a máquina de produção. Entre em contato com o suporte para solucionar o problema.
Procedimento
- Inicie o sistema.
- No carregador de inicialização GRUB, você vê os kernels instalados. Use as teclas ↑ e ↓ para selecionar um kernel, e pressione Enter para inicializá-lo.
Recursos adicionais
-
Alterando o kernel padrão para inicializar usando a ferramenta
grubby
. - Para mais informações sobre a instalação e atualização do Kernel, consulte a seção Atualização do Kernel com yum.
Capítulo 43. Prestação de serviços de DHCP
O Dynamic Host Configuration Protocol (DHCP) é um protocolo de rede que atribui automaticamente informações IP aos clientes.
Esta seção explica informações gerais sobre o serviço dhcpd
, bem como como configurar um servidor DHCP e DHCP relay.
Se um procedimento requer diferentes passos para fornecer DHCP em redes IPv4 e IPv6, as seções deste capítulo contêm procedimentos para ambos os protocolos.
43.1. As diferenças ao usar o dhcpd para DHCPv4 e DHCPv6
O serviço dhcpd
suporta o fornecimento de DHCPv4 e DHCPv6 em um servidor. Entretanto, você precisa de uma instância separada de dhcpd
com arquivos de configuração separados para fornecer DHCP para cada protocolo.
- DHCPv4
-
Arquivo de configuração
/etc/dhcp/dhcpd.conf
-
Nome do serviço Systemd
dhcpd
-
Arquivo de configuração
- DHCPv6
-
Arquivo de configuração
/etc/dhcp/dhcpd6.conf
-
Nome do serviço Systemd
dhcpd6
-
Arquivo de configuração
43.2. O banco de dados de locação do serviço dhcpd
Um aluguel DHCP é o período de tempo para o qual o serviço dhcpd
aloca um endereço de rede a um cliente. O serviço dhcpd
armazena os aluguéis de DHCP nos seguintes bancos de dados:
-
Para DHCPv4
/var/lib/dhcpd/dhcpd.leases
-
Para DHCPv6
/var/lib/dhcpd/dhcpd6.leases
A atualização manual dos arquivos do banco de dados pode corromper os bancos de dados.
Os bancos de dados do arrendamento contêm informações sobre os arrendamentos atribuídos, tais como o endereço IP atribuído a um endereço MAC (Media Access Control) ou o carimbo de tempo quando o arrendamento expira. Note que todos os carimbos de tempo nos bancos de dados de arrendamento estão em Tempo Universal Coordenado (UTC).
O serviço dhcpd
recria as bases de dados periodicamente:
O serviço renomeia os arquivos existentes:
-
/var/lib/dhcpd/dhcpd.leases
para/var/lib/dhcpd/dhcpd.leases~
-
/var/lib/dhcpd/dhcpd6.leases
para/var/lib/dhcpd/dhcpd6.leases~
-
-
O serviço escreve todos os arrendamentos conhecidos para os arquivos recém-criados
/var/lib/dhcpd/dhcpd.leases
e/var/lib/dhcpd/dhcpd6.leases
.
Recursos adicionais
-
Para mais detalhes sobre o que está armazenado no banco de dados do arrendamento, consulte a página de manual
dhcpd.leases(5)
. - Seção 43.10, “Restaurando um banco de dados de arrendamento corrupto”
43.3. Comparação do DHCPv6 com o radvd
Em uma rede IPv6, somente mensagens publicitárias de roteadores fornecem informações sobre um gateway padrão IPv6. Como conseqüência, se você quiser usar DHCPv6 em sub-redes que requerem uma configuração padrão de gateway, você deve configurar adicionalmente um serviço de propaganda de roteador, como o Router Advertisement Daemon (radvd
).
O serviço radvd
usa bandeiras em pacotes de propaganda de roteadores para anunciar a disponibilidade de um servidor DHCPv6.
Esta seção compara DHCPv6 e radvd
, e fornece informações sobre a configuração radvd
.
DHCPv6 | radvd | |
---|---|---|
Fornece informações sobre o gateway padrão | não | sim |
Garante endereços aleatórios para proteger a privacidade | sim | não |
Envia outras opções de configuração de rede | sim | não |
Mapas de endereços de controle de acesso de mídia (MAC) para endereços IPv6 | sim | não |
43.4. Configuração do serviço radvd para roteadores IPv6
O daemon de propaganda do roteador (radvd
) envia mensagens de propaganda do roteador que são necessárias para a autoconfiguração do IPv6 sem estado. Isto permite que os usuários configurem automaticamente seus endereços, configurações, rotas e escolham um roteador padrão com base nestes anúncios.
O procedimento nesta seção explica como configurar radvd
.
Pré-requisitos
-
Você está logado como usuário do
root
.
Procedimento
Instale o pacote
radvd
:# yum instalar radvd
Edite o arquivo
/etc/radvd.conf
, e adicione a seguinte configuração:interface enp1s0 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; prefix 2001:db8:0:1::/64 { }; };
Estas configurações configuram
radvd
para enviar mensagens de propaganda de roteador no dispositivoenp1s0
para a sub-rede2001:db8:0:1::/64
. A configuraçãoAdvManagedFlag on
define que o cliente deve receber o endereço IP de um servidor DHCP, e o parâmetroAdvOtherConfigFlag
definido paraon
define que os clientes também devem receber informações sem endereço do servidor DHCP.Opcionalmente, configure o
radvd
para iniciar automaticamente quando o sistema for inicializado:# systemctl habilita radvd
Iniciar o serviço
radvd
:# systemctl start radvd
Opcionalmente, exibir o conteúdo dos pacotes de publicidade do roteador e os valores configurados que
radvd
envia:# radvdump
Recursos adicionais
-
Para mais detalhes sobre a configuração
radvd
, consulte a página de manualradvd.conf(5)
. -
Para um exemplo de configuração de
radvd
, veja o arquivo/usr/share/doc/radvd/radvd.conf.example
.
43.5. Configuração de interfaces de rede para os servidores DHCP
Por padrão, o serviço dhcpd
processa solicitações apenas em interfaces de rede que tenham um endereço IP na sub-rede definida no arquivo de configuração do serviço.
Por exemplo, no cenário a seguir, dhcpd
ouve apenas na interface de rede enp0s1
:
-
Você tem apenas uma definição
subnet
para a rede 192.0.2.0/24 no arquivo/etc/dhcp/dhcpd.conf
. -
A interface de rede
enp0s1
está conectada à sub-rede 192.0.2.0/24. -
A interface
enp7s0
está conectada a uma sub-rede diferente.
Somente siga o procedimento desta seção se o servidor DHCP contiver várias interfaces de rede conectadas à mesma rede, mas o serviço deve escutar somente em interfaces específicas.
Dependendo se você deseja fornecer DHCP para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
Você está logado como usuário do
root
. -
O pacote
dhcp-server
está instalado.
Procedimento
Para redes IPv4:
Copie o arquivo
/usr/lib/systemd/system/dhcpd.service
para o diretório/etc/systemd/system/
:# cp /usr/lib/systemd/systemd/system/dhcpd.service /etc/systemd/systemd/system/
Não edite o arquivo
/usr/lib/systemd/system/dhcpd.service
. Futuras atualizações do pacotedhcp-server
podem anular as mudanças.Edite o arquivo
/etc/systemd/system/dhcpd.service
, e anexe os nomes da interface, quedhcpd
deve ouvir o comando no parâmetroExecStart
:ExecStart=/usr/sbin/dhcpd -f -cf /etcc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
Este exemplo configura que
dhcpd
ouve apenas noenp0s1
e interfacesenp7s0
.Recarregar a configuração do gerenciador
systemd
:# systemctl daemon-reload
Reinicie o serviço
dhcpd
:# systemctl restart dhcpd.service
Para redes IPv6:
Copie o arquivo
/usr/lib/systemd/system/dhcpd6.service
para o diretório/etc/systemd/system/
:# cp /usr/lib/systemd/systemd/system/dhcpd6.service /etc/systemd/systemd/system/
Não edite o arquivo
/usr/lib/systemd/system/dhcpd6.service
. Futuras atualizações do pacotedhcp-server
podem anular as mudanças.Edite o arquivo
/etc/systemd/system/dhcpd6.service
, e anexe os nomes da interface, quedhcpd
deve ouvir o comando no parâmetroExecStart
:ExecStart=/usr/sbin/dhcpd -f -6 -cf /etcc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
Este exemplo configura que
dhcpd
ouve apenas noenp0s1
e interfacesenp7s0
.Recarregar a configuração do gerenciador
systemd
:# systemctl daemon-reload
Reinicie o serviço
dhcpd6
:# systemctl restart dhcpd6.service
43.6. Configuração do serviço DHCP para sub-redes diretamente conectadas ao servidor DHCP
Use o seguinte procedimento se o servidor DHCP estiver diretamente conectado à sub-rede para a qual o servidor deve responder às solicitações DHCP. Este é o caso se uma interface de rede do servidor tiver um endereço IP desta subrede atribuído.
Dependendo se você deseja fornecer DHCP para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
Você está logado como usuário do
root
. -
O pacote
dhcpd-server
está instalado.
Procedimento
Para redes IPv4:
Edite o arquivo
/etc/dhcp/dhcpd.conf
:Opcionalmente, adicionar parâmetros globais que
dhcpd
usa como padrão se nenhuma outra diretriz contiver essas configurações:option domain-name "example.com"; default-lease-time 86400;
Este exemplo define o nome de domínio padrão para a conexão com
example.com
, e o tempo de locação padrão para86400
segundos (1 dia).Adicione a declaração
authoritative
em uma nova linha:autoritária;
ImportanteSem a declaração
authoritative
, o serviçodhcpd
não respondeDHCPREQUEST
mensagens comDHCPNAK
se um cliente pedir um endereço que esteja fora do pool.Para cada sub-rede IPv4 conectada diretamente a uma interface do servidor, acrescente uma declaração em
subnet
:subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.20 192.0.2.100; option domain-name-servers 192.0.2.1; option routers 192.0.2.1; option broadcast-address 192.0.2.255; max-lease-time 172800; }
Este exemplo acrescenta uma declaração de sub-rede para a rede 192.0.2.0/24. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP a partir desta sub-rede:
-
Um endereço IPv4 livre a partir da faixa definida no parâmetro
range
-
IP do servidor DNS para esta sub-rede
192.0.2.1
-
Porta de entrada padrão para esta sub-rede
192.0.2.1
-
Endereço de transmissão para esta sub-rede
192.0.2.255
-
O tempo máximo de locação, após o qual os clientes nesta sub-rede liberam o IP e enviam uma nova solicitação para o servidor:
172800
segundos (2 dias)
-
Um endereço IPv4 livre a partir da faixa definida no parâmetro
Opcionalmente, configure que o site
dhcpd
seja iniciado automaticamente quando o sistema for inicializado:# systemctl habilita o dhcpd
Iniciar o serviço
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite o arquivo
/etc/dhcp/dhcpd6.conf
:Opcionalmente, adicionar parâmetros globais que
dhcpd
usa como padrão se nenhuma outra diretriz contiver essas configurações:option dhcp6.domain-search "example.com"; default-lease-time 86400;
Este exemplo define o nome de domínio padrão para a conexão com
example.com
, e o tempo de locação padrão para86400
segundos (1 dia).Adicione a declaração
authoritative
em uma nova linha:autoritária;
ImportanteSem a declaração
authoritative
, o serviçodhcpd
não respondeDHCPREQUEST
mensagens comDHCPNAK
se um cliente pedir um endereço que esteja fora do pool.Para cada sub-rede IPv6 conectada diretamente a uma interface do servidor, adicione uma declaração em
subnet
:subnet6 2001:db8:0:1::/64 { range6 2001:db8:0:1::20 2001:db8:0:1::100; option dhcp6.name-servers 2001:db8:0:1::1; max-lease-time 172800; }
Este exemplo acrescenta uma declaração de sub-rede para a rede 2001:db8:0:1::/64. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP a partir desta sub-rede:
-
Um endereço IPv6 gratuito da faixa definida no parâmetro
range6
. -
O IP do servidor DNS para esta sub-rede é
2001:db8:0:1::1
. O tempo máximo de locação, após o qual os clientes nesta sub-rede liberam o IP e enviam uma nova solicitação ao servidor é de
172800
segundos (2 dias).Note que IPv6 requer o uso de mensagens publicitárias de roteador para identificar o gateway padrão.
-
Um endereço IPv6 gratuito da faixa definida no parâmetro
Opcionalmente, configure que o site
dhcpd6
seja iniciado automaticamente quando o sistema for inicializado:# systemctl habilita o dhcpd6
Iniciar o serviço
dhcpd6
:# systemctl start dhcpd6
Recursos adicionais
-
Para obter uma lista de todos os parâmetros que você pode definir em
/etc/dhcp/dhcpd.conf
e/etc/dhcp/dhcpd6.conf
, consulte a página de manualdhcp-options(5)
. -
Para mais detalhes sobre a declaração
authoritative
, consulte a seçãoThe authoritative statement
na página de manualdhcpd.conf(5)
. -
Por exemplo, configurações, consulte os arquivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
e/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.7. Configuração do serviço DHCP para sub-redes que não estão diretamente conectadas ao servidor DHCP
Use o seguinte procedimento se o servidor DHCP não estiver diretamente conectado à sub-rede para a qual o servidor deve responder as solicitações DHCP. Este é o caso se um agente de retransmissão DHCP encaminhar solicitações ao servidor DHCP, porque nenhuma das interfaces do servidor DHCP está diretamente conectada à subrede que o servidor deve servir.
Dependendo se você deseja fornecer DHCP para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
Você está logado como usuário do
root
. -
O pacote
dhcpd-server
está instalado.
Procedimento
Para redes IPv4:
Edite o arquivo
/etc/dhcp/dhcpd.conf
:Opcionalmente, adicionar parâmetros globais que
dhcpd
usa como padrão se nenhuma outra diretriz contiver essas configurações:option domain-name "example.com"; default-lease-time 86400;
Este exemplo define o nome de domínio padrão para a conexão com
example.com
, e o tempo de locação padrão para86400
segundos (1 dia).Adicione a declaração
authoritative
em uma nova linha:autoritária;
ImportanteSem a declaração
authoritative
, o serviçodhcpd
não respondeDHCPREQUEST
mensagens comDHCPNAK
se um cliente pedir um endereço que esteja fora do pool.Adicione uma declaração em
shared-network
, como a seguinte, para sub-redes IPv4 que não estão diretamente conectadas a uma interface do servidor:shared-network example { option domain-name-servers 192.0.2.1; ... subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.20 192.0.2.100; option routers 192.0.2.1; } subnet 198.51.100.0 netmask 255.255.255.0 { range 198.51.100.20 198.51.100.100; option routers 198.51.100.1; } ... }
Este exemplo acrescenta uma declaração de rede compartilhada, que contém uma declaração
subnet
tanto para as redes 192.0.2.0/24 como para as 198.51.100.0/24. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP de uma destas sub-redes:-
O IP do servidor DNS para clientes de ambas as sub-redes é:
192.0.2.1
. -
Um endereço IPv4 livre da faixa definida no parâmetro
range
, dependendo de qual sub-rede o cliente enviou a solicitação. -
O gateway padrão é
192.0.2.1
ou198.51.100.1
, dependendo de qual sub-rede o cliente enviou a solicitação.
-
O IP do servidor DNS para clientes de ambas as sub-redes é:
Adicione uma declaração
subnet
para a sub-rede à qual o servidor está diretamente conectado e que é usada para alcançar as sub-redes remotas especificadas emshared-network
acima:subnet 203.0.113.0 netmask 255.255.255.0 { }
NotaSe o servidor não fornecer serviço DHCP para esta sub-rede, a declaração
subnet
deve estar vazia, como mostrado no exemplo. Sem uma declaração para a subrede diretamente conectada,dhcpd
não inicia.
Opcionalmente, configure que o site
dhcpd
seja iniciado automaticamente quando o sistema for inicializado:# systemctl habilita o dhcpd
Iniciar o serviço
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite o arquivo
/etc/dhcp/dhcpd6.conf
:Opcionalmente, adicionar parâmetros globais que
dhcpd
usa como padrão se nenhuma outra diretriz contiver essas configurações:option dhcp6.domain-search "example.com"; default-lease-time 86400;
Este exemplo define o nome de domínio padrão para a conexão com
example.com
, e o tempo de locação padrão para86400
segundos (1 dia).Adicione a declaração
authoritative
em uma nova linha:autoritária;
ImportanteSem a declaração
authoritative
, o serviçodhcpd
não respondeDHCPREQUEST
mensagens comDHCPNAK
se um cliente pedir um endereço que esteja fora do pool.Adicione uma declaração em
shared-network
, como a seguinte, para sub-redes IPv6 que não estão diretamente conectadas a uma interface do servidor:shared-network example { option domain-name-servers 2001:db8:0:1::1:1 ... subnet6 2001:db8:0:1::1:0/120 { range6 2001:db8:0:1::1:20 2001:db8:0:1::1:100 } subnet6 2001:db8:0:1::2:0/120 { range6 2001:db8:0:1::2:20 2001:db8:0:1::2:100 } ... }
Este exemplo acrescenta uma declaração de rede compartilhada que contém uma declaração
subnet6
tanto para as redes 2001:db8:0:1::1:0/120 como para 2001:db8:0:1::2:0/120. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP de uma destas sub-redes:-
O IP do servidor DNS para clientes de ambas as sub-redes é
2001:db8:0:1::1:1
. Um endereço IPv6 gratuito da faixa definida no parâmetro
range6
, dependendo de qual sub-rede o cliente enviou a solicitação.Note que IPv6 requer o uso de mensagens publicitárias de roteador para identificar o gateway padrão.
-
O IP do servidor DNS para clientes de ambas as sub-redes é
Adicione uma declaração
subnet6
para a sub-rede à qual o servidor está diretamente conectado e que é usada para alcançar as sub-redes remotas especificadas emshared-network
acima:subnet6 2001:db8:0:1::50:0/120 { }
NotaSe o servidor não fornecer serviço DHCP para esta sub-rede, a declaração
subnet6
deve estar vazia, como mostrado no exemplo. Sem uma declaração para a subrede diretamente conectada,dhcpd
não inicia.
Opcionalmente, configure que o site
dhcpd6
seja iniciado automaticamente quando o sistema for inicializado:# systemctl habilita o dhcpd6
Iniciar o serviço
dhcpd6
:# systemctl start dhcpd6
Recursos adicionais
-
Para obter uma lista de todos os parâmetros que você pode definir em
/etc/dhcp/dhcpd.conf
e/etc/dhcp/dhcpd6.conf
, consulte a página de manualdhcp-options(5)
. -
Para mais detalhes sobre a declaração
authoritative
, consulte a seçãoThe authoritative statement
na página de manualdhcpd.conf(5)
. -
Por exemplo, configurações, consulte os arquivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
e/usr/share/doc/dhcp-server/dhcpd6.conf.example
. - Seção 43.11, “Instalação de um agente de relé DHCP”
43.8. Atribuição de um endereço estático a um host usando DHCP
Usando uma declaração host
, você pode configurar o servidor DHCP para atribuir um endereço IP fixo a um endereço MAC (Media Access Control) de um host. Por exemplo, use este método para sempre atribuir o mesmo endereço IP a um servidor ou dispositivo de rede.
Se você configurar um endereço IP fixo para um endereço MAC, o endereço IP deve estar fora do grupo de endereços que você especificou nos parâmetros fixed-address
e fixed-address6
.
Dependendo se você deseja configurar endereços fixos para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
O serviço
dhcpd
está configurado e funcionando. -
Você está logado como usuário do
root
.
Procedimento
Para redes IPv4:
Edite o arquivo
/etc/dhcp/dhcpd.conf
:Adicione uma declaração em
host
:host server.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; }
Este exemplo configura o servidor DHCP para sempre atribuir o endereço IP
192.0.2.130
ao host com o endereço MAC52:54:00:72:2f:6e
.O serviço
dhcpd
identifica os sistemas pelo endereço MAC especificado no parâmetrofixed-address
, e não pelo nome na declaraçãohost
. Como conseqüência, você pode definir este nome para qualquer string que não corresponda a outras declarações dehost
. Para configurar o mesmo sistema para múltiplas redes, use um nome diferente, caso contrário,dhcpd
não inicia.-
Opcionalmente, adicione outros ajustes à declaração
host
que são específicos para este host.
Reinicie o serviço
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite o arquivo
/etc/dhcp/dhcpd6.conf
:Adicione uma declaração em
host
:host server.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address6 2001:db8:0:1::200; }
Este exemplo configura o servidor DHCP para sempre atribuir o endereço IP
2001:db8:0:1::20
ao host com o endereço MAC52:54:00:72:2f:6e
.O serviço
dhcpd
identifica os sistemas pelo endereço MAC especificado no parâmetrofixed-address6
, e não pelo nome na declaraçãohost
. Como conseqüência, você pode definir este nome para qualquer string, desde que seja exclusivo para outras declaraçõeshost
. Para configurar o mesmo sistema para múltiplas redes, use um nome diferente porque, caso contrário,dhcpd
não inicia.-
Opcionalmente, adicione outros ajustes à declaração
host
que são específicos para este host.
Reinicie o serviço
dhcpd6
:# systemctl start dhcpd6
Recursos adicionais
-
Para obter uma lista de todos os parâmetros que você pode definir em
/etc/dhcp/dhcpd.conf
e/etc/dhcp/dhcpd6.conf
, consulte a página de manualdhcp-options(5)
. -
Por exemplo, configurações, consulte os arquivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
e/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.9. Utilização de uma declaração de grupo para aplicar parâmetros a múltiplos hosts, sub-redes e redes compartilhadas ao mesmo tempo
Usando uma declaração em group
, você pode aplicar os mesmos parâmetros a vários hosts, sub-redes e redes compartilhadas.
Observe que o procedimento nesta seção descreve o uso de uma declaração group
para anfitriões, mas os passos são os mesmos para sub-redes e redes compartilhadas.
Dependendo se você deseja configurar um grupo para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
O serviço
dhcpd
está configurado e funcionando. -
Você está logado como usuário do
root
.
Procedimento
Para redes IPv4:
Edite o arquivo
/etc/dhcp/dhcpd.conf
:Adicione uma declaração em
group
:group { option domain-name-servers 192.0.2.1; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; } host server2.example.com { hardware ethernet 52:54:00:1b:f3:cf; fixed-address 192.0.2.140; } }
Esta definição
group
agrupa duas entradashost
. O serviçodhcpd
aplica o valor definido no parâmetrooption domain-name-servers
aos dois anfitriões do grupo.-
Opcionalmente, adicione outros ajustes à declaração
group
que são específicos para estes anfitriões.
Reinicie o serviço
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite o arquivo
/etc/dhcp/dhcpd6.conf
:Adicione uma declaração em
group
:group { option dhcp6.domain-search "example.com"; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 2001:db8:0:1::200; } host server2.example.com { hardware ethernet 52:54:00:1b:f3:cf; fixed-address 2001:db8:0:1::ba3; } }
Esta definição
group
agrupa duas entradashost
. O serviçodhcpd
aplica o valor definido no parâmetrooption dhcp6.domain-search
aos dois anfitriões do grupo.-
Opcionalmente, adicione outros ajustes à declaração
group
que são específicos para estes anfitriões.
Reinicie o serviço
dhcpd6
:# systemctl start dhcpd6
Recursos adicionais
-
Para obter uma lista de todos os parâmetros que você pode definir em
/etc/dhcp/dhcpd.conf
e/etc/dhcp/dhcpd6.conf
, consulte a página de manualdhcp-options(5)
. -
Por exemplo, configurações, consulte os arquivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
e/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.10. Restaurando um banco de dados de arrendamento corrupto
Se o servidor DHCP registrar um erro relacionado ao banco de dados do arrendamento, como Corrupt lease file - possible data loss!
, você pode restaurar o banco de dados do arrendamento a partir da cópia do serviço dhcpd
criado. Note que esta cópia pode não refletir o último status do banco de dados.
Se você remover o banco de dados do arrendamento ao invés de substituí-lo por um backup, você perde todas as informações sobre os arrendamentos atualmente atribuídos. Como conseqüência, o servidor DHCP poderia atribuir arrendamentos a clientes que tenham sido previamente atribuídos a outros anfitriões e que ainda não tenham expirado. Isto leva a conflitos de IP.
Dependendo se você deseja restaurar o DHCPv4, DHCPv6, ou ambos os bancos de dados, veja o procedimento a seguir:
Pré-requisitos
-
Você está logado como usuário do
root
. - O banco de dados do arrendamento é corrupto.
Procedimento
Restaurando o banco de dados de arrendamento DHCPv4:
Pare o serviço
dhcpd
:# sistemactl stop dhcpd
Renomear o banco de dados de arrendamento corrupto:
# mv /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd.leases.corrupt
Restaurar a cópia do banco de dados de arrendamento que o serviço
dhcp
criou quando atualizou o banco de dados de arrendamento:# cp -p /var/lib/dhcpd/dhcpd.leases~ /var/lib/dhcpd/dhcpd.leases
ImportanteSe você tiver um backup mais recente do banco de dados do arrendamento, restaure este backup em seu lugar.
Iniciar o serviço
dhcpd
:# systemctl start dhcpd
Restaurando o banco de dados de arrendamento DHCPv6:
Pare o serviço
dhcpd6
:# systemctl stop dhcpd6
Renomear o banco de dados de arrendamento corrupto:
# mv /var/lib/dhcpd/dhcpd6.leases /var/lib/dhcpd/dhcpd6.leases.corrupt
Restaurar a cópia do banco de dados de arrendamento que o serviço
dhcp
criou quando atualizou o banco de dados de arrendamento:# cp -p /var/lib/dhcpd/dhcpd6.leases~ /var/lib/dhcpd/dhcpd6.leases
ImportanteSe você tiver um backup mais recente do banco de dados do arrendamento, restaure este backup em seu lugar.
Iniciar o serviço
dhcpd6
:# systemctl start dhcpd6
Recursos adicionais
43.11. Instalação de um agente de relé DHCP
O DHCP Relay Agent (dhcrelay
) permite o retransmissão de solicitações DHCP e BOOTP de uma sub-rede sem servidor DHCP para um ou mais servidores DHCP em outras sub-redes. Quando um cliente DHCP solicita informações, o Agente de Relay DHCP encaminha a solicitação para a lista de servidores DHCP especificada. Quando um servidor DHCP retorna uma resposta, o Agente de Relay DHCP encaminha esta solicitação para o cliente.
Dependendo se você deseja configurar um relé DHCP para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:
Pré-requisitos
-
Você está logado como usuário do
root
.
Procedimento
Para redes IPv4:
Instale o pacote
dhcp-relay
:# yum instalar dhcp-relay
Copie o arquivo
/lib/systemd/system/dhcrelay.service
para o diretório/etc/systemd/system/
:# cp /lib/systemd/systemd/system/dhcrelay.service /etc/systemd/systemd/system/
Não edite o arquivo
/usr/lib/systemd/system/dhcrelay.service
. Atualizações futuras do pacotedhcp-relay
podem anular as mudanças.Editar o arquivo
/etc/systemd/system/dhcrelay.service
, e anexar o-i interface
juntamente com uma lista de endereços IP dos servidores DHCPv4 responsáveis pela sub-rede:ExecStart=/usr/sbin/sbin/dhcrelay -d --no-pid -i enp1s0 192.0.2.1
Com estes parâmetros adicionais,
dhcrelay
ouve os pedidos de DHCPv4 na interfaceenp1s0
e os encaminha para o servidor DHCP com o IP192.0.2.1
.Recarregar a configuração do gerenciador
systemd
:# systemctl daemon-reload
Opcionalmente, configure que o serviço
dhcrelay
seja iniciado quando o sistema inicia:# systemctl habilita o dhcrelay.service
Iniciar o serviço
dhcrelay
:# systemctl start dhcrelay.service
Para redes IPv6:
Instale o pacote
dhcp-relay
:# yum instalar dhcp-relay
Copie o arquivo
/lib/systemd/system/dhcrelay.service
para o diretório/etc/systemd/system/
e nomeie o arquivodhcrelay6.service
:# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service
Não edite o arquivo
/usr/lib/systemd/system/dhcrelay.service
. Atualizações futuras do pacotedhcp-relay
podem anular as mudanças.Editar o arquivo
/etc/systemd/system/dhcrelay6.service
, e anexar o-l receiving_interface
e-u outgoing_interface
parâmetros:ExecStart=/usr/sbin/sbin/dhcrelay -d --no-pid -l enp1s0 -u enp7s0
Com estes parâmetros adicionais,
dhcrelay
ouve os pedidos de DHCPv6 na interfaceenp1s0
e os encaminha para a rede conectada à interfaceenp7s0
.Recarregar a configuração do gerenciador
systemd
:# systemctl daemon-reload
Opcionalmente, configure que o serviço
dhcrelay6
seja iniciado quando o sistema inicia:# systemctl habilita o dhcrelay6.service
Iniciar o serviço
dhcrelay6
:# systemctl start dhcrelay6.service
Recursos adicionais
-
Para mais detalhes sobre
dhcrelay
, consulte a página de manualdhcrelay(8)
.
Recursos adicionais
Capítulo 44. Usando e configurando o firewalld
A firewall é uma forma de proteger as máquinas de qualquer tráfego indesejado do exterior. Ele permite aos usuários controlar o tráfego de entrada da rede nas máquinas host, definindo um conjunto de firewall rules. Estas regras são usadas para ordenar o tráfego de entrada e ou bloqueá-lo ou permitir a passagem.
Note que firewalld
com nftables
backend não suporta a passagem das regras personalizadas nftables
para firewalld
, usando a opção --direct
.
44.1. Quando usar firewalld, nftables, ou iptables
A seguir, uma breve visão geral em que cenário você deve usar uma das seguintes utilidades:
-
firewalld
: Use o utilitáriofirewalld
para casos simples de uso de firewall. O utilitário é fácil de usar e cobre os casos de uso típico para estes cenários. -
nftables
: Use o utilitárionftables
para criar firewalls complexos e de desempenho crítico, como para toda uma rede. -
iptables
: O utilitárioiptables
no Red Hat Enterprise Linux 8 usa a API do kernelnf_tables
ao invés do back endlegacy
. A APInf_tables
fornece compatibilidade retroativa para que scripts que usam os comandosiptables
ainda funcionem no Red Hat Enterprise Linux 8. Para novos scripts de firewall, a Red Hat recomenda usarnftables
.
Para evitar que os diferentes serviços de firewall influenciem uns aos outros, execute apenas um deles em um host RHEL, e desabilite os outros serviços.
44.2. Começando com firewalld
44.2.1. firewalld
firewalld
é um daemon de serviço de firewall que fornece um firewall dinâmico personalizável baseado em host com uma interface D-Bus
. Sendo dinâmico, ele permite criar, alterar e apagar as regras sem a necessidade de reiniciar o daemon de firewall cada vez que as regras são alteradas.
firewalld
utiliza os conceitos de zones e services, que simplificam a gestão do tráfego. As zonas são conjuntos de regras pré-definidas. As interfaces e fontes de rede podem ser atribuídas a uma zona. O tráfego permitido depende da rede à qual seu computador está conectado e do nível de segurança que esta rede é atribuída. Os serviços de firewall são regras predefinidas que cobrem todas as configurações necessárias para permitir o tráfego de entrada para um serviço específico e se aplicam dentro de uma zona.
Os serviços utilizam um ou mais ports ou addresses para comunicação em rede. Os firewalls filtram a comunicação com base em portas. Para permitir o tráfego de rede para um serviço, suas portas devem ser open. firewalld
bloqueia todo o tráfego nas portas que não estão explicitamente definidas como abertas. Algumas zonas, tais como trusted, permitem todo o tráfego por padrão.
Recursos adicionais
-
firewalld(1)
página do homem
44.2.2. Zonas
firewalld
pode ser usado para separar as redes em diferentes zonas de acordo com o nível de confiança que o usuário decidiu colocar nas interfaces e no tráfego dentro daquela rede. Uma conexão só pode ser parte de uma zona, mas uma zona pode ser usada para muitas conexões de rede.
NetworkManager
notifica firewalld
sobre a zona de uma interface. Você pode atribuir zonas para interfaces com:
-
NetworkManager
-
ferramenta
firewall-config
-
firewall-cmd
ferramenta de linha de comando - O console web RHEL
Os três últimos só podem editar os arquivos de configuração Ne