Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Documentação do SUSE Linux Enterprise Desktop / Guia de Administração / Sistema / Rede básica
Aplica-se a SUSE Linux Enterprise Desktop 15 SP6

23 Rede básica

O Linux oferece os recursos e as ferramentas de rede necessários para a integração em todos os tipos de estruturas de rede. É possível configurar o acesso a rede usando uma placa de rede com o YaST. A configuração também pode ser feita manualmente. Neste capítulo, são abordados apenas os mecanismos fundamentais e os arquivos de configuração de rede relevantes.

Linux e outros sistemas operacionais Unix usam o protocolo TCP/IP. Não é um protocolo de rede único, mas uma família de protocolos de rede que oferece vários serviços. Os protocolos listados na Vários protocolos na família de protocolos TCP/IP são oferecidos para trocar dados entre duas máquinas por meio do TCP/IP. As redes combinadas por TCP/IP compõem uma rede mundial também chamada de Internet.

RFC significa Request for Comments. Os RFCs são documentos que descrevem os procedimentos de implementação e protocolos da Internet para o sistema operacional e seus aplicativos. Os documentos RFC descrevem a configuração dos protocolos da Internet. Para obter mais informações sobre RFCs, visite https://datatracker.ietf.org/.

Vários protocolos na família de protocolos TCP/IP
TCP

Transmission Control Protocol: um protocolo seguro orientado por conexão. Os dados a serem transmitidos são enviados primeiramente pelo aplicativo como fluxo de dados e convertidos no formato adequado ao sistema operacional. Os dados chegam ao respectivo aplicativo no host de destino com o formato original de fluxo de dados no qual foram inicialmente enviados. O TCP determina se algum dado foi perdido ou embaralhado durante a transmissão. O TCP é implementado onde a sequência de dados for necessária.

UDP

User Datagram Protocol: um protocolo inseguro, não baseado em conexão. Os dados a serem transmitidos são enviados na forma de pacotes gerados pelo aplicativo. A ordem em que os dados chegam ao destinatário não é garantida, havendo possibilidade de perda dos dados. O UDP é adequado para aplicativos orientados por registro. Ele possui um período de latência menor que o TCP.

ICMP

Internet Control Message Protocol: não se trata de um protocolo para o usuário final, mas de um protocolo de controle especial que emite relatórios de erros e pode controlar o comportamento de máquinas que participam da transferência de dados TCP/IP. Além disso, ele fornece um modo de eco especial, que pode ser visualizado usando o programa ping.

IGMP

Internet Group Management Protocol: esse protocolo controla o comportamento da máquina na implementação de multicast IP.

Conforme mostrado na Figura 23.1, “Modelo simplificado de camadas para TCP/IP”, a troca de dados ocorre em camadas diferentes. A camada de rede real é a transferência de dados insegura por IP (Internet protocol). Acima do IP, o TCP garante, até certo ponto, a segurança na transferência de dados. A camada IP é suportada pelo protocolo base dependente do hardware, como a Ethernet.

OSI e TCP
Figura 23.1: Modelo simplificado de camadas para TCP/IP

O diagrama fornece um ou dois exemplos para cada camada. As camadas são organizadas de acordo com os níveis de abstração. A camada mais baixa fica próxima ao hardware. A camada mais alta é quase completamente abstraída do hardware. Todas as camadas possuem suas funções especiais próprias. As funções especiais de cada camada estão implícitas em suas descrições. A vinculação de dados e as camadas físicas representam a rede física usada, como a Ethernet.

Quase todos os protocolos de hardware funcionam em uma base orientada por pacotes. Os dados a serem transmitidos são reunidos em pacotes (não podem ser enviados todos de uma vez). O tamanho máximo de um pacote TCP/IP é de aproximadamente 64 KB. Os pacotes são normalmente menores, já que o hardware da rede pode ser um fator de limitação. O tamanho máximo de um pacote de dados na Ethernet é de aproximadamente 1.500 bytes. O tamanho de um pacote TCP/IP limita-se a esse valor quando os dados são enviados por Ethernet. Se mais dados forem transferidos, mais pacotes de dados precisarão ser enviados pelo sistema operacional.

Para que as camadas executem suas respectivas funções, informações adicionais referentes a cada uma delas devem ser gravadas no pacote de dados. Isso ocorre no cabeçalho do pacote. Todas as camadas anexam um pequeno bloco de dados, chamado cabeçalho do protocolo, à frente de cada pacote emergente. Veja uma demonstração de pacote de dados TCP/IP passando por um cabo Ethernet na Figura 23.2, “Pacote Ethernet TCP/IP”. A soma de teste está localizada no final do pacote e não no início. Isso torna as coisas mais simples para o hardware de rede.

Pacote Ethernet TCP/IP
Figura 23.2: Pacote Ethernet TCP/IP

Quando um aplicativo envia dados por uma rede, eles passam por cada camada, todas implementadas no kernel do Linux, exceto a camada física. Cada camada cuida da preparação dos dados para que eles possam ser transmitidos para a camada seguinte. A camada mais baixa é a responsável pelo envio de dados. Todo o processo é invertido quando os dados são recebidos. Como camadas de uma cebola, em cada uma os cabeçalhos de protocolo são removidos dos dados transportados. Por fim, a camada de transporte disponibiliza os dados para uso pelos aplicativos no destino. Dessa forma, cada camada se comunica somente com a camada diretamente acima ou abaixo dela. Para os aplicativos, é irrelevante se os dados são transmitidos por uma conexão com ou sem fio. Da mesma forma, é irrelevante para a linha de dados os tipos de dados que são transmitidos, se os pacotes estiverem no formato correto.

23.1 Roteamento e endereços IP

Esta seção limita-se à abordagem de redes IPv4. Para obter informações sobre o protocolo IPv6, sucessor do IPv4, consulte a Seção 23.2, “IPv6: a Internet de última geração”.

23.1.1 Endereços IP

Todo computador na Internet possui um endereço de 32 bits exclusivo. Os 32 bits (ou 4 bytes) normalmente são gravados conforme ilustrado na segunda linha em Exemplo 23.1, “Gravando endereços IP”.

Exemplo 23.1: Gravando endereços IP
IP Address (binary):  11000000 10101000 00000000 00010100
IP Address (decimal):      192.     168.       0.      20

Na forma decimal, os quatro bytes são gravados no sistema de números decimais, separados por pontos. O endereço IP é designado a um host ou a uma interface de rede. Ele pode ser usado apenas uma vez em todo o mundo. Há exceções a essa regra, mas não são relevantes para as passagens a seguir.

Os pontos nos endereços IP indicam o sistema hierárquico. Até os anos 90, os endereços IP eram estritamente categorizados em classes. Entretanto, esse sistema demonstrou ser excessivamente inflexível e foi desativado. Agora, o CIDR (Classless Interdomain Routing — Roteamento Interdomínio sem Classes) é usado.

23.1.2 Máscaras de rede e roteamento

As máscaras de rede são usadas para definir a faixa de endereços de uma sub-rede. Se dois hosts estiverem na mesma sub-rede, eles poderão acessar um ao outro diretamente. Se não estiverem na mesma sub-rede, eles precisarão do endereço de um gateway que manipule todo o tráfego da sub-rede. Para verificar se dois endereços IP estão em uma mesma sub-rede, basta E os dois endereços com a máscara de rede. Se o resultado for idêntico, os dois endereços IP estarão na mesma rede local. Se houver diferenças, o endereço IP remoto e, portanto, a interface remota, só poderão ser localizados através de um gateway.

Para compreender como as máscaras de rede funcionam, consulte o Exemplo 23.2, “Vinculando endereços IP à máscara de rede”. A máscara de rede consiste em 32 bits que identificam o quanto um endereço IP pertence à rede. Todos os bits 1 marcam o bit correspondente no endereço IP como pertencente à rede. Todos os bits 0 marcam os bits dentro da sub-rede. Isso significa que quanto maior a quantidade de bits 1, menor será o tamanho da sub-rede. Como a máscara de rede sempre consiste em vários bits 1 sucessivos, também é possível contar o número de bits da máscara de rede. Na Exemplo 23.2, “Vinculando endereços IP à máscara de rede”, a primeira rede com 24 bits também pode ser gravada como 192.168.0.0/24.

Exemplo 23.2: Vinculando endereços IP à máscara de rede
IP address (192.168.0.20):  11000000 10101000 00000000 00010100
Netmask   (255.255.255.0):  11111111 11111111 11111111 00000000
---------------------------------------------------------------
Result of the link:         11000000 10101000 00000000 00000000
In the decimal system:           192.     168.       0.       0

IP address (213.95.15.200): 11010101 10111111 00001111 11001000
Netmask    (255.255.255.0): 11111111 11111111 11111111 00000000
---------------------------------------------------------------
Result of the link:         11010101 10111111 00001111 00000000
In the decimal system:           213.      95.      15.       0

Outro exemplo: todas as máquinas conectadas ao mesmo cabo Ethernet normalmente estão localizadas na mesma sub-rede e são diretamente acessíveis. Mesmo quando a sub-rede é dividida fisicamente por switches ou pontes, esses hosts ainda assim podem ser diretamente localizados.

Endereços IP fora da sub-rede local só poderão ser localizados se um gateway for configurado para a rede de destino. Nos casos mais comuns, há somente um gateway que controla todo o tráfego externo. Entretanto, também é possível configurar vários gateways para sub-redes diferentes.

Se um gateway tiver sido configurado, todos os pacotes IP externos serão enviados para o gateway apropriado. Esse gateway tentará então encaminhar os pacotes da mesma forma (de host para host) até acessar o host de destino ou até o TTL (time to live) do pacote expirar.

Endereços específicos
Endereço de Rede Base

Essa é a máscara de rede E qualquer endereço na rede, conforme mostrado na Exemplo 23.2, “Vinculando endereços IP à máscara de rede” em Result. Esse endereço não pode ser designado a nenhum host.

Endereço de broadcast

Isso pode ser parafraseado como: Acessar todos os hosts nesta sub-rede. Para gerar isso, a máscara de rede é invertida no formato binário e vinculada ao endereço de rede base com um OU lógico. Portanto, o exemplo acima resulta em 192.168.0.255. Esse endereço não pode ser atribuído a nenhum host.

Host Local

O endereço 127.0.0.1 é designado ao dispositivo loopback em cada host. É possível configurar uma conexão com sua própria máquina usando esse endereço e todos os endereços da rede de loopback 127.0.0.0/8 completa, conforme definido com IPv4. Com o IPv6, existe apenas um endereço de loopback (::1).

Como os endereços IP precisam ser exclusivos em qualquer parte do mundo, não é possível selecionar endereços aleatoriamente. Há três domínios de endereços a serem usados para configurar uma rede baseada em IP privado. Eles não conseguem se conectar ao restante da Internet, pois não podem ser transmitidos através dela. Esses domínios de endereço são especificados no RFC 1597 e listados na Tabela 23.1, “Domínios de endereços IP privados”.

Tabela 23.1: Domínios de endereços IP privados

Rede/máscara de rede

Domínio

10.0.0.0/255.0.0.0

10.x.x.x

172.16.0.0/255.240.0.0

172.16.x.x172.31.x.x

192.168.0.0/255.255.0.0

192.168.x.x

23.2 IPv6: a Internet de última geração

Devido ao surgimento da World Wide Web (WWW), a Internet teve um crescimento massivo com um número cada vez maior de computadores se comunicando por TCP/IP nos últimos 15 anos. Desde que Tim Berners-Lee da CERN (https://public.web.cern.ch) inventou a WWW em 1990, o número de hosts da Internet cresceu de poucos milhares para centenas de milhões deles.

Conforme mencionado, um endereço IPv4 consiste em apenas 32 bits. Além disso, alguns endereços IP são perdidos. Eles não podem ser usados devido à forma como as redes são organizadas. O número de endereços disponíveis na sua sub-rede é dois elevado à potência do número de bits, menos dois. Uma sub-rede tem, por exemplo, 2, 6 ou 14 endereços disponíveis. Para conectar 128 hosts à Internet, por exemplo, você precisa de uma sub-rede com 256 endereços IP, dos quais apenas 254 são utilizáveis, visto que são necessários dois endereços IP para a estrutura da própria sub-rede: o endereço de broadcast e o endereço de rede base.

No protocolo IPv4 atual, DHCP ou NAT (Network Address Translation — Conversão de Endereços de Rede) são os mecanismos comuns usados para contornar a grande falta de endereços. Combinado à convenção de manter endereços públicos e privados separados por espaços, esses métodos podem certamente reduzir a falta de endereços. Para configurar um host em uma rede IPv4, você precisa de vários itens de endereço, como o próprio endereço IP do host, a máscara de sub-rede, o endereço de gateway e talvez um endereço de servidor de nomes. Todos esses itens precisam ser conhecidos e não podem ser derivados de outro lugar.

Com o IPv6, tanto a falta de endereços quanto as configurações complicadas passariam a ser problemas do passado. As seções a seguir oferecem mais informações sobre os aprimoramentos e benefícios trazidos pelo IPv6 e sobre a transição do protocolo antigo para o novo.

23.2.1 Vantagens

A melhoria mais importante e visível oferecida pelo protocolo IPv6 é a expansão enorme do espaço disponível para endereços. Um endereço IPv6 é composto por valores de 128 bits, em vez dos 32 bits tradicionais. Ele é capaz de fornecer 'quatrilhões' de endereços IP.

Entretanto, os endereços IPv6 não diferem de seus antecessores apenas em relação ao comprimento. Também possuem uma estrutura interna diferente, que pode conter mais informações específicas sobre os sistemas e as redes a que pertencem. Leia mais detalhes sobre eles na Seção 23.2.2, “Estrutura e tipos de endereço”.

Veja a seguir uma lista de outras vantagens do protocolo IPv6:

Configuração automática

O IPv6 torna apto o plug and play da rede, o que significa que um sistema recém-configurado é integrado à rede (local) sem qualquer configuração manual. O novo host usa seu mecanismo de configuração automática para derivar seu próprio endereço a partir das informações disponibilizadas pelos roteadores vizinhos, com base em um protocolo chamado ND (Neighbor Discovery — descoberta de vizinho). Esse método não exige nenhuma intervenção por parte do administrador e não há necessidade de manter um servidor central para alocação de endereços; uma vantagem adicional em relação ao IPv4, cuja alocação automática de endereços exige um servidor DHCP.

No entanto, se houver um roteador conectado a um switch, ele deverá enviar anúncios periódicos com flags avisando os hosts de uma rede como eles devem interagir entre si. Para obter mais informações, consulte o RFC 2462, a página de manual de radvd.conf(5) e o RFC 3315.

Mobilidade

O IPv6 torna possível a atribuição de vários endereços a uma interface de rede ao mesmo tempo. Isso permite que usuários acessem várias redes facilmente, o que é comparado aos serviços de roaming internacionais oferecidos pelas empresas de celulares. Quando você viaja com seu celular, ele automaticamente se conecta a um serviço interurbano, ao entrar na área correspondente. Dessa forma, você pode ser localizado no mesmo número de celular em qualquer lugar e pode fazer ligações como se estivesse em sua cidade.

Comunicação segura

Com o IPv4, a segurança da rede é uma função adicional. O IPv6 inclui IPsec como um de seus recursos principais, permitindo que sistemas se comuniquem por um túnel seguro, para evitar a intromissão de estranhos na Internet.

Compatibilidade Retroativa

De forma realista, seria impossível mudar toda a Internet de IPv4 para IPv6 de uma só vez. Portanto, é essencial que ambos os protocolos possam coexistir na Internet, mas também em um sistema. Isso é garantido ao usar endereços compatíveis (endereços IPv4 podem facilmente ser convertidos em endereços IPv6) e vários túneis. Consulte a Seção 23.2.3, “Coexistência de IPv4 e IPv6”. Da mesma forma, os sistemas podem se basear em uma técnica IP de pilha dupla para suportar os dois protocolos ao mesmo tempo, significando que eles têm duas pilhas de rede separadas, de tal forma que não há interferência entre as duas versões de protocolos.

Serviços adaptados e personalizados através de multicasting

Com o IPv4, determinados serviços, como SMB, precisam transmitir seus pacotes para todos os host na rede local. O IPv6 oferece uma abordagem muito mais refinada, permitindo que os servidores direcionem hosts por multicasting, ou seja, direcionando vários hosts como partes de um grupo. Esse procedimento é diferente de direcionar todos os hosts por meio de broadcasting ou cada host individualmente por unicasting. Os hosts enviados como grupos talvez dependam do aplicativo concreto. Há grupos predefinidos específicos para endereçar todos os servidores de nomes (o grupo multicast de servidores de nomes), por exemplo, ou todos os roteadores (o grupo multicast de todos os roteadores).

23.2.2 Estrutura e tipos de endereço

Conforme mencionado, o protocolo IP atual tem duas limitações importantes: os endereços IP estão cada vez mais escassos e a configuração de rede com manutenção de tabelas de rotina está se tornando uma tarefa cada vez mais complexa e trabalhosa. O IPv6 soluciona o primeiro problema expandindo o espaço dos endereços para 128 bits. O segundo problema é amenizado com a introdução de uma estrutura hierárquica de endereços, combinada com técnicas sofisticadas para alocar endereços de rede e com multihoming (a capacidade de atribuir vários endereços a um dispositivo, concedendo acesso a diversas redes).

Ao utilizar o IPv6, é útil saber que há três tipos diferentes de endereços:

Unicast

Endereços desse tipo são associados com exatamente uma interface de rede. Pacotes com esse tipo de endereço são entregues em apenas um destino. Da mesma forma, os endereços unicast são usados para transferir pacotes para hosts individuais na rede local ou na Internet.

Multicast

Endereços desse tipo estão relacionados a um grupo de interfaces de rede. Pacotes com esse tipo de endereço são entregues a todos os destinos pertencentes ao grupo. Endereços multicast são usados, principalmente, por certos tipos de serviços de rede para se comunicarem com determinados grupos de host de forma bem direcionada.

Anycast

Endereços desse tipo estão relacionados a um grupo de interfaces. Pacotes com esse tipo de endereço são entregues ao membro do grupo mais próximo do remetente, de acordo com os princípios do protocolo de roteamento subjacente. Endereços anycast são usados para que hosts possam descobrir mais facilmente servidores que oferecem certos serviços na área da rede determinada. Todos os servidores do mesmo tipo possuem o mesmo endereço anycast. Sempre que um host solicita um serviço, ele recebe uma resposta do servidor com o local mais próximo, conforme determinado pelo protocolo de roteamento. Caso ocorra alguma falha com esse servidor, o protocolo selecionará automaticamente o segundo servidor mais próximo, depois o terceiro e assim por diante.

Um endereço IPv6 é constituído de oito campos de quatro dígitos, cada um representando 16 bits, gravados em notação hexadecimal. Eles são separados por dois-pontos (:). Quaisquer zero bytes iniciais em um determinado campo podem ser descartados, mas zeros dentro ou no final do campo não podem ser descartados. Outra convenção é a de que mais de quatro zero bytes consecutivos podem retornar como dois-pontos duplos. Entretanto, apenas um separador do tipo :: é permitido por endereço. Esse tipo de notação reduzida é mostrado no Exemplo 23.3, “Amostra de endereço IPv6”, em que todas as três linhas representam o mesmo endereço.

Exemplo 23.3: Amostra de endereço IPv6
fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4
fe80 :    0 :    0 :    0 :    0 : 10 : 1000 : 1a4
fe80 :                           : 10 : 1000 : 1a4

Cada parte de um endereço IPv6 possui uma função definida. Os primeiros bytes formam o prefixo e especificam o tipo de endereço. A parte central é a porção do endereço na rede, mas pode não ser utilizada. O final do endereço forma a parte do host. Com o IPv6, a máscara de rede é definida indicando o comprimento do prefixo depois de uma barra no final do endereço. Um endereço, como mostrado no Exemplo 23.4, “Endereço IPv6 que especifica o comprimento do prefixo”, contém as informações de que os primeiros 64 bits formam a parte da rede do endereço e que os últimos 64 formam a parte do host. Em outras palavras, 64 significa que a máscara de rede está preenchida com 64 valores de 1 bit a partir da esquerda. Como no IPv4, o endereço IP é combinado com E, com os valores da máscara de rede, para determinar se o host está localizado na mesma sub-rede ou em outra.

Exemplo 23.4: Endereço IPv6 que especifica o comprimento do prefixo
fe80::10:1000:1a4/64

O IPv6 conhece vários tipos de prefixos predefinidos. Alguns estão exibidos na Prefixos IPv6.

Prefixos IPv6
00

Endereços IPv4 e endereços de compatibilidade de IPv4 sobre IPv6. Esses são usados para manter a compatibilidade com IPv4. O seu uso ainda exige um roteador capaz de converter pacotes IPv6 em pacotes IPv4. Vários endereços especiais, como o do dispositivo loopback, também possuem esse prefixo.

2 ou 3 como o primeiro dígito

Endereços unicast globais agregativos. Como no caso do IPv4, uma interface pode ser atribuída para fazer parte de determinada sub-rede. Atualmente, existem os seguintes espaços de endereço: 2001::/16 (espaço de endereço de qualidade de produção) e 2002::/16 (espaço de endereço 6to4).

fe80::/10

Endereços locais de links. Endereços com este prefixo não devem ser roteados e, portanto, só devem ser encontrados na mesma sub-rede.

fec0::/10

Endereços locais de sites. Esses podem ser roteados, mas somente na rede da organização a que pertencem. Na verdade, eles são o equivalente IPv6 do espaço de endereço de rede privada atual, como 10.x.x.x.

ff

Esses são endereços multicast.

Um endereço unicast consiste em três componentes básicos:

Topologia pública

A primeira parte (que também contém um dos prefixos mencionados acima) é usada para rotear pacotes através da Internet pública. Ela inclui informações sobre a empresa ou instituição que fornece o acesso à Internet.

Topologia do site

A segunda parte contém informações de roteamento sobre a sub-rede à qual o pacote deve ser entregue.

ID de interface

A terceira parte identifica a interface à qual o pacote deve ser entregue. Isso também permite que o MAC faça parte do endereço. Como MAC é um identificador fixo globalmente exclusivo codificado no dispositivo pelo fabricante do hardware, o procedimento de configuração é simplificado. Na verdade, os primeiros 64 bits de endereço são consolidados para formar o token EUI-64, com os últimos 48 bits obtidos do MAC e os 24 bits restantes contendo informações especiais sobre o tipo de token. Isso também possibilita atribuir um token EUI-64 a interfaces que não têm MAC, como aquelas baseadas no protocolo PPP.

No topo dessa estrutura básica, o IPv6 faz distinção entre cinco tipos de endereços unicast:

:: (não especificado)

Esse endereço é usado pelo host como seu endereço de origem durante a primeira inicialização da interface (momento em que o endereço ainda não pode ser determinado por outros meios).

::1 (loopback)

O endereço do dispositivo loopback.

Endereços compatíveis com IPv4

O endereço IPv6 é formado pelo endereço IPv4 e um prefixo consistindo em 96 zero bits. Esse tipo de endereço de compatibilidade é usado para um túnel (consulte a Seção 23.2.3, “Coexistência de IPv4 e IPv6”) para permitir que os hosts IPv4 e IPv6 se comuniquem com outros que estejam operando em um ambiente IPv4 puro.

Endereços IPv4 mapeados para IPv6

Esse tipo de endereço especifica um endereço IPv4 puro em uma notação IPv6.

Endereços locais

Há dois tipos de endereços para uso local:

link-local

Este tipo de endereço só pode ser usado na sub-rede local. Pacotes com endereço de origem ou de destino desse tipo não devem ser roteados para a Internet nem para outras sub-redes. Esses endereços contêm um prefixo especial (fe80::/10) e o ID da interface da placa de rede, com a parte do meio consistindo em zero byte. Endereços desse tipo são usados durante a configuração automática para se comunicarem com outros hosts pertencentes à mesma sub-rede.

site-local

Pacotes com este tipo de endereço podem ser roteados para outras sub-redes, mas não para a Internet mais ampla. Eles devem permanecer dentro da própria rede da organização. Tais endereços são usados para intranets e equivalem ao espaço de endereço privado definido pelo IPv4. Eles contêm um prefixo especial (fec0::/10), o ID da interface e um campo de 16 bits que especifica o ID da sub-rede. Novamente, o restante é preenchido com bytes zero.

Como um recurso novo, introduzido com o IPv6, cada interface de rede normalmente obtém vários endereços IP, com a vantagem de que diversas redes podem ser acessadas através da mesma interface. Uma dessas redes pode ser configurada de forma automática usando o MAC e um prefixo conhecido, resultando na possibilidade de todos os hosts na rede local serem encontrados quando o IPv6 é habilitado (usando o endereço link-local). Com o MAC fazendo parte disso, qualquer endereço IP usado no mundo será exclusivo. As únicas partes variáveis do endereço são aquelas que indicam a topologia do site e a topologia pública, dependendo da rede real na qual o host estiver operando no momento.

Para que um host avance e retroceda entre duas redes diferentes ele precisa de, pelo menos, dois endereços. Um deles, o endereço pessoal, contém não só o ID de interface, como também um identificador da rede doméstica a que ele normalmente pertence (e o prefixo correspondente). O endereço pessoal é um endereço estático e, portanto, normalmente não se modifica. Mesmo assim, todos os pacotes destinados ao host móvel podem ser entregues a ele, independentemente de ele operar na rede doméstica ou em outro local externo. Isso é possível devido aos recursos novos introduzidos com o IPv6, como configuração automática sem estado e descoberta de vizinho. Além do endereço residencial, um host móvel obtém um ou mais endereços adicionais pertencentes às redes interurbanas com roaming. Eles são chamados endereços care-of. A rede doméstica tem um recurso que encaminha qualquer pacote destinado ao host quando ele está em roaming. Em um ambiente IPv6, essa tarefa é executada pelo agente local, que retransmite todos os pacotes destinados ao endereço residencial através de um túnel. Esses pacotes destinados ao endereço care-of são diretamente transferidos para o host móvel sem nenhum desvio especial.

23.2.3 Coexistência de IPv4 e IPv6

A migração de todos os hosts conectados à Internet do IPv4 para o IPv6 é um processo gradual. Os dois protocolos podem coexistir durante um determinado tempo. A coexistência deles em um sistema é garantida onde houver uma implementação de pilha dupla de ambos os protocolos. Ainda resta a dúvida de como um host habilitado para IPv6 deve se comunicar com um host IPv4 e como os pacotes do IPv6 devem ser transportados pelas redes atuais, que são predominantemente baseadas no IPv4. As melhores soluções oferecem endereços de compatibilidade e túnel (consulte a Seção 23.2.2, “Estrutura e tipos de endereço”).

Os hosts IPv6 que estiverem isolados na rede IPv4 (mundial) podem se comunicar por túneis: os pacotes IPv6 são encapsulados como pacotes IPv4 para que sejam transmitidos por uma rede IPv4. Tal conexão entre dois hosts IPv4 é chamada de túnel. Para que isso ocorra, os pacotes devem incluir o endereço IPv6 de destino (ou o prefixo correspondente) e o endereço IPv4 do host remoto na extremidade de recepção do túnel. Um túnel básico pode ser configurado manualmente, de acordo com um contrato entre os administradores dos hosts. Também é chamado de túnel estático.

Entretanto, a configuração e manutenção de túneis estáticos é normalmente muito trabalhosa para ser usada diariamente em comunicações. Portanto, o IPv6 fornece três métodos de túneis dinâmicos:

6over4

Os pacotes IPv6 são automaticamente encapsulados como pacotes IPv4 e enviados por uma rede IPv4 com capacidade multicast. O IPv6 é induzido a considerar toda a rede (Internet) como uma rede local (LAN). Com isso, é possível determinar automaticamente o destino final do túnel IPv4. Entretanto, esse método não faz um dimensionamento bom e também é limitado porque o multicasting IP não é tão difundido na Internet. Portanto, ele apenas fornece uma solução para redes corporativas ou institucionais menores, em que o multicast pode ser habilitado. As especificações para esse método estão descritas no RFC 2529.

6to4

Com esse método, os endereços IPv4 são automaticamente gerados a partir de endereços IPv6, habilitando a comunicação de hosts IPv6 isolados através de uma rede IPv4. Entretanto, vários problemas foram relatados em relação à comunicação entre esses hosts IPv6 isolados e a Internet. O método está descrito no RFC 3056.

Controlador do túnel IPv6

Esse método se baseia em servidores especiais que fornecem túneis dedicados para hosts IPv6. É descrito no RFC 3053.

23.2.4 Configurando o IPv6

Para configurar o IPv6, normalmente não é necessário fazer mudanças nas estações de trabalho individuais. O IPv6 é habilitado por padrão. Para desabilitar ou habilitar o IPv6 em um sistema instalado, use o módulo Configurações de Rede do YaST. Na guia Opções Globais, marque ou desmarque a opção Habilitar IPv6 conforme necessário. Para habilitá-lo temporariamente até a próxima reinicialização, insira modprobe -i ipv6 como root. É impossível descarregar o módulo IPv6 depois de carregado.

Devido ao conceito de configuração automática do IPv6, um endereço é designado à placa de rede na rede link-local. Normalmente, nenhum gerenciamento de tabela de roteamento é feito em uma estação de trabalho. Os roteadores de rede podem ser consultados pela estação de trabalho, usando o protocolo de anúncios do roteador, para o qual devem ser implementados um prefixo e gateways. O programa radvd pode ser usado para configurar um roteador IPv6. Esse programa informa às estações de trabalho o prefixo que deve ser usado para os endereços IPv6 e os roteadores. Outra opção é usar FRR(consulte https://frrouting.org/) para a configuração automática dos dois endereços e para roteamento.

Para obter informações sobre como configurar vários tipos de túneis usando os arquivos /etc/sysconfig/network, consulte a página de manual de ifcfg-tunnel (man ifcfg-tunnel).

23.2.5 Mais informações

A visão geral acima não abrange totalmente o tópico do IPv6. Para conhecer melhor o novo protocolo, consulte os manuais e a documentação online a seguir:

https://www.ipv6.org/

O ponto de partida para tudo relativo ao IPv6.

http://www.ipv6day.org

Todas as informações necessárias para iniciar sua própria rede IPv6.

http://www.ipv6-to-standard.org/

A lista de produtos habilitados para IPv6.

https://www.bieringer.de/linux/IPv6/

O Linux IPv6-HOWTO e muitos links relacionados ao tópico.

RFC2460

Informações fundamentais do RFC sobre o IPv6.

IPv6 Essentials

Um livro que descreve todos os aspectos importantes do tópico é o IPv6 Essentials de Silvia Hagen (ISBN 0-596-00125-8).

23.3 Resolução de nome

O DNS ajuda na designação de um endereço IP a um ou mais nomes e na designação de um nome a um endereço IP. No Linux, essa conversão normalmente é executada por um tipo especial de software chamado bind. A máquina responsável por essa conversão é chamada de servidor de nomes. Os nomes criam um sistema hierárquico, no qual cada componente do nome é separado um ponto. A hierarquia de nomes é, entretanto, independente da hierarquia de endereços IP descrita acima.

Considere um nome completo, como jupiter.example.com, gravado no formato hostname.domain. Um nome completo, denominado Nome de Domínio Completo e Qualificado (FQDN, Fully Qualified Domain Name), consiste em um nome de host e um nome de domínio (example.com). O último também inclui o TLD (Top Level Domain — Domínio de Nível Superior) (com).

A designação TLD tornou-se bastante confusa por razões históricas. Tradicionalmente, nomes de domínio com três letras são usados nos EUA. No resto do mundo, os códigos nacionais ISO de duas letras são o padrão. Além disso, TLDs mais longos foram introduzidos em 2000, representando certas esferas de atividades (por exemplo, .info, .name, .museum).

Nos primóridos da Internet (antes de 1990), o arquivo /etc/hosts era usado para armazenar os nomes de todas as máquinas representadas na Internet. Isso rapidamente se tornou impraticável, devido ao crescente número de computadores conectados à Internet. Por essa razão, um banco de dados descentralizado foi desenvolvido para armazenar nomes de host de uma forma amplamente distribuída. Esse banco de dados, semelhante ao servidor de nomes, não tem os dados pertencentes a todos os hosts disponíveis na Internet, mas pode encaminhar solicitações a outros servidores de nomes.

A parte superior da hierarquia é ocupada pelos servidores de nomes raiz. Esses servidores de nomes raiz gerenciam os domínios de nível superior e são executados pelo NIC (Network Information Center). Cada servidor de nomes raiz conhece os servidores de nomes responsáveis por um determinado domínio de nível superior. Para obter informações sobre NICs de domínio superior, vá para https://www.internic.net.

O DNS pode fazer mais do que resolver nomes de host. O servidor de nomes também distingue qual host recebe e-mails para um domínio inteiro: o MX (servidor de correio).

Para sua máquina resolver um endereço IP, ela precisa pelo menos conhecer um servidor de nomes e seu respectivo endereço IP. Especifique facilmente esse tipo de servidor de nomes usando o YaST.

O protocolo whois está intimamente relacionado ao DNS. Com esse programa, encontre rapidamente o responsável por um determinado domínio.

Nota
Nota: MDNS e nomes do domínio .local

O domínio de nível superior .local é tratado como domínio link-local pelo resolver. As solicitações de DNS são enviadas como solicitações de DNS multicast, em vez de solicitações de DNS normal. Se você já usa o domínio .local em sua configuração de servidor de nomes, deverá desativar essa opção em /etc/host.conf. Para obter mais informações, consulte a página de manual de host.conf.

Para desativar o MDNS durante a instalação, use nomdns=1 como parâmetro de boot.

Para obter mais informações sobre DNS de multicast, consulte http://www.multicastdns.org.

23.4 Configurando uma conexão de rede com o YaST

Há muitos tipos de redes suportadas no Linux. A maioria delas usa nomes de dispositivos diferentes e os arquivos de configuração se espalham por vários locais no sistema de arquivos. Para obter uma visão geral detalhada dos aspectos da configuração manual de rede, consulte a Seção 23.6, “Configurando uma conexão de rede manualmente”.

No SUSE Linux Enterprise Desktop, em que o NetworkManager está ativo por padrão, todas as placas de rede estão configuradas. Se o NetworkManager não estiver ativo, apenas a primeira interface com link ativo (com cabo de rede conectado) será configurada automaticamente. Hardwares adicionais podem ser configurados a qualquer momento no sistema instalado. As seguintes seções descrevem a configuração de rede para todos os tipos de conexões de rede suportadas pelo SUSE Linux Enterprise Desktop.

23.4.1 Configurando a placa de rede com o YaST

Para configurar a placa Ethernet ou Wi-Fi/Bluetooth no YaST, selecione Sistema › Configurações de Rede. Após iniciar o módulo, o YaST exibirá a caixa de diálogo Configurações de Rede com quatro guias: Opções Globais, Visão Geral, Nome de host/DNS e Roteamento.

A guia Opções Globais permite definir opções gerais de rede, como método de configuração de rede, IPv6 e opções gerais de DHCP. Para obter mais informações, consulte a Seção 23.4.1.1, “Configurando as opções globais de rede”.

A guia Visão Geral contém informações sobre interfaces de rede instaladas e configurações. Ela lista os nomes de todas as placas de rede detectadas corretamente. Nessa caixa de diálogo, você pode configurar manualmente novas placas, bem como remover ou mudar suas configurações. Para configurar manualmente uma placa que não foi detectada automaticamente, consulte a Seção 23.4.1.3, “Configurando uma placa de rede não detectada”. Para mudar a configuração de uma placa que já está configurada, consulte a Seção 23.4.1.2, “Mudando a configuração de uma placa de rede”.

A guia Nome de host/DNS permite definir o nome de host da máquina e nomear os servidores que serão usados. Para obter mais informações, consulte a Seção 23.4.1.4, “Configurando nome de host e DNS”.

A guia Roteamento é usada para a configuração do roteamento. Consulte a Seção 23.4.1.5, “Configurando o roteamento” para obter mais informações.

Definindo as configurações de rede
Figura 23.3: Definindo as configurações de rede

23.4.1.1 Configurando as opções globais de rede

A guia Opções Globais do módulo Configurações de Rede do YaST permite definir opções globais de rede importantes, como o uso do NetworkManager, o IPv6 e opções de cliente DHCP. Essas configurações são aplicáveis a todas as interfaces de rede.

Em Método de Configuração da Rede, escolha o modo como as conexões de rede são gerenciadas. Para que um applet de área de trabalho do NetworkManager gerencie as conexões de todas as interfaces, escolha Serviço do NetworkManager. O NetworkManager é ideal para alternar entre várias redes com fio e wireless. Se você não tem um ambiente de área de trabalho em execução, ou se o seu computador for um servidor Xen, um sistema virtual ou fornecer serviços de rede como DHCP ou DNS em sua rede, use o método Serviço Wicked. Se o NetworkManager for usado, o nm-applet deverá ser usado para configurar opções de rede, e as guias Visão Geral, Nome de host/DNS e Roteamento do módculo Configurações da rede estarão desabilitadas. Para obter mais informações sobre o NetworkManager, consulte o Capítulo 31, Usando o NetworkManager.

Em Configurações do Protocolo IPv6, escolha se é para usar o protocolo IPv6. É possível usar o IPv6 juntamente com o IPv4. Por padrão, IPv6 está habilitado. Contudo, nas redes que não usam o protocolo IPv6, os tempos de resposta podem ser acelerados com o protocolo IPv6 desabilitado. Para desabilitá-lo, desmarque Habilitar IPv6. Se o IPv6 for desabilitado, o kernel não carregará mais o módulo IPv6 automaticamente. Esta configuração será aplicada após a reinicialização.

Nas Opções do Cliente DHCP, configure as opções do cliente DHCP. O Identificador de Cliente DHCP deve ser diferente para cada cliente DHCP na mesma rede. Se ficar vazio, assumirá como padrão o endereço de hardware da interface da rede. Entretanto, se você tiver várias máquinas virtuais em execução na mesma interface de rede e, portanto, com o mesmo endereço de hardware, especifique aqui um identificador exclusivo.

O Nome do Host a Enviar especifica uma string usada no campo da opção de nome de host quando o cliente DHCP envia mensagens ao servidor DHCP. Alguns servidores DHCP atualizam as zonas do servidor de nomes (registros diretos e reversos) de acordo com esse nome de host (DNS Dinâmico). Além disso, alguns servidores DHCP exigem que o campo da opção Nome do Host a Enviar contenha uma string específica nas mensagens DHCP dos clientes. Mantenha AUTO para enviar o nome de host atual (ou seja, o que está definido em /etc/HOSTNAME). Deixe o campo da opção vazio para não enviar nenhum nome de host.

Para não mudar a rota padrão de acordo com as informações do DHCP, desmarque Mudar Rota Padrão via DHCP.

23.4.1.2 Mudando a configuração de uma placa de rede

Para mudar a configuração de uma placa de rede, selecione-a na lista de placas detectadas em Configurações da rede › Visão Geral no YaST e clique em Editar. A caixa de diálogo Configuração da Placa de Rede é exibida, na qual é possível ajustar a configuração da placa usando as guias Geral, Endereço e Hardware.

23.4.1.2.1 Configurando endereços IP

Você pode definir o endereço IP da placa de rede ou o modo como seu endereço IP é determinado na guia Endereço da caixa de diálogo Configuração da Placa de Rede. Há suporte para endereços IPv4 e IPv6. A placa de rede pode ser Sem Endereço IP (útil para dispositivos de vinculação), ter um Endereço IP Atribuído Estaticamente (IPv4 ou IPv6) ou um Endereço Dinâmico atribuído por DHCP, Zeroconf ou ambos.

Ao usar um Endereço Dinâmico, selecione se deseja usar Apenas DHCP Versão 4 (para IPv4), Apenas DHCP Versão 6 (para IPv6) ou DHCP Versões 4 e 6.

Se possível, a primeira placa de rede com link que estiver disponível durante a instalação será configurada automaticamente para usar a configuração automática de endereço via DHCP. No SUSE Linux Enterprise Desktop, em que o NetworkManager está ativo por padrão, todas as placas de rede estão configuradas.

Também será necessário usar o DHCP se você estiver usando uma linha DSL sem nenhum IP estático atribuído pelo ISP (Internet Service Provider — Provedor de Serviços de Internet). Se você decidir usar o DHCP, configure os detalhes em Opções do Cliente DHCP na guia Opções Globais da caixa de diálogo Configurações de Rede do módulo de configuração de placa de rede do YaST. Se você tiver uma configuração de host virtual, em que hosts diferentes se comunicam pela mesma interface, será necessário um Identificador de Cliente DHCP para diferenciá-las.

O DHCP é uma boa opção para a configuração de clientes, mas não é a ideal para a configuração de servidores. Para definir um endereço IP estático, faça o seguinte:

  1. Selecione uma placa na lista de placas detectadas na guia Visão Geral do módulo de configuração de placa de rede do YaST e clique em Editar.

  2. Na guia Endereço, escolha Endereço IP Atribuído Estaticamente.

  3. Digite o Endereço IP. Podem ser usados endereços IPv4 e IPv6. Digite a máscara de rede em Máscara de Sub-rede. Se for usado o endereço IPv6, use Máscara de Sub-rede para um comprimento do prefixo no formato /64.

    Se preferir, digite um Nome de Host completo para esse endereço, que será gravado no arquivo de configuração /etc/hosts.

  4. Clique em Avançar.

  5. Para ativar a configuração, clique em OK.

Nota
Nota: Ativação de interface e detecção de link

Durante a ativação de uma interface de rede, o wicked verifica a existência de uma operadora e apenas aplica a configuração de IP depois que um link foi detectado. Se você precisa aplicar a configuração independentemente do status do link (por exemplo, quando você deseja testar um serviço que escuta determinado endereço), pode ignorar a detecção de link adicionando a variável LINK_REQUIRED=no ao arquivo de configuração da interface em /etc/sysconfig/network/ifcfg.

Você também pode usar a variável LINK_READY_WAIT=5 para especificar o tempo de espera de um link em segundos.

Para obter mais informações sobre os arquivos de configuração ifcfg-*, consulte a Seção 23.6.2.5, “/etc/sysconfig/network/ifcfg-* e o man 5 ifcfg.

Se você usa o endereço estático, os servidores de nomes e o gateway padrão não são configurados automaticamente. Para configurar servidores de nomes, proceda conforme descrito na Seção 23.4.1.4, “Configurando nome de host e DNS”. Para configurar um gateway, proceda conforme descrito na Seção 23.4.1.5, “Configurando o roteamento”.

23.4.1.2.2 Configurando vários endereços

Um único dispositivo de rede pode ter vários endereços IP chamados álias ou rótulos.

Nota
Nota: Álias são um recurso de compatibilidade

Os álias ou rótulos funcionam apenas com IPv4. O uso de interfaces de rede iproute2 torna possível ter um ou mais endereços.

Para definir mais endereços para sua placa de rede usando o YaST, faça o seguinte:

  1. Selecione uma placa na lista de placas detectadas na guia Visão Geral da caixa de diálogo Configurações de Rede do YaST e clique em Editar.

  2. Na guia Endereço › Endereços Adicionais, clique em Adicionar.

  3. Digite o Rótulo do Endereço IPv4, o Endereço IP e a Máscara de rede. Observe que os álias de IP devem ser adicionados com a máscara de rede /32. Não inclua o nome da interface no nome do álias.

  4. Para ativar a configuração, confirme as definições.

23.4.1.2.3 Mudando o nome de dispositivo e as regras de udev

É possível mudar o nome de dispositivo da placa de rede quando ela for usada. Também é possível determinar se a placa de rede deve ser identificada pelo udev usando o endereço (MAC) de hardware ou o ID do barramento. A última opção é preferencial em servidores grandes para simplificar o hotplug de placas. Para definir essas opções com o YaST, faça o seguinte:

  1. Selecione uma placa na lista de placas detectadas na guia Visão Geral da caixa de diálogo Configurações de Rede do YaST e clique em Editar.

  2. Vá até a guia Geral. O nome de dispositivo atual é mostrado em Regras do Udev. Clique em Mudar.

  3. Selecione se o udev deve identificar a placa por seu Endereço MAC ou ID do Bus. O endereço MAC e o ID do barramento atuais da placa são mostrados na caixa de diálogo.

  4. Para mudar o nome de dispositivo, marque a opção Mudar Nome do Dispositivo e edite o nome.

  5. Para ativar a configuração, confirme as definições.

23.4.1.2.4 Mudando o driver do kernel da placa de rede

Para algumas placas de rede, pode haver vários drivers de kernel disponíveis. Se a placa já estiver configurada, o YaST permitirá selecionar um driver do Kernel para uso na lista de drivers compatíveis disponíveis. Também é possível especificar opções para o driver de kernel. Para definir essas opções com o YaST, faça o seguinte:

  1. Selecione uma placa na lista de placas detectadas na guia Visão Geral do módulo Configurações de Rede do YaST e clique em Editar.

  2. Vá até a guia Hardware.

  3. Selecione o driver de kernel a ser usado em Nome de Módulo. Insira quaisquer opções para o driver selecionado em Opções, no formato = =VALUE. Se forem usadas mais opções, elas deverão ser separadas por espaços.

  4. Para ativar a configuração, confirme as definições.

23.4.1.2.5 Ativando o dispositivo de rede

Se você usar o método com o wicked, poderá configurar seu dispositivo para ser iniciado durante o boot, na conexão a cabo, ao detectar a placa, manualmente ou nunca. Para mudar a inicialização do dispositivo, faça o seguinte:

  1. No YaST, selecione uma placa na lista de placas detectadas em Sistema › Configurações da rede e clique em Editar.

  2. Na guia Geral, selecione a entrada desejada em Ativação de Dispositivo.

    Escolha Em Tempo de Boot para iniciar o dispositivo durante o boot do sistema. Com a opção Em Conexão Cabo, a interface é monitorada quanto a qualquer conexão física existente. Com a opção Em Hotplug, a interface é definida ao ficar disponível. Ela é semelhante à opção Em Tempo de Boot, a única diferença é que não ocorre nenhum erro quando a interface não está presente no momento da inicialização. Escolha Manualmente para controlar a interface manualmente com ifup. Escolha Nunca para não iniciar o dispositivo. A opção Em NFSroot é similar a Em tempo de Boot, mas a interface não é encerrada com o comando systemctl stop network. O serviço network também se encarregará do serviço wicked se o wicked estiver ativo. Use-a se você estiver usando um sistema de arquivos raiz NFS ou iSCSI.

  3. Para ativar a configuração, confirme as definições.

Dica
Dica: NFS como sistema de arquivos raiz

Em sistemas (sem disco) nos quais a partição raiz é montada por rede como compartilhamento NFS, você precisa ter cuidado ao configurar o dispositivo de rede pelo qual o compartilhamento NFS pode ser acessado.

Ao encerrar ou reinicializar o sistema, a ordem de processamento padrão é desativar as conexões de rede e, na sequência, desmontar a partição raiz. Com a raiz NFS, essa ordem causa problemas, já que a partição raiz não pode ser completamente desmontada porque a conexão de rede com o compartilhamento NFS já não está ativada. Para impedir que o sistema desative o dispositivo de rede relevante, abra a guia de configuração do dispositivo de rede, conforme descrito na Seção 23.4.1.2.5, “Ativando o dispositivo de rede”, e escolha Em NFSroot no painel Ativação do Dispositivo.

23.4.1.2.6 Configurando o tamanho da unidade máxima de transferência

Você pode definir uma unidade máxima de transferência (MTU) para a interface. A MTU refere-se ao maior tamanho de pacote permitido, em bytes. Uma MTU maior proporciona melhor eficiência da largura de banda. No entanto, pacotes grandes podem bloquear uma interface lenta por algum tempo, aumentando a latência dos pacotes seguintes.

  1. No YaST, selecione uma placa na lista de placas detectadas em Sistema › Configurações da rede e clique em Editar.

  2. Na guia Geral, selecione a entrada desejada na lista Definir MTU.

  3. Para ativar a configuração, confirme as definições.

23.4.1.2.7 Dispositivos multifuncionais PCIe

Dispositivos multifuncionais que suportam LAN, iSCSI e FCoE são permitidos. O cliente FCoE do YaST (yast2 fcoe-client) mostra flags particulares em colunas adicionais para permitir que o usuário selecione o dispositivo destinado ao FCoE. O módulo de rede do YaST (yast2 lan) exclui os dispositivos apenas de armazenamento da configuração de rede.

23.4.1.2.8 Configuração de Infiniband para IP sobre InfiniBand (IPoIB)
  1. No YaST, selecione o dispositivo InfiniBand em Sistema › Configurações da rede e clique em Editar.

  2. Na guia Geral, selecione um dos modos IPoIB (IP-over-InfiniBand – InfiniBand sobre IP): connected (conectado, que é o padrão) ou datagram (datagrama).

  3. Para ativar a configuração, confirme as definições.

Para obter mais informações sobre o InfiniBand, consulte /usr/src/linux/Documentation/infiniband/ipoib.txt.

23.4.1.2.9 Configurando o firewall

Sem precisar efetuar a configuração de firewall detalhada, como descrito na Section 23.4, “firewalld, você pode determinar a configuração de firewall básica para seu dispositivo como parte da configuração dele. Proceda da seguinte maneira:

  1. Abra o módulo Sistema › Configurações de Rede do YaST. Na guia Visão Geral, selecione uma placa na lista de placas detectadas e clique em Editar.

  2. Acesse a guia Geral da caixa de diálogo Configurações de Rede.

  3. Determine a Zona de Firewall à qual sua interface deve ser atribuída. As seguintes opções estão disponíveis:

    Firewall Desabilitado

    Essa opção estará disponível apenas se o firewall estiver desabilitado, sem entrar em execução. Use esta opção apenas se a sua máquina pertencer a uma rede maior protegida por um firewall externo.

    Zona Atribuída Automaticamente

    Essa opção fica disponível apenas quando o firewall está habilitado. O firewall está em execução e a interface é atribuída automaticamente a uma zona de firewall. Para uma interface como essa, será usada a zona que contiver a palavra-chave any ou a zona externa.

    Zona Interna (Não Protegida)

    O firewall está em execução, mas não assegura o uso obrigatório de nenhuma regra para proteger a interface. Use esta opção se a sua máquina pertencer a uma rede maior protegida por um firewall externo. Ela também é útil para as interfaces conectadas à rede interna, quando a máquina possui mais interfaces de rede.

    Zona Desmilitarizada

    Zona desmilitarizada é uma linha de defesa adicional situada na frente de uma rede interna e da Internet (hostil). Os hosts designados a essa zona podem ser acessados a partir da rede interna e a Internet, mas não podem acessar a rede interna.

    Zona Externa

    O firewall está em execução nesta interface e a protege totalmente contra outros tráfegos de rede (provavelmente hostis). Ela é a opção padrão.

  4. Para ativar a configuração, confirme as definições.

23.4.1.3 Configurando uma placa de rede não detectada

Se uma placa de rede não for detectada corretamente, ela não será incluída na lista de placas detectadas. Se você tiver certeza de que o sistema contém um driver para sua placa, poderá configurá-la manualmente. Se for possível, configure também tipos especiais de dispositivos de rede, como ponte, ligação, TUN ou TAP. Para configurar uma placa de rede não detectada (ou um dispositivo especial), faça o seguinte:

  1. Na caixa de diálogo Sistema › Configurações de Rede › Visão Geral no YaST, clique em Adicionar.

  2. Na caixa de diálogo Hardware, defina o Tipo de Dispositivo da interface entre as opções disponíveis e o Nome de Configuração. Se a placa de rede for um dispositivo USB, ative a respectiva caixa de seleção e saia dessa caixa de diálogo clicando em Avançar. Caso contrário, você pode definir o Nome de Módulo do kernel para ser usado para a placa e as respectivas Opções, se necessário.

    Em Opções do Ethtool, você pode definir as opções de ethtool usadas pelo ifup para a interface. Para obter informações sobre as opções disponíveis, consulte a página de manual do ethtool.

    Se a string da opção começar com um - (por exemplo, -K INTERFACE_NAME rx on), a segunda palavra na string será substituída pelo nome da interface atual. Do contrário, (por exemplo, autoneg off speed 10) ifup adicionará -s INTERFACE_NAME ao início.

  3. Clique em Avançar.

  4. Configure quaisquer opções que forem necessárias, como o endereço IP, a ativação do dispositivo ou a zona de firewall da interface nas guias Geral, Endereço e Hardware. Para obter mais informações sobre as opções de configuração, consulte Seção 23.4.1.2, “Mudando a configuração de uma placa de rede”.

  5. Se você selecionou Wireless como o tipo de dispositivo da interface, configure a conexão wireless na próxima caixa de diálogo.

  6. Para ativar a nova configuração de rede, confirme as definições.

23.4.1.4 Configurando nome de host e DNS

Se você não mudou a configuração de rede durante a instalação e a placa Ethernet já estava disponível, um nome de host foi gerado automaticamente para o seu computador e o DHCP foi ativado. O mesmo se aplica às informações de serviço de nomes de que o host necessita para se integrar a um ambiente de rede. Se o DHCP for usado para a configuração de endereços de rede, a lista de servidores de nomes de domínio será preenchida automaticamente com os dados adequados. Se uma configuração estática for preferencial, defina esses valores manualmente.

Para mudar o nome do seu computador e ajustar a lista de pesquisa do servidor de nomes, faça o seguinte:

  1. Vá para a guia Configurações de Rede › Nome de host/DNS no módulo Sistema no YaST.

  2. Insira o Nome de host. Observe que o nome de host é global e aplica-se a todas as interfaces de rede.

    Se você estiver usando o DHCP para obter um endereço IP, o nome de host do seu computador será definido automaticamente pelo servidor DHCP. Convém desabilitar esse comportamento se você se conecta a outras redes, já que elas podem atribuir nomes de host diferentes, e a mudança de nome de host em tempo de execução pode confundir a área de trabalho gráfica. Para desabilitar o uso do DHCP para obter um endereço IP, desmarque Trocar Nome de Host via DHCP.

  3. Em Modificar Configuração do DNS, selecione o modo como a configuração do DNS (servidores de nomes, lista de pesquisa, conteúdo do arquivo /run/netconfig/resolv.conf) é modificada.

    Se a opção Usar Política Padrão for selecionada, a configuração será gerenciada pelo script netconfig, que funde os dados definidos estaticamente (com o YaST ou nos arquivos de configuração) com os dados obtidos dinamicamente (do cliente DHCP ou do NetworkManager). Essa política padrão geralmente é suficiente.

    Se a opção Apenas Manualmente for selecionada, netconfig não terá permissão para modificar o arquivo /run/netconfig/resolv.conf. Entretanto, esse arquivo pode ser editado manualmente.

    Se a opção Política Personalizada for selecionada, deverá ser especificada uma string de Regra de Política Personalizada definindo a política de fusão. A string consiste em uma lista de nomes de interface separados por vírgula, considerada como fonte válida de configurações. Além dos nomes completos de interface, também são permitidos curingas básicos para corresponder a várias interfaces. Por exemplo, eth* ppp? encontrará primeiro todas as interfaces eth e, depois, todas as interfaces de ppp0 a ppp9. Existem dois valores de política especiais que indicam como aplicar as configurações estáticas definidas no arquivo /etc/sysconfig/network/config:

    STATIC

    É necessário fundir as configurações estáticas com as configurações dinâmicas.

    STATIC_FALLBACK

    As configurações estáticas são usadas apenas quando não há nenhuma configuração dinâmica disponível.

    Para obter mais informações, consulte a página de manual do netconfig(8) (man 8 netconfig).

  4. Digite os Servidores de Nome e preencha a lista Pesquisa de Domínio. Servidores de nomes devem ser especificados por endereços IP, como 192.168.1.116, e não por nomes de host. Os nomes especificados na guia Pesquisa de Domínio são nomes de domínio usados para resolver nomes de host sem um domínio especificado. Se for usada mais de uma Pesquisa de Domínio, separe os domínios por vírgulas ou espaços.

  5. Para ativar a configuração, confirme as definições.

É possível também editar o nome de host usando o YaST da linha de comando. As mudanças feitas pelo YaST entram em vigor imediatamente (o que não acontece quando se edita o arquivo /etc/HOSTNAME manualmente). Para mudar o nome de host, use o seguinte comando:

# yast dns edit hostname=HOSTNAME

Para mudar os servidores de nomes, use os seguintes comandos:

# yast dns edit nameserver1=192.168.1.116
# yast dns edit nameserver2=192.168.1.117
# yast dns edit nameserver3=192.168.1.118

23.4.1.5 Configurando o roteamento

Para que sua máquina se comunique com outras máquinas e redes, é necessário fornecer informações de roteamento para que o tráfego de rede siga o caminho correto. Se o DHCP for usado, essas informações serão fornecidas automaticamente. Se uma configuração estática for usada, esses dados deverão ser adicionados manualmente.

  1. No YaST, vá para Configurações de Rede › Roteamento.

  2. Digite o endereço IP do Gateway Padrão (IPv4 e IPv6, se necessário). O gateway padrão corresponde a todos os destinos possíveis, mas se houver uma entrada da tabela de roteamento que corresponda ao endereço exigido, ela será usada no lugar da rota padrão, pelo Gateway Padrão.

  3. É possível digitar mais entradas na Tabela de Roteamento. Digite o endereço IP do Destino, o endereço IP do Gateway e a Máscara de Rede. Selecione o Dispositivo pelo qual será roteado o tráfego para a rede definida (o sinal de menos significa qualquer dispositivo). Para omitir qualquer um desses valores, use o sinal de menos -. Para inserir um gateway padrão na tabela, use default no campo Destino.

    Nota
    Nota: Priorização de rota

    Se forem usadas mais rotas padrão, será possível especificar a opção métrica para determinar qual rota possui a prioridade mais alta. Para especificar a opção métrica, digite - metric NUMBER em Opções. A menor métrica possível é 0. A rota com a métrica mais baixa tem a prioridade mais alta e é usada como padrão. Se o dispositivo de rede for desconectado, sua rota será removida e o dispositivo seguinte será usado.

  4. Se o sistema for um roteador, habilite Encaminhamento IPv4 e Encaminhamento IPv6 em Configurações de Rede, conforme necessário.

  5. Para ativar a configuração, confirme as definições.

23.5 NetworkManager

O NetworkManager é a solução ideal para laptops e outros computadores portáteis. Com o NetworkManager, não é necessário preocupar-se em configurar interfaces de rede e alternar entre redes quando você estiver em trânsito.

Importante
Importante: Cobertura de suporte

O NetworkManager é suportado apenas pelo SUSE para cargas de trabalho de desktop com SLED ou a Workstation Extension. Todas as certificações de servidor são feitas com a ferramenta de configuração de rede wicked, e o uso do NetworkManager pode invalidá-las. O NetworkManager não é suportado pelo SUSE para cargas de trabalho de servidor.

23.5.1 NetworkManager e wicked

Entretanto, como o NetworkManager não é uma solução adequada para todos os casos, você ainda pode escolher entre o método de gerenciamento de conexões de rede controlado pelo wicked e o NetworkManager. Para gerenciar sua conexão de rede com o NetworkManager, habilite-o no módulo Configurações de Rede do YaST, conforme descrito na Seção 31.2, “Habilitando ou desabilitando o NetworkManager”, e configure suas conexões de rede com o NetworkManager. Para ver uma lista dos casos de uso e uma descrição detalhada de como configurar e usar o NetworkManager, consulte o Capítulo 31, Usando o NetworkManager.

Algumas diferenças entre o wicked e o NetworkManager:

Privilégios de root

Se você usa o NetworkManager para configurar a rede, poderá alternar, parar ou iniciar com facilidade a conexão de rede, a qualquer momento, de dentro do ambiente de área de trabalho usando um applet. O NetworkManager também permite mudar e configurar conexões de placa wireless sem exigir privilégios de root. Por esse motivo, o NetworkManager é a solução ideal para uma estação de trabalho móvel.

O wicked também oferece algumas maneiras de alternar, parar ou iniciar a conexão com ou sem a intervenção do usuário, como os dispositivos gerenciados pelo usuário. No entanto, privilégios de root sempre são exigidos para mudar ou configurar um dispositivo de rede. Isso normalmente é um problema para a computação móvel, na qual não é possível pré-configurar todas as possibilidades de conexão.

Tipos de conexões de rede

Tanto o wicked quanto o NetworkManager podem gerenciar conexões com uma rede wireless (com acesso WEP, WPA-PSK e WPA-Enterprise) e redes com fio usando a configuração DHCP e estática. Eles também suportam conexão por discagem e VPN. Com o NetworkManager, é possível também conectar um modem de banda larga móvel (3G) ou configurar uma conexão DSL, o que não é possível com a configuração tradicional.

O NetworkManager tenta manter o computador conectado o tempo todo usando a melhor conexão disponível. Se o cabo da rede for desconectado por acidente, ele tentará reconectar. Ele é capaz de localizar a rede que tiver a melhor intensidade de sinal na lista de conexões wireless e usá-la automaticamente para uma conexão. Para obter a mesma funcionalidade com o wicked, são necessárias mais configurações.

23.5.2 Funcionalidade e arquivos de configuração do NetworkManager

As configurações individuais de conexão de rede criadas com o NetworkManager são armazenadas em perfis de configuração. As conexões do sistema configuradas com o NetworkManager ou o YaST são gravadas em /etc/NetworkManager/system-connections/* ou em /etc/sysconfig/network/ifcfg-*. No GNOME, todas as conexões definidas pelo usuário são armazenadas no GConf.

Caso não haja nenhum perfil configurado, o NetworkManager criará um automaticamente com o nome Auto $INTERFACE-NAME. Isso é uma tentativa de fazer funcionar sem qualquer configuração para tantos casos quanto forem possíveis (com segurança). Se os perfis criados automaticamente não atenderem às suas necessidades, use as caixas de diálogo de configuração da conexão de rede, fornecidas pelo GNOME, para modificá-los conforme desejado. Para obter mais informações, consulte a Seção 31.3, “Configurando conexões de rede”.

23.5.3 Controlando e bloqueando recursos do NetworkManager

Em máquinas administradas centralmente, determinados recursos do NetworkManager podem ser controlados ou desabilitados com o PolKit, por exemplo, se um usuário tiver permissão para modificar as conexões definidas pelo administrador ou para definir as próprias configurações de rede. Para ver ou mudar as respectivas políticas do NetworkManager, inicie a ferramenta gráfica Authorizations para o PolKit. Na árvore do lado esquerdo, elas se encontram abaixo da entrada network-manager-settings. Para ver uma introdução ao PolKit e saber detalhes de como usá-lo, consulte o Chapter 18, The Polkit authentication framework.

23.6 Configurando uma conexão de rede manualmente

A configuração manual do software de rede deve ser a última alternativa. É recomendável usar o YaST. Entretanto, essas informações de base sobre a configuração de rede também podem ajudar você na utilização do YaST.

23.6.1 Configuração de rede com wicked

A ferramenta e biblioteca chamada wicked dispõe de uma nova estrutura para configuração de rede.

Um dos desafios do gerenciamento de interface de rede tradicional é que as diferentes camadas de gerenciamento de rede são misturadas desorganizadamente em um único script ou, no máximo, em dois scripts diferentes. Esses scripts interagem entre si de maneira mal definida. Isso leva a problemas imprevisíveis, restrições e convenções obscuras etc. Várias camadas de hacks especiais para muitos cenários diferentes aumentam a carga de manutenção. Estão sendo usados protocolos de configuração de endereço que são implementados por meio de daemons como o dhcpcd, que pouco se interagem com o restante da infraestrutura. Esquemas de nomeação de interface ruins que exigem suporte pesado a udev são introduzidos para obter identificação persistente das interfaces.

A ideia do wicked é analisar o problema de várias maneiras. Nenhuma delas é totalmente inovadora, mas esperamos que, ao tentar reunir ideias de diferentes projetos, seja criada uma solução global melhor.

Uma abordagem é usar um modelo de cliente/servidor. Dessa forma, o wicked pode definir recursos padronizados para ações como configuração de endereço que se integrem bem à estrutura geral. Por exemplo, ao usar a configuração de um endereço específico, o administrador pode solicitar que uma interface seja configurada por DHCP ou IPv4 zeroconf. Nesse caso, o serviço de configuração de endereço simplesmente obtém o aluguel do servidor e o transfere para o processo do servidor wicked, que instala os endereços e as rotas solicitados.

A outra abordagem para analisar o problema é impor o aspecto de organização em camadas. Para qualquer tipo de interface de rede, é possível definir um serviço dbus que configure a camada do dispositivo da interface de rede: VLAN, ponte, ligação ou dispositivo paravirtualizado. Uma funcionalidade comum, como a configuração de endereço, é implementada por serviços de junção, que são colocados em camadas sobre esses serviços específicos do dispositivo, sem ter que implementá-los especificamente.

A estrutura do wicked implementa esses dois aspectos usando uma variedade de serviços dbus, que são anexados a uma interface de rede de acordo com o seu tipo. Veja a seguir uma visão geral simples da hierarquia de objeto no wicked.

Cada interface de rede é representada por um objeto filho de /org/opensuse/Network/Interfaces. O nome do objeto filho é dado por seu ifindex. Por exemplo, a interface de loopback, que geralmente tem ifindex 1, é /org/opensuse/Network/Interfaces/1, a primeira interface Ethernet registrada é /org/opensuse/Network/Interfaces/2.

Cada interface de rede tem uma classe associada, que é usada para selecionar as interfaces dbus suportadas. Por padrão, cada interface de rede pertence à classe netif, e o wickedd anexa automaticamente todas as interfaces compatíveis com essa classe. Na implementação atual, isso inclui as seguintes interfaces:

org.opensuse.Network.Interface

Funções de interface de rede genéricas, como mover o link para cima ou para baixo, atribuir uma MTU, etc

org.opensuse.Network.Addrconf.ipv4.dhcp, org.opensuse.Network.Addrconf.ipv6.dhcp, org.opensuse.Network.Addrconf.ipv4.auto

Serviços de configuração de endereço para DHCP, IPv4 zeroconf, etc

Além disso, as interfaces de rede podem exigir ou oferecer mecanismos de configuração especiais. Para um dispositivo Ethernet, por exemplo, você deve controlar a velocidade do link, descarregar o checksum etc. Para fazer isso, os dispositivos Ethernet têm uma classe própria chamada netif-ethernet, que é uma subclasse de netif. Como consequência, as interfaces dbus atribuídas a uma interface Ethernet incluem todos os serviços relacionados anteriormente e mais o org.opensuse.Network.Ethernet, um serviço disponível apenas para os objetos pertencentes à classe netif-ethernet.

Semelhantemente, existem classes para tipos de interface como pontes, VLANs, ligações ou infinibands.

Como você interage com uma interface do tipo da VLAN (que é realmente uma interface de rede virtual sobre um dispositivo Ethernet) que precisa ser criada pela primeira vez? Para isso, o wicked define interfaces de fábrica, como org.opensuse.Network.VLAN.Factory. Esse tipo de interface de fábrica oferece uma única função que permite criar uma interface do tipo solicitado. Essas interfaces de fábrica são anexadas ao nó da lista /org/opensuse/Network/Interfaces.

23.6.1.1 Arquitetura e recursos do wicked

O serviço wicked é composto por várias partes, conforme mostrado em Figura 23.4, “Arquitetura do wicked.

Arquitetura do wicked
Figura 23.4: Arquitetura do wicked

O wicked suporta o seguinte:

  • Back ends de arquivo de configuração para analisar os arquivos /etc/sysconfig/network no estilo SUSE.

  • Um back end de configuração interno para representar a configuração da interface de rede em XML.

  • Ativação e encerramento de interfaces de rede normais, como Ethernet ou InfiniBand, VLAN, ponte, ligações, tun, tap, dummy, macvlan, macvtap, hsi, qeth, iucv e dispositivos wireless (com limite de uma rede wpa-psk/eap).

  • Um cliente DHCPv4 e um cliente DHCPv6 incorporados.

  • O daemon nanny (habilitado por padrão) ajuda a ativar automaticamente as interfaces configuradas quando o dispositivo está disponível (hot plug de interface) e definir a configuração de IP quando um link (operadora) é detectado. Consulte a Seção 23.6.1.3, “Nanny” para obter mais informações.

  • O wicked foi implementado como um grupo de serviços DBus que estão integrados ao systemd. Dessa forma, os comandos comuns do systemctl são aplicados ao wicked.

23.6.1.2 Usando wicked

No SUSE Linux Enterprise, o wicked é executado por padrão. Para saber o que está habilitado no momento e se está em execução, chame:

systemctl status network

Se o wicked estiver habilitado, você verá alguma indicação nestas linhas:

wicked.service - wicked managed network interfaces
    Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled)
    ...

Se algo diferente estiver em execução (por exemplo, o NetworkManager), e você quiser alterar para o wicked, primeiro interrompa o que estiver em execução e, em seguida, habilite o wicked:

systemctl is-active network && \
systemctl stop      network
systemctl enable --force wicked

Isso habilita os serviços do wicked, cria o link do álias network.service com o álias wicked.service e inicia a rede na próxima inicialização.

Iniciando o processo do servidor:

systemctl start wickedd

Esse procedimento inicia o wickedd (o servidor principal) e os suplicantes associados:

/usr/lib/wicked/bin/wickedd-auto4 --systemd --foreground
/usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground
/usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground
/usr/sbin/wickedd --systemd --foreground
/usr/sbin/wickedd-nanny --systemd --foreground

Em seguida, ative a rede:

systemctl start wicked

Se preferir, use o álias network.service:

systemctl start network

Estes comandos usam as fontes de configuração padrão ou do sistema, conforme definido em /etc/wicked/client.xml.

Para habilitar a depuração, defina WICKED_DEBUG em /etc/sysconfig/network/config, por exemplo:

WICKED_DEBUG="all"

Ou para omiti-la:

WICKED_DEBUG="all,-dbus,-objectmodel,-xpath,-xml"

Use o utilitário cliente para exibir as informações de todas as interfaces ou da interface especificada com IFNAME:

wicked show all
wicked show IFNAME

Na saída XML:

wicked show-xml all
wicked show-xml IFNAME

Ativando uma interface:

wicked ifup eth0
wicked ifup wlan0
...

Como não há nenhuma fonte de configuração especificada, o cliente do wicked verifica suas fontes de configuração padrão definidas em /etc/wicked/client.xml:

  1. firmware: iBFT (iSCSI Boot Firmware Table)

  2. Arquivos compat: ifcfg, implementados para compatibilidade

O que o wicked obtiver destas fontes para determinada interface será aplicado. A ordem de importância desejada é firmware e depois compat, o que pode ser mudado no futuro.

Para obter mais informações, consulte a página de manual de wicked.

23.6.1.3 Nanny

Nanny é um daemon orientado por eventos e políticas que é responsável por cenários assíncronos ou não solicitados, como dispositivos de hot plug. Portanto, o daemon nanny ajuda a iniciar ou reiniciar dispositivos atrasados ou temporariamente ausentes. O Nanny monitora as mudanças em dispositivos e links e integra novos dispositivos definidos pelo conjunto de políticas atual. O Nanny continua a configuração, mesmo que o ifup já tenha saído por causa das restrições de tempo de espera especificadas.

Por padrão, o daemon nanny está ativo no sistema. Ele é habilitado no arquivo de configuração /etc/wicked/common.xml:

<config>
  ...
  <use-nanny>true</use-nanny>
</config>

Essa configuração faz com que o ifup e o ifreload apliquem uma política com a configuração efetiva ao daemon nanny. Depois disso, o nanny configura o wickedd e, dessa forma, garante o suporte a hot plug. Ele aguarda por eventos ou mudanças (como novos dispositivos ou ativação de operadora) em segundo plano.

23.6.1.4 Ativando várias interfaces

Para ligações e pontes, convém definir a topologia inteira do dispositivo em um arquivo (ifcfg-bondX) e ativá-la de uma vez. Na sequência, o wicked poderá ativar a configuração inteira, se você especificar os nomes das interfaces de nível superior (da ponte ou da ligação):

wicked ifup br0

Esse comando configura automaticamente a ponte e suas dependências na ordem apropriada, sem necessidade de listar as dependências (portas e outras) separadamente.

Para ativar várias interfaces em um comando:

wicked ifup bond0 br0 br1 br2

Ou também todas as interfaces:

wicked ifup all

23.6.1.5 Usando túneis com o wicked

O TUNNEL_DEVICE é usado quando você precisa utilizar túneis com Wicked. Ele permite especificar um nome de dispositivo opcional para vincular o túnel ao dispositivo. Os pacotes tunneled apenas são roteados por meio desse dispositivo.

Para obter mais informações, consulte o man 5 ifcfg-tunnel.

23.6.1.6 Processando mudanças incrementais

Com o wicked, não há necessidade de desativar uma interface para reconfigurá-la (exceto se exigido pelo kernel). Por exemplo, para adicionar outro endereço IP ou rota a uma interface de rede estaticamente configurada, adicione o endereço IP à definição da interface e execute outra operação ifup. O servidor tentará de tudo para atualizar apenas as configurações que foram mudadas. Isso vale para as opções no nível do link, como a MTU do dispositivo ou o endereço MAC, e para as configurações no nível da rede, como endereços, rotas ou até mesmo o modo de configuração de endereço (por exemplo, ao mover de uma configuração estática para DHCP).

Claro que as coisas se tornam mais complicadas quando há interfaces virtuais combinadas a vários dispositivos reais, como pontes ou ligações. Para dispositivos acoplados, é impossível mudar determinados parâmetros enquanto o dispositivo está ativado. Se você fizer isso, haverá erro.

No entanto, o que ainda deve funcionar é a adição ou remoção dos dispositivos filho de uma ligação ou ponte, ou a escolha de uma interface principal da ligação.

23.6.1.7 Extensões do wicked: configuração de endereço

O wicked foi desenvolvido para ser extensível com scripts shell. É possível definir as extensões no arquivo config.xml.

Atualmente, há várias classes de extensões suportadas:

  • configuração de link: são scripts responsáveis por configurar a camada de link do dispositivo de acordo com a configuração fornecida pelo cliente e por desconfigurá-la novamente.

  • configuração de endereço: são scripts responsáveis por gerenciar a configuração de endereço de um dispositivo. Geralmente, a configuração de endereço e o DHCP são gerenciados pelo próprio wicked, mas podem ser implementados por meio de extensões.

  • extensão de firewall: estes scripts podem aplicar regras de firewall.

Normalmente, as extensões possuem um comando de início e parada, um arquivo pid opcional e um conjunto de variáveis de ambiente que são passadas para o script.

Para ilustrar como isso deve funcionar, observe a extensão de firewall definida em etc/server.xml:

<dbus-service interface="org.opensuse.Network.Firewall">
 <action name="firewallUp"   command="/etc/wicked/extensions/firewall up"/>
 <action name="firewallDown" command="/etc/wicked/extensions/firewall down"/>

 <!-- default environment for all calls to this extension script -->
 <putenv name="WICKED_OBJECT_PATH" value="$object-path"/>
 <putenv name="WICKED_INTERFACE_NAME" value="$property:name"/>
 <putenv name="WICKED_INTERFACE_INDEX" value="$property:index"/>
</dbus-service>

A extensão está anexada à tag <dbus-service> e define comandos a serem executados para as ações dessa interface. Além disso, a declaração pode definir e inicializar as variáveis de ambiente passadas para as ações.

23.6.1.8 Extensões do wicked: arquivos de configuração

É possível estender a administração de arquivos de configuração também com scripts. Por exemplo, as atualizações DNS dos aluguéis são definitivamente administradas pelo script extensions/resolver, com o comportamento configurado em server.xml:

<system-updater name="resolver">
 <action name="backup" command="/etc/wicked/extensions/resolver backup"/>
 <action name="restore" command="/etc/wicked/extensions/resolver restore"/>
 <action name="install" command="/etc/wicked/extensions/resolver install"/>
 <action name="remove" command="/etc/wicked/extensions/resolver remove"/>
</system-updater>

Quando uma atualização é lançada no wickedd, as rotinas do atualizador do sistema analisam o aluguel e chamam os comandos apropriados (backup, install etc.) no script do resolver. Isso, por sua vez, define as configurações de DNS usando /sbin/netconfig ou manualmente gravando /run/netconfig/resolv.conf como fallback.

23.6.2 Arquivos de configuração

Esta seção fornece uma visão geral dos arquivos de configuração de rede e explica sua finalidade e formato usado.

23.6.2.1 /etc/wicked/common.xml

O arquivo /etc/wicked/common.xml inclui definições comuns que devem ser usadas por todos os aplicativos. Ele é originado/incluído por outros arquivos de configuração nesse diretório. Você pode usar esse arquivo para habilitar a depuração em todos os componentes do wicked, mas recomendamos usar o arquivo /etc/wicked/local.xml para essa finalidade. Você poderá perder suas mudanças após a aplicação de atualizações de manutenção, pois o /etc/wicked/common.xml talvez seja sobregravado. O arquivo /etc/wicked/common.xml inclui o /etc/wicked/local.xml na instalação padrão, portanto, você normalmente não precisa modificar o /etc/wicked/common.xml.

Para desabilitar o nanny definindo <use-nanny> como false, reinicie o wickedd.service e execute o seguinte comando para aplicar todas as configurações e políticas:

> sudo wicked ifup all
Nota
Nota: Arquivos de configuração

Os programas wickedd, wicked ou nanny tentarão ler o /etc/wicked/common.xml se não existir um arquivo de configuração próprio.

23.6.2.2 /etc/wicked/server.xml

O arquivo /etc/wicked/server.xml é lido pelo processo de servidor wickedd na inicialização. O arquivo armazena as extensões no /etc/wicked/common.xml. Além do mais, esse arquivo configura o processamento de um resolver e o recebimento de informações dos suplicantes addrconf, por exemplo, DHCP.

É recomendável adicionar as mudanças necessárias para esse arquivo a um arquivo /etc/wicked/server-local.xml separado, que é incluído por /etc/wicked/server.xml. Usando um arquivo separado, você evita sobregravar as mudanças feitas durante as atualizações de manutenção.

23.6.2.3 /etc/wicked/client.xml

O /etc/wicked/client.xml é usado pelo comando wicked. O arquivo especifica o local de um script usado durante a descoberta de dispositivos gerenciados pelo ibft e define os locais das configurações de interface de rede.

É recomendável adicionar as mudanças necessárias para esse arquivo a um arquivo /etc/wicked/client-local.xml separado, que é incluído por /etc/wicked/server.xml. Usando um arquivo separado, você evita sobregravar as mudanças feitas durante as atualizações de manutenção.

23.6.2.4 /etc/wicked/nanny.xml

O /etc/wicked/nanny.xml configura tipos de camadas de link. É recomendável adicionar a configuração específica a um arquivo separado: /etc/wicked/nanny-local.xml para evitar perda das mudanças durante as atualizações de manutenção.

23.6.2.5 /etc/sysconfig/network/ifcfg-*

Estes arquivos contêm as configurações tradicionais das interfaces de rede.

Nota
Nota: wicked e os arquivos ifcfg-*

O wicked lerá esses arquivos se você especificar o prefixo compat:. De acordo com a configuração padrão do SUSE Linux Enterprise Desktop no /etc/wicked/client.xml, o wicked tenta esses arquivos antes dos arquivos de configuração XML em /etc/wicked/ifconfig.

O switch --ifconfig é fornecido basicamente para fins de teste. Se especificado, as fontes de configuração padrão definidas em /etc/wicked/ifconfig não serão aplicadas.

Os arquivos ifcfg-* incluem informações como o modo de início e o endereço IP. Os parâmetros possíveis são descritos na página de manual de ifup. Além disso, a maioria das variáveis dos arquivos dhcp e wireless poderá ser usada nos arquivos ifcfg-* se uma configuração geral for usada para apenas uma interface. No entanto, a maioria das variáveis /etc/sysconfig/network/config é global e não pode ser substituída nos arquivos ifcfg. Por exemplo, as variáveis NETCONFIG_* são globais.

Para configurar as interfaces do macvlan e do macvtab, consulte as páginas de manual ifcfg-macvlan e ifcfg-macvtap. Por exemplo, para a interface macvlan, insira ifcfg-macvlan0 com as seguintes configurações:

STARTMODE='auto'
MACVLAN_DEVICE='eth0'
#MACVLAN_MODE='vepa'
#LLADDR=02:03:04:05:06:aa

Para o ifcfg.template, consulte Seção 23.6.2.6, “/etc/sysconfig/network/config, /etc/sysconfig/network/dhcp e /etc/sysconfig/network/wireless.

23.6.2.6 /etc/sysconfig/network/config, /etc/sysconfig/network/dhcp e /etc/sysconfig/network/wireless

O arquivo config contém configurações gerais para o comportamento de ifup, ifdown e ifstatus. O dhcp contém configurações para DHCP, e o wireless para placas LAN wireless. Nos três arquivos de configuração, as variáveis estão em forma de comentário. Algumas variáveis de /etc/sysconfig/network/config também podem ser usadas nos arquivos ifcfg-*, em que recebem uma prioridade mais alta. O arquivo /etc/sysconfig/network/ifcfg.template lista as variáveis que podem ser especificadas para cada interface. No entanto, a maioria das variáveis /etc/sysconfig/network/config é global e não pode ser substituída nos arquivos ifcfg. Por exemplo, as variáveis NETWORKMANAGER ou NETCONFIG_* são globais.

Nota
Nota: Usando o DHCPv6

No SUSE Linux Enterprise 11, o DHCPv6 costumava funcionar mesmo nas redes em que os RAs (Router Advertisements – Anúncios de Roteador) IPv6 não estavam configurados apropriadamente. A partir do SUSE Linux Enterprise 12, o DHCPv6 exige que pelo menos um dos roteadores na rede envie RAs indicando que a rede é gerenciada por DHCPv6.

Para as redes nas quais o roteador não pode ser configurado corretamente, a opção ifcfg permite ao usuário anular esse comportamento especificando DHCLIENT6_MODE='managed' no arquivo ifcfg. É possível também ativar essa correção alternativa com um parâmetro de boot no sistema de instalação:

ifcfg=eth0=dhcp6,DHCLIENT6_MODE=managed

23.6.2.7 /etc/sysconfig/network/routes e /etc/sysconfig/network/ifroute-*

O roteamento estático de pacotes TCP/IP é determinado pelos arquivos /etc/sysconfig/network/routes e /etc/sysconfig/network/ifroute-*. Todas as rotas estáticas exigidas pelas várias tarefas do sistema podem ser especificadas em /etc/sysconfig/network/routes: rotas para um host, rotas para um host via gateway e rotas para uma rede. Para cada interface que necessite de um roteamento individual, defina um arquivo de configuração adicional: /etc/sysconfig/network/ifroute-*. Substitua o curinga (*) pelo nome da interface. As entradas nos arquivos de configuração de roteamento terão esta aparência:

# Destination     Gateway           Netmask            Interface  Options

O destino da rota está na primeira coluna. Essa coluna pode conter o endereço IP de uma rede ou host ou, no caso de servidores de nomes acessíveis, o nome completo da rede ou do host. A rede deve ser gravada em notação CIDR (endereço com o comprimento do prefixo de roteamento associado), como 10.10.0.0/16 para rotas IPv4 ou fc00::/7 para rotas IPv6. A palavra-chave default indica que a rota é o gateway padrão na mesma família de endereços do gateway. Para dispositivos sem gateway, use destinos explícitos 0.0.0.0/0 ou ::/0.

A segunda coluna contém o gateway padrão ou um gateway por meio do qual um host ou uma rede podem ser acessados.

A terceira coluna foi descontinuada; ela antes incluía a máscara de rede IPv4 do destino. Para rotas IPv6, rota padrão ou ao usar o comprimento do prefixo (notação CIDR) na primeira coluna, digite um traço (-) aqui.

A quarta coluna contém o nome da interface. Se você a deixar vazia usando um traço (-), poderá provocar um comportamento não intencional em /etc/sysconfig/network/routes. Para obter mais informações, consulte a página de manual de routes.

Uma quinta coluna (opcional) pode ser usada para inserir opções especiais. Para obter detalhes, consulte a página de manual de routes.

Exemplo 23.5: Interfaces de rede comuns e algumas rotas estáticas
# --- IPv4 routes in CIDR prefix notation:
# Destination     [Gateway]         -                  Interface
127.0.0.0/8       -                 -                  lo
204.127.235.0/24  -                 -                  eth0
default           204.127.235.41    -                  eth0
207.68.156.51/32  207.68.145.45     -                  eth1
192.168.0.0/16    207.68.156.51     -                  eth1

# --- IPv4 routes in deprecated netmask notation"
# Destination     [Dummy/Gateway]   Netmask            Interface
#
127.0.0.0         0.0.0.0           255.255.255.0      lo
204.127.235.0     0.0.0.0           255.255.255.0      eth0
default           204.127.235.41    0.0.0.0            eth0
207.68.156.51     207.68.145.45     255.255.255.255    eth1
192.168.0.0       207.68.156.51     255.255.0.0        eth1

# --- IPv6 routes are always using CIDR notation:
# Destination     [Gateway]                -           Interface
2001:DB8:100::/64 -                        -           eth0
2001:DB8:100::/32 fe80::216:3eff:fe6d:c042 -           eth0

23.6.2.8 /var/run/netconfig/resolv.conf

O domínio ao qual o host pertence está especificado em /var/run/netconfig/resolv.conf (palavra-chave search). É possível especificar até seis domínios com um total de 256 caracteres com a opção search. Durante a resolução de um nome incompleto, uma tentativa de gerar um nome será feita anexando as entradas de search individuais. É possível especificar até três servidores de nomes com a opção nameserver, cada um em sua própria linha. Os comentários são precedidos por cerquilha ou ponto e vígula (# ou ;). Como um exemplo, consulte o Exemplo 23.6, “/var/run/netconfig/resolv.conf.

Entretanto, o /etc/resolv.conf não deve ser editado manualmente. Ele é gerado pelo script netconfig e é um link simbólico para /run/netconfig/resolv.conf. Para definir uma configuração DNS estática sem usar o YaST, edite as variáveis apropriadas manualmente no arquivo /etc/sysconfig/network/config:

NETCONFIG_DNS_STATIC_SEARCHLIST

lista de nomes de domínios DNS usados para pesquisa de nomes de host

NETCONFIG_DNS_STATIC_SERVERS

lista de endereços IP de servidor de nomes usados para pesquisa de nomes de host

NETCONFIG_DNS_FORWARDER

o nome do encaminhador de DNS que precisa ser configurado, por exemplo bind ou resolver

NETCONFIG_DNS_RESOLVER_OPTIONS

opções arbitrárias que serão gravadas em /var/run/netconfig/resolv.conf, por exemplo:

debug attempts:1 timeout:10

Para obter mais informações, consulte a página de manual de resolv.conf.

NETCONFIG_DNS_RESOLVER_SORTLIST

lista com até 10 itens, por exemplo:

130.155.160.0/255.255.240.0 130.155.0.0

Para obter mais informações, consulte a página de manual de resolv.conf.

Para desabilitar a configuração do DNS usando o netconfig, defina NETCONFIG_DNS_POLICY=''. Para obter mais informações sobre o netconfig, consulte a página de manual do netconfig(8) (man 8 netconfig).

Exemplo 23.6: /var/run/netconfig/resolv.conf
# Our domain
search example.com
#
# We use dns.example.com (192.168.1.116) as nameserver
nameserver 192.168.1.116

23.6.2.9 /sbin/netconfig

O netconfig é uma ferramenta modular destinada a gerenciar configurações de rede adicionais. Ele funde as configurações definidas estaticamente com as configurações fornecidas pelos mecanismos de configuração automática, como DHCP ou PPP, de acordo com uma política predefinida. As mudanças necessárias são aplicadas ao sistema chamando-se os módulos do netconfig responsáveis pela modificação de um arquivo de configuração e pela reinicialização de um serviço ou uma ação semelhante.

O netconfig reconhece três ações principais. Os comandos netconfig modify e netconfig remove são usados por daemons, como DHCP ou PPP, para inserir ou remover configurações do netconfig. Apenas o comando netconfig update está disponível para o usuário:

modify

O comando netconfig modify modifica as configurações dinâmicas específicas de interface e de serviço atuais, além de atualizar a configuração da rede. O netconfig lê as configurações da entrada padrão ou de um arquivo especificado pela opção --lease-file FILENAME e as armazena internamente até a reinicialização do sistema (ou a próxima ação modify ou remove). As configurações que já existirem para a mesma combinação de interface e serviço serão sobregravadas. A interface é especificada pelo parâmetro -i INTERFACE_NAME. O serviço é especificado pelo parâmetro -s SERVICE_NAME.

remove

O comando netconfig remove remove as configurações dinâmicas fornecidas por uma ação de edição para a combinação de interface e serviço especificada e atualiza a configuração da rede. A interface é especificada pelo parâmetro -i INTERFACE_NAME. O serviço é especificado pelo parâmetro -s SERVICE_NAME.

update

O comando netconfig update atualiza a configuração da rede usando as configurações atuais. Isso é útil quando a política ou a configuração estática é mudada. Use o parâmetro -m MODULE_TYPE para atualizar apenas um serviço especificado (dns, nis ou ntp).

A política do netconfig e as configurações estáticas são definidas manualmente ou por meio do YaST no arquivo /etc/sysconfig/network/config. As configurações dinâmicas fornecidas pelas ferramentas de configuração automática, como DHCP ou PPP, são entregues diretamente por essas ferramentas com as ações netconfig modify e netconfig remove. Quando o NetworkManager está habilitado, o netconfig (no modo de política auto) usa apenas as configurações do NetworkManager, ignorando as configurações de qualquer outra interface configurada pelo método tradicional ifup. Se o NetworkManager não fornecer nenhuma configuração, as configurações estáticas serão usadas como fallback. Não há suporte para a utilização mista do NetworkManager e do método wicked.

Para obter mais informações sobre o netconfig, consulte o man 8 netconfig.

23.6.2.10 /etc/hosts

Neste arquivo, mostrado em Exemplo 23.7, “/etc/hosts, os endereços IP foram atribuídos a nomes de host. Se nenhum servidor de nomes for implementado, todos os hosts nos quais uma conexão IP for configurada precisarão ser listados aqui. Para cada host, digite uma linha no arquivo com o endereço IP, o nome completo do host e o nome de host. O endereço IP precisa estar no início da linha e as entradas separadas por espaços vazios e guias. Comentários são sempre precedidos pelo sinal #.

Exemplo 23.7: /etc/hosts
127.0.0.1 localhost
192.168.2.100 jupiter.example.com jupiter
192.168.2.101 venus.example.com venus

23.6.2.11 /etc/networks

Aqui, os nomes de rede são convertidos em endereços de rede. O formato é semelhante ao do arquivo hosts, exceto que os nomes de rede precedem os endereços. Consulte o Exemplo 23.8, “/etc/networks.

Exemplo 23.8: /etc/networks
loopback     127.0.0.0
localnet     192.168.0.0

23.6.2.12 /etc/host.conf

Resolução de nomes — a conversão de nomes de host e de rede através da biblioteca resolver é controlada por esse arquivo. Esse arquivo é usado somente para programas vinculados a libc4 ou libc5. Para programas glibc atuais, consulte as configurações em /etc/nsswitch.conf. Cada parâmetro deve ser sempre digitado em uma linha separada. Os comentários são precedidos por um sinal #. Tabela 23.2, “Parâmetros para /etc/host.conf” mostra os parâmetros disponíveis. Uma amostra do /etc/host.conf é mostrada no Exemplo 23.9, “/etc/host.conf.

Tabela 23.2: Parâmetros para /etc/host.conf

order hosts, bind

Especifica em que ordem os serviços são acessados para a resolução de nomes. Os argumentos disponíveis são (separados por espaços vazios ou vírgulas):

hosts: pesquisa o arquivo /etc/hosts

bind: acessa um servidor de nomes

nis: usa o NIS

multi on/off

Define se um host inserido em /etc/hosts pode ter vários endereços IP.

nospoof on spoofalert on/off

Esses parâmetros influenciam o spoof do servidor de nomes, mas não exercem qualquer influência na configuração da rede.

trim domainname

O nome de domínio especificado será separado do nome de host após a resolução de nome de host (desde que o nome de host inclua o nome de domínio). Essa opção é útil apenas quando os nomes do domínio local estão no arquivo /etc/hosts, mas ainda devem ser reconhecidos com os nomes de domínio anexados.

Exemplo 23.9: /etc/host.conf
# We have named running
order hosts bind
# Allow multiple address
multi on

23.6.2.13 /etc/nsswitch.conf

O lançamento do GNU C Library 2.0 foi acompanhado pelo lançamento do NSS (Name Service Switch). Consulte a página de manual nsswitch.conf(5) e o The GNU C Library Reference Manual (Manual de Referência da Biblioteca GNU C) para obter detalhes.

A ordem das consultas é definida no arquivo /etc/nsswitch.conf. Uma amostra do nsswitch.conf é mostrada no Exemplo 23.10, “/etc/nsswitch.conf. Comentários são precedidos pelos sinais #. Nesse exemplo, a entrada no banco de dados hosts significa que uma solicitação foi enviada para /etc/hosts (files) através do DNS.

Exemplo 23.10: /etc/nsswitch.conf
passwd:     compat
group:      compat

hosts:      files dns
networks:   files dns

services:   db files
protocols:  db files
rpc:        files
ethers:     files
netmasks:   files
netgroup:   files nis
publickey:  files

bootparams: files
automount:  files nis
aliases:    files nis
shadow:     compat

Os bancos de dados disponíveis em NSS estão listados na Tabela 23.3, “Bancos de dados disponíveis por /etc/nsswitch.conf”. As opções de configuração para bancos de dados NSS estão listadas na Tabela 23.4, “Opções de configuração para bancos de dados NSS”.

Tabela 23.3: Bancos de dados disponíveis por /etc/nsswitch.conf

aliases

Álias de correio implementados por sendmail; consulte man 5 aliases.

ethers

Endereços de Ethernet.

netmasks

Lista de redes e suas máscaras de sub-rede. Apenas necessário quando se usa sub-redes.

group

Grupos de usuários utilizados por getgrent. Consulte também a página de manual para group.

hosts

Nomes de host e endereços IP usados por gethostbyname e funções similares.

netgroup

Listas de usuários e hosts válidos na rede para controlar permissões de acesso. Consulte a página de manual netgroup(5).

networks

Nomes e endereços de rede usados por getnetent.

publickey

Chaves públicas e secretas de Secure_RPC usadas pelo NFS e NIS+.

passwd

Senhas de usuários usadas por getpwent. Consulte a página de manual do passwd(5).

protocols

Protocolos de rede usados por getprotoent. Consulte a página de manual do protocols(5).

rpc

Nomes e endereços de chamada de procedimento remoto (RPC, Remote Procedure Call) usados por getrpcbyname e funções similares.

services

Serviços de rede, usados por getservent.

shadow

Senhas transitórias de usuários, usadas por getspnam. Consulte a página de manual do shadow(5).

Tabela 23.4: Opções de configuração para bancos de dados NSS

files

arquivos de acesso direto, por exemplo, /etc/aliases

db

acesso através de um banco de dados

nis, nisplus

NIS, consulte também o Chapter 3, Using NIS

dns

só pode ser usado como extensão de hosts e networks

compat

só pode ser usado como extensão de passwd, shadow e group

23.6.2.14 /etc/nscd.conf

Esse arquivo é usado para configurar o nscd (name service cache daemon). Consulte as páginas de manual nscd(8) e nscd.conf(5). Por padrão, as entradas do sistema de passwd, groups e hosts são armazenadas em cache pelo nscd. Isso é importante para o desempenho dos serviços de diretório, como NIS e LDAP; pois, do contrário, a conexão de rede precisará ser usada para todo acesso a nomes, grupos ou hosts.

Se o armazenamento em cache de passwd estiver ativado, normalmente levará quinze segundos para que um usuário local recentemente adicionado seja reconhecido. Reduza este tempo de espera reiniciando o nscd com:

> sudo systemctl restart nscd

23.6.2.15 /etc/HOSTNAME

/etc/HOSTNAME contém o FQHN (fully qualified host name – nome completo do host). O nome completo do host é o nome de host com o nome de domínio anexado. Este arquivo deve incluir apenas uma linha (na qual o nome de host é definido). Ele é lido durante a inicialização da máquina.

23.6.3 Testando a configuração

Antes de gravar sua configuração nos arquivos de configuração, você pode testá-la. Para definir uma configuração de teste, use o comando ip. Para testar a conexão, use o comando ping.

O comando ip muda a configuração de rede diretamente, sem gravá-la no arquivo de configuração. A menos que você insira a configuração nos arquivos de configuração corretos, a configuração de rede mudada será perdida na reinicialização.

Nota
Nota: ifconfig e route são obsoletos

As ferramentas ifconfig e route são obsoletas. Em vez disso, use ip. O ifconfig, por exemplo, limita os nomes de interface a 9 caracteres.

23.6.3.1 Configurando uma interface de rede com ip

ip é uma ferramenta para mostrar e configurar dispositivos de rede, roteamentos, roteamento de políticas e túneis.

ip é uma ferramenta muito complexa. Sua sintaxe comum é ip OPTIONS OBJECT COMMAND. Você pode trabalhar com os seguintes objetos:

link

Este objeto representa um dispositivo de rede.

address

Este objeto representa o endereço IP do dispositivo.

neighbor

Este objeto representa uma entrada de cache ARP ou NDISC.

route

Este objeto representa a entrada da tabela de roteamento.

rule

Este objeto representa uma regra no banco de dados de políticas de roteamento.

maddress

Este objeto representa um endereço multicast.

mroute

Este objeto representa uma entrada de cache de roteamento multicast.

tunnel

Este objeto representa um túnel sobre IP.

Se nenhum comando for fornecido, será usado o comando padrão (normalmente list).

Mude o estado de um dispositivo com o comando:

> sudo ip link set DEV_NAME

Por exemplo, para desativar o dispositivo , digite eth0

> sudo ip link set eth0 down

Para ativá-lo novamente, use

> sudo ip link set eth0 up
Dica
Dica: Desconectando o dispositivo NIC

Se você desativar um dispositivo com

> sudo ip link set DEV_NAME down

a interface de rede será desabilitada no nível do software.

Para simular a perda do link como se o cabo Ethernet estivesse desconectado ou o switch conectado estivesse desligado, execute

> sudo ip link set DEV_NAME carrier off

Por exemplo, ip link set DEV_NAME down ignora todas as rotas que usam DEV_NAME, mas ip link set DEV carrier off não. Saiba que carrier off requer suporte do driver do dispositivo de rede.

Para reconectar o dispositivo à rede física, execute

> sudo ip link set DEV_NAME carrier on

Após ativar um dispositivo, você poderá configurá-lo. Para definir o endereço IP, use

> sudo ip addr add IP_ADDRESS + dev DEV_NAME

Por exemplo, para definir o endereço da interface eth0 como 192.168.12.154/30 com o broadcast padrão (opção brd), digite

> sudo ip addr add 192.168.12.154/30 brd + dev eth0

Para ter uma conexão ativa, você também precisa configurar o gateway padrão. Para definir um gateway para seu sistema, digite

> sudo ip route add default via gateway_ip_address

Para exibir todos os dispositivos, use

> sudo ip link ls

Para exibir apenas as interfaces em execução, use

> sudo ip link ls up

Para imprimir as estatísticas de interface de um dispositivo, digite

> sudo ip -s link ls DEV_NAME

Para ver mais informações úteis, especificamente sobre dispositivos de rede virtuais, digite

> sudo ip -d link ls DEV_NAME

Além disso, para ver os endereços de camada de rede (IPv4, IPv6) dos dispositivos, digite

> sudo ip addr

Na saída, você pode encontrar informações sobre os endereços MAC dos dispositivos. Para mostrar todas as rotas, use

> sudo ip route show

Para obter mais informações sobre como usar o ip, digite ip help ou consulte a página de manual man 8 ip. A opção help também está disponível para todos os subcomandos ip, como:

> sudo ip addr help

Encontre o manual do ip em /usr/share/doc/packages/iproute2/ip-cref.pdf.

23.6.3.2 Testando uma conexão com o comando ping

O comando ping é a ferramenta padrão para testar o funcionamento de uma conexão TCP/IP. Ele usa o protocolo ICMP para enviar um pequeno pacote de dados, o datagrama ECHO_REQUEST, para o host de destino, solicitando uma resposta imediata. Se isso funcionar, o ping exibirá uma mensagem nesse sentido. Isso indica que o link da rede está funcionando.

O ping vai além de simplesmente testar a função da conexão entre dois computadores; ele também fornece algumas informações básicas sobre a qualidade da conexão. No Exemplo 23.11, “Saída do comando ping”, você pode ver um exemplo da saída do ping. A penúltima linha contém informações sobre o número de pacotes transmitidos e de pacotes perdidos e o tempo total de execução do ping.

Como destino, é possível usar um nome de host ou endereço IP, por exemplo, ping example.com ou ping 192.168.3.100. O programa enviará pacotes até que você pressione CtrlC.

Se você precisa apenas verificar a funcionalidade da conexão, pode limitar o número dos pacotes com a opção -c. Por exemplo, para limitar o ping a três pacotes, digite ping -c 3 example.com.

Exemplo 23.11: Saída do comando ping
ping -c 3 example.com
PING example.com (192.168.3.100) 56(84) bytes of data.
64 bytes from example.com (192.168.3.100): icmp_seq=1 ttl=49 time=188 ms
64 bytes from example.com (192.168.3.100): icmp_seq=2 ttl=49 time=184 ms
64 bytes from example.com (192.168.3.100): icmp_seq=3 ttl=49 time=183 ms
--- example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 183.417/185.447/188.259/2.052 ms

O intervalo padrão entre dois pacotes é um segundo. Para mudar o intervalo, o ping fornece a opção -i. Por exemplo, para aumentar o intervalo do ping para dez segundos, digite ping -i 10 example.com.

Em um sistema com vários dispositivos de rede, às vezes é útil enviar o ping através de um endereço de interface específico. Para isso, use a opção -I com o nome do dispositivo selecionado, por exemplo, ping -I wlan1 example.com.

Para obter mais opções e informações sobre como usar o ping, digite ping -h ou consulte a página de manual ping (8).

Dica
Dica: Executando ping de endereços IPv6

Para endereços IPv6, use o comando ping6. Observe que, para executar ping em endereços locais de link, deve-se especificar a interface com -I. O comando a seguir funcionará se o endereço for acessível via eth1:

ping6 -I eth1 fe80::117:21ff:feda:a425

23.6.4 Arquivos unit e scripts de inicialização

Além dos arquivos de configuração descritos anteriormente, há os arquivos unit do systemd e vários scripts que carregam os serviços de rede durante a inicialização da máquina. Eles são iniciados quando o sistema é alternado para o destino multi-user.target. Alguns desses arquivos unit e scripts estão descritos em Alguns arquivos unit e scripts de inicialização para programas de rede. Para obter mais informações sobre o systemd, consulte o Capítulo 19, Daemon systemd, e para obter mais informações sobre os destinos do systemd, consulte a página de manual de systemd.special (man systemd.special).

Alguns arquivos unit e scripts de inicialização para programas de rede
network.target

network.target é o destino do systemd para projeto de rede, mas seu significado depende das configurações fornecidas pelo administrador do sistema.

Para obter mais informações, consulte https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/.

multi-user.target

multi-user.target é o destino do systemd para um sistema multiusuário com todos os serviços de rede necessários.

rpcbind

Inicia o utilitário rpcbind, que converte os números de programa RPC em endereços universais. Necessário para os serviços RPC, como um servidor NFS.

ypserv

Inicia o servidor NIS.

ypbind

Inicia o cliente NIS.

/etc/init.d/nfsserver

Inicia o servidor NFS.

/etc/init.d/postfix

Controla o processo de postfix.

23.7 Configurando dispositivos de ligação

Em alguns sistemas, existe a necessidade de implementar conexões de rede compatíveis com outros requisitos além dos padrões de disponibilidade ou segurança de dados de um dispositivo Ethernet comum. Nesses casos, vários dispositivos Ethernet podem ser agregados a um único dispositivo de ligação.

A configuração do dispositivo de ligação é feita através das opções dos módulos de ligação. O comportamento é afetado principalmente pelo modo do dispositivo de ligação. Por padrão, o modo é active-backup, o que significa que uma porta de ligação diferente se tornará ativa se houver falha na porta ativa. Os seguintes modos de ligação estão disponíveis:

0 (balance-rr)

Os pacotes são transmitidos em round-robin da primeira para a última interface disponível. Fornece tolerância a falhas e equilíbrio de carga.

1 (active-backup)

Apenas uma interface de rede está ativa. Se ela falhar, uma interface diferente se tornará ativa. Essa é a configuração padrão para o SUSE Linux Enterprise Desktop. Fornece tolerância a falhas.

2 (balance-xor)

O tráfego é dividido entre todas as interfaces disponíveis com base no número de dispositivos incluídos na ligação. Esse procedimento requer suporte do switch. Fornece tolerância a falhas e equilíbrio de carga.

3 (broadcast)

Todo o tráfego é transmitido em todas as interfaces. Requer suporte do switch. Fornece tolerância a falhas.

4 (802.3ad)

Agrega as interfaces em grupos que compartilham as mesmas configurações de velocidade e duplex. Requer suporte a ethtool nos drivers de interface e um switch com suporte e configuração para Agregação de link dinâmico IEEE 802.3ad. Fornece tolerância a falhas e equilíbrio de carga.

5 (balance-tlb)

Equilíbrio de carga de transmissão adaptativa. Requer suporte a ethtool nos drivers de interface, mas não suporte a switch. Fornece tolerância a falhas e equilíbrio de carga.

6 (balance-alb)

Equilíbrio de carga adaptativo. Requer suporte a ethtool nos drivers de interface, mas não suporte a switch. Fornece tolerância a falhas e equilíbrio de carga.

Para obter uma descrição mais detalhada dos modos, consulte https://www.kernel.org/doc/Documentation/networking/bonding.txt.

Dica
Dica: Ligação e Xen

O uso de dispositivos de ligação só é interessante para máquinas que tenham várias placas de rede reais disponíveis. Na maioria das configurações, isso significa que você deve usar a configuração de ligação apenas no Dom0. Somente se você tiver várias placas de rede atribuídas a um sistema Convidado VM é que também poderá ser útil configurar a ligação em um Convidado VM.

Nota
Nota: IBM POWER: Modos de ligação 5 e 6 (balance-tlb/balance-alb) não suportados pelo ibmveth

Há um conflito com a configuração de ligação tlb/alb e o firmware do Power. Em resumo, o driver de ligação no modo tlb/alb envia pacotes de Loopback Ethernet com os dois endereços MAC de origem e destino listados como o endereço MAC Ethernet Virtual. Esses pacotes não são suportados pelo firmware do Power. Portanto, os modos de ligação 5 e 6 não são suportados pelo ibmveth.

Para configurar um dispositivo de ligação, siga este procedimento:

  1. Execute YaST › Sistema › Configurações de Rede.

  2. Use Adicionar e mude o Tipo de Dispositivo para Ligação. Continue com Próximo.

    Image
  3. Escolha como vai atribuir o endereço IP ao dispositivo de ligação. Há três métodos à sua disposição:

    • Nenhum Endereço IP

    • Endereço Dinâmico (com DHCP ou Zeroconf)

    • Endereço IP atribuído estaticamente

    Use o método mais apropriado ao seu ambiente.

  4. Na guia Portas de ligação, selecione os dispositivos Ethernet que devem ser incluídos na ligação ativando as caixas de seleção relacionadas.

  5. Edite as Opções do Driver de Vinculação e escolha um modo de ligação.

  6. Verifique se o parâmetro miimon=100 foi adicionado às Opções do Driver de Vinculação. Sem esse parâmetro, a integridade dos dados não é verificada regularmente.

  7. Clique em Avançar e saia do YaST clicando em OK para criar o dispositivo.

23.7.1 Hotplug de portas de ligação

Em ambientes de rede específicos (como os de Alta Disponibilidade), há casos em que você precisa substituir uma interface de porta de ligação por outra. O motivo pode ser uma falha constante no dispositivo de rede. A solução é configurar o hotplug das portas de ligação.

A ligação é configurada como de costume (de acordo com man 5 ifcfg-bonding), por exemplo:

ifcfg-bond0
          STARTMODE='auto' # or 'onboot'
          BOOTPROTO='static'
          IPADDR='192.168.0.1/24'
          BONDING_MASTER='yes'
          BONDING_SLAVE_0='eth0'
          BONDING_SLAVE_1='eth1'
          BONDING_MODULE_OPTS='mode=active-backup miimon=100'

As portas de ligação são especificadas com STARTMODE=hotplug e BOOTPROTO=none:

ifcfg-eth0
          STARTMODE='hotplug'
          BOOTPROTO='none'

ifcfg-eth1
          STARTMODE='hotplug'
          BOOTPROTO='none'

BOOTPROTO=none usa as opções de ethtool (quando fornecidas), mas não define o link ativo no ifup eth0. O motivo é que a interface da porta de ligação é controlada pelo dispositivo de ligação.

STARTMODE=hotplug faz com que a interface da porta de ligação se una à ligação automaticamente quando ela estiver disponível.

As regras do udev em /etc/udev/rules.d/70-persistent-net.rules precisam ser modificadas para corresponder ao dispositivo por ID de barramento (palavra-chave KERNELS do udev igual a "SysFS BusID" conforme visível em hwinfo --netcard), em vez do endereço MAC. Isso permite a substituição de hardware com defeito (uma placa de rede no mesmo slot, mas com MAC diferente) e evita confusão quando a ligação muda o endereço MAC de todas as suas portas de ligação.

Por exemplo:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
KERNELS=="0000:00:19.0", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"

No momento da inicialização, o network.service do systemd não espera o hotplug das portas de ligação, mas sim a ligação ficar pronta, o que requer no mínimo uma porta de ligação disponível. Quando uma das interfaces de porta de ligação é removida (desvinculação do driver NIC, rmmod do driver NIC ou remoção verdadeira do hotplug do PCI) do sistema, o kernel a remove automaticamente da ligação. Quando uma nova placa é adicionada ao sistema (substituição do hardware no slot), o udev a renomeia usando a regra de nome persistente baseada em barramento para o nome da porta de ligação e chama o ifup para ela. A chamada do ifup une-a automaticamente à ligação.

23.8 Configurando dispositivos de equipe para agrupamento de rede

Agregação de link é o termo geral que descreve a combinação (ou agregação) de uma conexão de rede para fornecer uma camada lógica. Às vezes, você encontra os termos agrupamento de canais, vínculo Ethernet, truncamento de porta etc. que são sinônimos e se referem ao mesmo conceito.

Esse conceito é bastante conhecido como ligação e foi originalmente integrado ao kernel do Linux (consulte a Seção 23.7, “Configurando dispositivos de ligação” para ver a implementação original). O termo Agrupamento de Rede é usado para fazer referência à nova implementação desse conceito.

A principal diferença entre a ligação e o Agrupamento de Rede é que o agrupamento dispõe de um conjunto de pequenos módulos do kernel responsáveis pelo fornecimento de uma interface para instâncias do teamd. Todo o restante é executado no espaço do usuário. Isso é diferente da implementação de ligação original que inclui todas as suas funcionalidades exclusivamente no kernel. Para ver uma comparação, consulte a Tabela 23.5, “Comparação de recursos entre vínculo e equipe”.

Tabela 23.5: Comparação de recursos entre vínculo e equipe
RecursoVínculoEquipe
broadcast, política TX round-robinsimsim
política TX ativa-backupsimsim
Suporte a LACP (802.3ad)simsim
política TX baseada em hashsimsim
usuário pode definir função de hashnãosim
Suporte a balanceamento de carga TX (TLB)simsim
Suporte a balanceamento de carga TX para LACPnãosim
Monitoramento de link Ethtoolsimsim
Monitoramento de link ARPsimsim
Monitoramento de link NS/NA (IPV6)nãosim
Bloqueio de RCU em caminhos TX/RXnãosim
porta prio e adesãonãosim
configuração de monitoramento de link separado por portanãosim
configuração de monitoramento de links múltiploslimitadosim
Suporte a VLANsimsim
empilhamento de vários dispositivossimsim
Fonte: https://libteam.org/files/teamdev.pp.pdf

Ambas as implementações, ligação e Agrupamento de Rede, podem ser usadas em paralelo. O Agrupamento de Rede é uma alternativa à implementação de ligação existente. Ele não a substitui.

É possível usar o Agrupamento de Rede em diversos casos de uso. Os dois casos de uso mais importantes são explicados mais adiante e envolvem:

  • Equilíbrio de carga entre dispositivos de rede diferentes.

  • Failover de um dispositivo de rede para outro em caso de falha em um dos dispositivos.

No momento, não há nenhum módulo do YaST que suporte a criação de dispositivo do agrupamento. Você precisa configurar o Agrupamento de Rede manualmente. O procedimento geral é mostrado a seguir e pode ser aplicado a todas as suas configurações de Agrupamento de Rede:

Procedimento 23.1: Procedimento geral
  1. Instale o pacote libteam-tools:

    > sudo zypper in libteam-tools
  2. Crie um arquivo de configuração em /etc/sysconfig/network/. Normalmente, esse arquivo é ifcfg-team0. Se você precisar de mais de um dispositivo de Agrupamento de Rede, numere-os em ordem crescente.

    Esse arquivo de configuração contém diversas variáveis que são explicadas nas páginas de manual (consulte man ifcfg e man ifcfg-team). Há um exemplo de configuração em seu sistema no arquivo /etc/sysconfig/network/ifcfg.template.

  3. Remova os arquivos de configuração das interfaces que serão usadas para o dispositivo de agrupamento (geralmente, ifcfg-eth0 e ifcfg-eth1).

    É recomendável fazer um backup e remover os dois arquivos. O Wicked recriará os arquivos de configuração com os parâmetros necessários para o agrupamento.

  4. Opcionalmente, verifique se tudo está incluído no arquivo de configuração do Wicked:

    > sudo wicked show-config
  5. Inicie o dispositivo de Agrupamento de Rede team0:

    > sudo wicked ifup team0

    Se você precisar de informações adicionais sobre depuração, use a opção --debug all após o subcomando all.

  6. Verifique o status do dispositivo de Agrupamento de Rede. Para fazer isso, execute os seguintes comandos:

    • Obtenha o estado da instância do teamd do Wicked:

      > sudo wicked ifstatus --verbose team0
    • Obtenha o estado de toda a instância:

      > sudo teamdctl team0 state
    • Obtenha o estado do systemd da instância do teamd:

      > sudo systemctl status teamd@team0

    Cada um deles mostra uma tela um pouco diferente, dependendo das suas necessidades.

  7. Se você precisar mudar algo no arquivo ifcfg-team0 posteriormente, recarregue sua configuração com:

    > sudo wicked ifreload team0

Não use systemctl para iniciar ou parar o dispositivo de agrupamento! Em vez disso, use o comando wicked conforme mostrado acima.

Para remover completamente o dispositivo de equipe, siga este procedimento:

Procedimento 23.2: Removendo um dispositivo de agrupamento
  1. Pare o dispositivo de Agrupamento de Rede team0:

    > sudo wicked ifdown team0
  2. Renomeie o arquivo /etc/sysconfig/network/ifcfg-team0 para /etc/sysconfig/network/.ifcfg-team0. Insira um ponto na frente do nome do arquivo para torná-lo invisível ao wicked. Se você realmente não precisa mais da configuração, também pode remover o arquivo.

  3. Recarregue a configuração:

    > sudo wicked ifreload all

23.8.1 Caso de uso: equilíbrio de carga com agrupamento de rede

O equilíbrio de carga é usado para melhorar a largura de banda. Use o seguinte arquivo de configuração para criar um dispositivo de Agrupamento de Rede com recursos de equilíbrio de carga. Prossiga com Procedimento 23.1, “Procedimento geral” para configurar o dispositivo. Verifique a saída com teamdctl.

Exemplo 23.12: Configuração para equilíbrio de carga com agrupamento de rede
STARTMODE=auto 1
BOOTPROTO=static 2
IPADDRESS="192.168.1.1/24" 2
IPADDR6="fd00:deca:fbad:50::1/64" 2

TEAM_RUNNER="loadbalance" 3
TEAM_LB_TX_HASH="ipv4,ipv6,eth,vlan"
TEAM_LB_TX_BALANCER_NAME="basic"
TEAM_LB_TX_BALANCER_INTERVAL="100"

TEAM_PORT_DEVICE_0="eth0" 4
TEAM_PORT_DEVICE_1="eth1" 4

TEAM_LW_NAME="ethtool" 5
TEAM_LW_ETHTOOL_DELAY_UP="10" 6
TEAM_LW_ETHTOOL_DELAY_DOWN="10" 6

1

Controla a inicialização do dispositivo de agrupamento. O valor de auto significa que a interface será configurada quando o serviço de rede estiver disponível e será iniciada automaticamente a cada reinicialização.

Caso você mesmo tenha necessidade de controlar o dispositivo (e impedir que ele seja iniciado automaticamente), defina STARTMODE como manual.

2

Define um endereço IP estático (neste caso, 192.168.1.1 para IPv4 e fd00:deca:fbad:50::1 para IPv6).

Se o dispositivo de Agrupamento de Rede tiver que usar um endereço IP dinâmico, defina BOOTPROTO="dhcp" e remova (ou comente) a linha com IPADDRESS e IPADDR6.

3

Define TEAM_RUNNER como loadbalance para ativar o modo de equilíbrio de carga.

4

Especifica um ou mais dispositivos que devem ser agregados para criar o dispositivo de Agrupamento de Rede.

5

Define um monitor de link para monitorar o estado dos dispositivos subordinados. O valor padrão ethtool verifica apenas se o dispositivo está ativo e é acessível. Isso torna essa verificação rápida o suficiente. No entanto, ele não verifica se o dispositivo pode realmente enviar ou receber pacotes.

Se você precisar de mais confiança na conexão, use a opção arp_ping. Ela envia pings a um host arbitrário (configurado na variável TEAM_LW_ARP_PING_TARGET_HOST). O dispositivo de Agrupamento de Rede é considerado ativo apenas quando as respostas são recebidas.

6

Define o atraso em milissegundos entre o link ficar ativo (ou inativo) e o executor ser notificado.

23.8.2 Caso de uso: failover com agrupamento de rede

O failover é usado para garantir alta disponibilidade de um dispositivo de Agrupamento de Rede crítico envolvendo um dispositivo de rede de backup paralelo. O dispositivo de rede de backup é executado o tempo todo e entra em ação em caso de falha no dispositivo principal.

Use o seguinte arquivo de configuração para criar um dispositivo de Agrupamento de Rede com recursos de failover. Prossiga com Procedimento 23.1, “Procedimento geral” para configurar o dispositivo. Verifique a saída com teamdctl.

Exemplo 23.13: Configuração do dispositivo de agrupamento de rede DHCP
STARTMODE=auto 1
BOOTPROTO=static 2
IPADDR="192.168.1.2/24" 2
IPADDR6="fd00:deca:fbad:50::2/64" 2

TEAM_RUNNER=activebackup 3
TEAM_PORT_DEVICE_0="eth0" 4
TEAM_PORT_DEVICE_1="eth1" 4

TEAM_LW_NAME=ethtool 5
TEAM_LW_ETHTOOL_DELAY_UP="10" 6
TEAM_LW_ETHTOOL_DELAY_DOWN="10" 6

1

Controla a inicialização do dispositivo de agrupamento. O valor de auto significa que a interface será configurada quando o serviço de rede estiver disponível e será iniciada automaticamente a cada reinicialização.

Caso você mesmo tenha necessidade de controlar o dispositivo (e impedir que ele seja iniciado automaticamente), defina STARTMODE como manual.

2

Define um endereço IP estático (neste caso, 192.168.1.2 para IPv4 e fd00:deca:fbad:50::2 para IPv6).

Se o dispositivo de Agrupamento de Rede tiver que usar um endereço IP dinâmico, defina BOOTPROTO="dhcp" e remova (ou comente) a linha com IPADDRESS e IPADDR6.

3

Define TEAM_RUNNER como activebackup para ativar o modo de failover.

4

Especifica um ou mais dispositivos que devem ser agregados para criar o dispositivo de Agrupamento de Rede.

5

Define um monitor de link para monitorar o estado dos dispositivos subordinados. O valor padrão ethtool verifica apenas se o dispositivo está ativo e é acessível. Isso torna essa verificação rápida o suficiente. No entanto, ele não verifica se o dispositivo pode realmente enviar ou receber pacotes.

Se você precisar de mais confiança na conexão, use a opção arp_ping. Ela envia pings a um host arbitrário (configurado na variável TEAM_LW_ARP_PING_TARGET_HOST). Apenas se as respostas forem recebidas, o dispositivo de Agrupamento de Rede será considerado ativo.

6

Define o atraso em milissegundos entre o link ficar ativo (ou inativo) e o executor ser notificado.

23.8.3 Caso de uso: VLAN em dispositivo de agrupamento

VLAN é a abreviação de Virtual Local Area Network (Rede Local Virtual). Ela permite a execução de várias Ethernets lógicas (virtuais) em uma única Ethernet física. Ela divide logicamente a rede em diferentes domínios de broadcast para que os pacotes sejam trocados apenas entre portas que são designadas para a mesma VLAN.

O seguinte caso de uso cria duas VLANs estáticas na parte superior de um dispositivo de equipe:

  • vlan0, vinculada ao endereço IP 192.168.10.1

  • vlan1, vinculada ao endereço IP 192.168.20.1

Proceda da seguinte maneira:

  1. Habilite as tags VLAN no switch. Para usar o equilíbrio de carga em seu dispositivo de equipe, o switch precisa ser compatível com LACP (Link Aggregation Control Protocol – Protocolo de Controle de Agregação de Links) (802.3 ad). Consulte os detalhes no manual do seu hardware.

  2. Decida se você deseja usar equilíbrio de carga ou failover em seu dispositivo de equipe. Configure o dispositivo de equipe conforme descrito na Seção 23.8.1, “Caso de uso: equilíbrio de carga com agrupamento de rede” ou na Seção 23.8.2, “Caso de uso: failover com agrupamento de rede”.

  3. Em /etc/sysconfig/network, crie um arquivo ifcfg-vlan0 com o seguinte conteúdo:

    STARTMODE="auto"
    BOOTPROTO="static" 1
    IPADDR='192.168.10.1/24' 2
    ETHERDEVICE="team0" 3
    VLAN_ID="0" 4
    VLAN='yes'

    1

    Define um endereço IP fixo, especificado em IPADDR.

    2

    Define o endereço IP, aqui com sua máscara de rede.

    3

    Contém a interface real para usar para a interface VLAN, aqui nosso dispositivo de equipe (team0).

    4

    Especifica um ID exclusivo para a VLAN. De preferência, o nome do arquivo e o VLAN_ID correspondem ao nome ifcfg-vlanVLAN_ID. No nosso caso, VLAN_ID é 0, que leva ao nome de arquivo ifcfg-vlan0.

  4. Copie o arquivo /etc/sysconfig/network/ifcfg-vlan0 para /etc/sysconfig/network/ifcfg-vlan1 e mude os seguintes valores:

    • IPADDR de 192.168.10.1/24 para 192.168.20.1/24.

    • VLAN_ID de 0 para 1.

  5. Inicie as duas VLANs:

    # wicked ifup vlan0 vlan1
  6. Verifique a saída de ifconfig:

    # ifconfig -a
    [...]
    vlan0     Link encap:Ethernet  HWaddr 08:00:27:DC:43:98
              inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fedc:4398/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 b)  TX bytes:816 (816.0 b)
    
    vlan1     Link encap:Ethernet  HWaddr 08:00:27:DC:43:98
              inet addr:192.168.20.1 Bcast:192.168.20.255 Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fedc:4398/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 b)  TX bytes:816 (816.0 b)