A configuração manual do software de rede deve ser sempre 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.
Quando o kernel detecta uma placa de rede e cria uma interface de rede correspondente, ele atribui um nome de dispositivo de acordo com a ordem de descoberta de dispositivos ou a ordem de carregamento dos módulos de kernel. Os nomes de dispositivos padrão de kernel são previsíveis apenas em ambientes de hardware muito simples ou altamente controlados. Os sistemas que permitem adicionar ou remover hardware durante o tempo de execução ou que suportam a configuração automática de dispositivos não podem contar com nomes estáveis de dispositivos de rede atribuídos pelo kernel no decorrer das reinicializações.
Entretanto, todas as ferramentas de configuração do sistema contam com nomes de interface persistentes. O problema é solucionado por udev. O gerador de rede persistente udev (/lib/udev/rules.d/75-persistent-net-generator.rules) gera uma regra que corresponde ao hardware (usando seu endereço de hardware por padrão) e atribui uma interface exclusiva persistente ao hardware. O banco de dados de interfaces de rede do udev fica armazenado no arquivo /etc/udev/rules.d/70-persistent-net.rules. Todas as linhas do arquivo descrevem uma interface de rede e especifique seu nome persistente. Os administradores de sistema podem mudar os nomes atribuídos editando as entradas NAME="". As regras persistentes também podem ser modificadas por meio do YaST.
A Tabela 20.5, “Scripts de configuração de rede manual” resume os scripts mais importantes envolvidos na configuração de rede.
Tabela 20.5. Scripts de configuração de rede manual
|
Comando |
Função |
|---|---|
|
ifup, ifdown, ifstatus |
Os scripts |
|
rcnetwork |
O script |
Para obter mais informações sobre o udev e os nomes de dispositivo persistentes, consulte o Capítulo 13, Gerenciamento de dispositivo de kernel dinâmico com udev.
Esta seção fornece uma visão geral dos arquivos de configuração de rede e explica sua finalidade e formato usado.
Esses arquivos contêm as configurações de interfaces de rede. Eles 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, quase todas as variáveis dos arquivos dhcp, wireless e config poderão ser usadas nos arquivos ifcfg-* se uma configuração geral for usada para apenas uma interface.
Para saber sobre o ifcfg.template, consulte Seção 20.6.1.2, “/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. dhcp contém configurações para DHCP e wireless para placas de rede local wireless. Nos três arquivos de configuração, as variáveis estão em forma de comentário. Algumas das variáveis de /etc/sysconfig/network/config também podem ser usadas nos arquivos ifcfg-*, nos quais recebem prioridade mais alta. O arquivo /etc/sysconfig/network/ifcfg.template lista as variáveis que podem ser especificadas para cada interface. Entretanto, a maioria das variáveis de /etc/sysconfig/network/config são globais, não podendo ser anuladas em ifcfg-files. Por exemplo, as variáveis NETWORKMANAGER ou NETCONFIG_* são globais.
O roteamento estático dos pacotes TCP/IP é determinado aqui. Todas as rotas estáticas requeridas pelas várias tarefas do sistema podem ser digitadas no arquivo /etc/sysconfig/network/routes file: rotas para um host, rotas para um host via gateway e rotas para uma rede. Para cada interface que precisa de roteamento individual, defina um arquivo de configuração adicional: /etc/sysconfig/network/ifroute-*. Substitua * pelo nome da interface. As entradas nos arquivos de configuração de roteamento terão esta aparência:
# Destination Dummy/Gateway Netmask Device # 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
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, a rede ou o nome completo do host.
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 contém a máscara de rede para redes ou hosts atrás de um gateway. Por exemplo, a máscara em 255.255.255.255 para um host atrás de um gateway.
A quarta coluna só é relevante para redes conectadas ao host local, como loopback, Ethernet, ISDN, PPP e dispositivo simulado. O nome do dispositivo deve ser digitado aqui.
Uma quinta coluna (opcional) pode ser usada para especificar o tipo de uma rota. As colunas desnecessárias devem conter um sinal de subtração - para garantir que o analisador interpretará o comando corretamente. Para obter mais detalhes, consulte a página de manual routes(5).
O domínio ao qual o host pertence é especificado neste arquivo (palavra-chave search). Também está listado o status do endereço do servidor de nomes para acesso (palavra-chave nameserver). Vários nomes de domínio podem ser especificados no arquivo. Durante a resolução de um nome incompleto, uma tentativa de gerar um nome será feita, anexando as entradas de pesquisa individuais. Vários servidores de nomes podem ser especificados em várias linhas, cada uma delas começando com nameserver. Comentários são precedidos pelo sinal #. O Exemplo 20.5, “/etc/resolv.conf” exemplifica como pode ser a aparência do /etc/resolv.conf.
Entretanto, o /etc/resolv.conf não deve ser editado manualmente. Isso porque ele é gerado pelo script netconfig. Para definir a configuração do DNS estático sem usar o YaST, edite manualmente as variáveis apropriadas no arquivo /etc/sysconfig/network/config: NETCONFIG_DNS_STATIC_SEARCHLIST (lista de nomes de domínio DNS usados na pesquisa de nome de host), NETCONFIG_DNS_STATIC_SERVERS (lista de endereços IP do servidor de nomes a usar na pesquisa de nome de host), NETCONFIG_DNS_FORWARDER (define o nome do encaminhador de DNS que precisa ser configurado). Para desabilitar a configuração do DNS usando o netconfig, defina NETCONFIG_DNS_POLICY=''. Para obter mais informações sobre o netconfig, consulte man 8 netconfig.
Exemplo 20.5. /etc/resolv.conf
# Our domain search example.com # # We use dns.example.com (192.168.1.116) as nameserver nameserver 192.168.1.116
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 fornecer ou remover configurações do netconfig. Apenas o comando netconfig update está disponível para o usuário:
O comando netconfig modify modifica as configurações dinâmicas específicas de interface e serviço, 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 e as armazena internamente até a próxima 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 nome_de_arquivo-i . O serviço é especificado pelo parâmetro nome_da_interface-s .
nome_do_serviço
O comando netconfig remove remove as configurações dinâmicas fornecidas por uma ação modificadora para a combinação de interface e serviço especificada, além de atualizar a configuração da rede. A interface é especificada pelo parâmetro -i . O serviço é especificado pelo parâmetro nome_da_interface-s .
nome_do_serviço
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 se desejar atualizar apenas um serviço especificado (tipo_de_módulodns,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. O NetworkManager também usa as ações netconfig modify e netconfig remove. Quando o NetworkManager é 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 com 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 nem para o método tradicional com ifup.
Para obter mais informações sobre o netconfig, consulte man 8 netconfig.
Nesse arquivo, mostrado no Exemplo 20.6, “/etc/hosts”, os endereços IP são designados 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 20.6. /etc/hosts
127.0.0.1 localhost 192.168.2.100 jupiter.example.com jupiter 192.168.2.101 venus.example.com venus
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 20.7, “/etc/networks”.
A resolução de nomes (tradução de nomes de host e de rede pela biblioteca do 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. Um parâmetro precisa estar sempre independente em sua própria linha. Comentários são precedidos pelo sinal #. A Tabela 20.6, “Parâmetros para /etc/host.conf” mostra os parâmetros disponíveis. Uma amostra de /etc/host.conf é mostrada no Exemplo 20.8, “/etc/host.conf”.
Tabela 20.6. 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 | |
|
bind: acessa um servidor de nomes | |
|
nis: usa o NIS | |
|
multi on/off |
Define se um host digitado em |
|
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 é separado do nome de host depois da resolução do 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 |
Exemplo 20.8. /etc/host.conf
# We have named running order hosts bind # Allow multiple address multi on
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 do nsswitch.conf(5) e The GNU C Library Reference Manual (Manual de Referência da Biblioteca GNU C) para obter mais detalhes.
A ordem das consultas é definida no arquivo /etc/nsswitch.conf. Uma amostra do nsswitch.conf é exibida em Exemplo 20.9, “/etc/nsswitch.conf”. Comentários são precedidos pelo sinal #. Nesse exemplo, a entrada no banco de dados hosts significa que uma solicitação foi enviada para /etc/hosts (arquivos) através do DNS.
Exemplo 20.9. /etc/nsswitch.conf
passwd: compat group: compat hosts: files dns networks: files dns services: db files protocols: db files netgroup: files automount: files nis
Os “bancos de dados” disponíveis em NSS estão listados na Tabela 20.7, “Bancos de dados disponíveis por /etc/nsswitch.conf”. Além disso, automount, bootparams, netmasks e publickey são aguardados para breve. As opções de configuração para bancos de dados NSS estão listadas na Tabela 20.8, “Opções de configuração para bancos de dados “NSS””.
Tabela 20.7. Bancos de dados disponíveis por /etc/nsswitch.conf
|
|
Álias de correio implementados por |
|
|
Endereços de Ethernet. |
|
|
Para grupos de usuários usados por |
|
|
Para nomes de hosts e endereços IP, usados por |
|
|
Listas de usuários e hosts válidos na rede com a finalidade de controlar permissões de acesso, consulte a página de manual do |
|
|
Nomes e endereços de redes, usados por |
|
|
Senhas de usuários, usadas por |
|
|
Protocolos de rede, usados por |
|
|
Nomes e endereços de RPC (Remote Procedure Call) usados por |
|
|
Serviços de rede, usados por |
|
|
Senhas transitórias de usuários, usadas por |
Tabela 20.8. Opções de configuração para bancos de dados “NSS”
|
|
arquivos de acesso direto, por exemplo, |
|
|
acesso através de um banco de dados |
|
|
NIS, consulte também o Capítulo Using NIS (↑Security Guide (Guia de Segurança)) |
|
|
só pode ser usada como extensão de |
|
|
só pode ser usada como extensão de |
Esse arquivo é usado para configurar o nscd (name service cache daemon). Consulte as páginas de manual de nscd(8) e nscd.conf(5). Por padrão, as entradas do sistema de passwd e groups são armazenadas em cache pelo nscd. Isso é importante para o desempenho de serviços de diretório, como NIS e LDAP, pois, caso contrário, a conexão de rede precisaria ser usada para cada acesso a nomes ou grupos. hosts não é armazenado em cache por padrão, porque o mecanismo no nscd para armazenar hosts em cache impede o sistema local de confiar em verificações de pesquisa forward e reverse. Em vez de solicitar ao nscd para armazenar nomes em cache, configure um servidor DNS para armazenamento em cache.
Se o armazenamento em cache de passwd estiver ativado, normalmente levará quinze segundos para que um usuário local recentemente adicionado seja reconhecido. Reduza esse tempo de espera reiniciando o nscd com o comando rcnscd restart.
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. As antigas ferramentas de configuração ifconfig e route também estão disponíveis.
Os comandos ip, ifconfig e route mudam a configuração da 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.
O ip é uma ferramenta destinada a mostrar e configurar roteamentos, dispositivos de rede, roteamentos de políticas e túneis.
O ip é uma ferramenta muito complexa. Sua sintaxe comum é ip . Você pode trabalhar com os seguintes objetos:
opções objeto comando
Este objeto representa um dispositivo de rede.
Este objeto representa o endereço IP do dispositivo.
Este objeto representa uma entrada de cache ARP ou NDISC.
Este objeto representa a entrada da tabela de roteamento.
Este objeto representa uma regra no banco de dados de políticas de roteamento.
Este objeto representa um endereço multicast.
Este objeto representa uma entrada de cache de roteamento multicast.
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 ip link set nome_do_dispositivocomando. Por exemplo, para desativar o dispositivo eth0, digite ip link set eth0 down. Para ativá-lo novamente, use ip link set eth0 up.
Após ativar um dispositivo, você poderá configurá-lo. Para definir o endereço IP, use ip addr add . Por exemplo, para definir o endereço da interface eth0 como 192.168.12.154/30 com o broadcast padrão (opção endereço_ip + dev nome_do_dispositivobrd), digite 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 o sistema, digite ip route add endereço_ip_do_gateway. Para traduzir um endereço IP para outro, use nat: ip route add nat endereço_ip via outro_endereço_ip.
Para exibir todos os dispositivos, use ip link ls. Para exibir apenas as interfaces em execução, use ip link ls up. Para imprimir as estatísticas de interface de um dispositivo, digite ip -s link ls nome_do_dispositivo. Para ver os endereços dos dispositivos, digite ip addr. Na saída do comando ip addr, você também pode encontrar informações sobre os endereços MAC dos dispositivos. Para mostrar todas as rotas, use ip route show.
Para obter mais informações sobre como usar o ip, digite ip help ou consulte a página de manual de ip(8). A opção help também está disponível para todos os objetos ip. Se, por exemplo, você quiser ler a ajuda de ip addr, digite ip addr help. Encontre o manual da ip em /usr/share/doc/packages/iproute2/ip-cref.pdf.
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 que indica que o link da rede está basicamente 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 20.10, “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, o número de pacotes perdidos e o tempo total da execução do ping.
Como destino, você pode 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 Ctrl+C.
Se você só precisar verificar a funcionalidade da conexão, poderá 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 20.10. 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 de 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 de ping (8).
ifconfig é uma ferramenta de rede tradicional. Ao contrário da ip, você pode usá-la somente para a configuração de interfaces. Se você quiser configurar o roteamento, use o comando route.
![]() | ifconfig e ip |
|---|---|
O programa ifconfig está obsoleto. Em vez disso, use ip. | |
Sem argumentos, o ifconfig exibe o status das interfaces atualmente ativas. Como você pode ver no Exemplo 20.11, “Saída do comando ifconfig”, o ifconfig tem uma saída detalhada e bem organizada. A saída também contém informações sobre o endereço MAC do seu dispositivo (o valor de HWaddr) na primeira linha.
Exemplo 20.11. Saída do comando ifconfig
eth0 Link encap:Ethernet HWaddr 00:08:74:98:ED:51
inet6 addr: fe80::208:74ff:fe98:ed51/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:634735 errors:0 dropped:0 overruns:4 frame:0
TX packets:154779 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:162531992 (155.0 Mb) TX bytes:49575995 (47.2 Mb)
Interrupt:11 Base address:0xec80
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8559 errors:0 dropped:0 overruns:0 frame:0
TX packets:8559 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:533234 (520.7 Kb) TX bytes:533234 (520.7 Kb)
wlan1 Link encap:Ethernet HWaddr 00:0E:2E:52:3B:1D
inet addr:192.168.2.4 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fe52:3b1d/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50828 errors:0 dropped:0 overruns:0 frame:0
TX packets:43770 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45978185 (43.8 Mb) TX bytes:7526693 (7.1 MB)
Para obter mais opções e informações sobre como usar o ifconfig, digite ifconfig -h ou consulte a página de manual do ifconfig (8).
route é um programa usado para manipular a tabela de roteamento IP. Você pode usá-lo para ver sua configuração de roteamento e adicionar ou remover rotas.
![]() | route e ip |
|---|---|
O programa route está obsoleto. Em vez disso, use ip. | |
O comando route será especialmente útil se você precisar de informações rápidas e compreensíveis sobre a configuração do roteamento para identificar problemas de roteamento. Para ver a configuração de roteamento atual, digite route -n enquanto usuário root.
Exemplo 20.12. Saída do comando route -n
route -n Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.20.0.0 * 255.255.248.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default styx.exam.com 0.0.0.0 UG 0 0 0 eth0
Para obter mais informações sobre como usar o route, digite route -h ou consulte a página de manual de route (8).
Além dos arquivos de configuração descritos acima, há também vários scripts que carregam os programas de rede durante o boot da máquina. Eles são iniciados assim que o sistema é alternado para um dos níveis de execução multiusuário. Alguns desses scripts são descritos na Tabela 20.9, “Alguns scripts de inicialização para programas de rede”.
Tabela 20.9. Alguns scripts de inicialização para programas de rede
|
Este script controla a configuração das interfaces de rede. Se o serviço network não tiver sido iniciado, nenhuma interface de rede será implementada. | |
|
Inicia o xinetd. O xinetd pode ser usado para disponibilizar os serviços do servidor no sistema. Por exemplo, ele pode iniciar o vsftpd sempre que uma conexão FTP for inicializada. | |
|
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. | |
|
Inicia o servidor NFS. | |
|
Controla o processo de postfix. | |
|
Inicia o servidor NIS. | |
|
Inicia o cliente NIS. |