Arquivos de configuração

Por: Adriano Meirelles

Uma forma simples de salvar a configuração da rede seria criar um mini-script com os comandos usados e adicioná-lo no arquivo “/etc/rc.local” ou outro arquivo de configuração, como em:

ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up route del default route add default gw 192.168.1.1 dev eth0 echo ‘nameserver 208.67.222.222 nameserver 208.67.220.220’ > /etc/resolv.conf

Como o arquivo “/etc/rc.local” é processado no final do boot, depois dos serviços que carregam a configuração da rede, sua configuração seria usada mesmo que a rede tivesse sido configurada usando outro utilitário. Mas, naturalmente, esta não seria a forma mais elegante de salvar a configuração da rede.

Assim como outras configurações do sistema, a configuração da rede é salva em arquivos de configuração, que são lidos pelos serviços responsáveis por ativar a rede. A maioria dos utilitários de configuração nada mais são do que interfaces para a edição desses arquivos.

Nas distribuições derivadas do Debian, incluindo o Ubuntu e o Kubuntu, a configuração da rede é salva no arquivo “/etc/network/interfaces“. Um exemplo de arquivo configurado é:

# /etc/network/interfaces auto lo eth0 iface lo inet loopback iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1

O arquivo é dividido em duas partes. A linha “auto …” lista as interfaces que devem ser ativadas automaticamente e as demais contêm a configuração de cada uma. Para configurar uma nova placa de rede, você adicionaria a configuração relacionada a ela no final do arquivo e a adicionaria na linha “auto”, como em “auto lo eth0 eth1”. Se, por outro lado, você quiser desativar uma interface, precisa apenas removê-la da linha auto, não é preciso remover as demais linhas.

A interface “lo” é a interface de loopback, usada para a comunicação local entre diversos aplicativos e componentes do sistema, por isso nunca deve ser desativada. Embora o uso da interface de loopback pareça ser uma exclusividade do Linux, ela é usada também no Windows; a única diferença é que no Windows ela não aparece na configuração.

Em seguida temos a configuração de cada interface, que vai em uma seção separada. No caso da interface lo é usada uma única linha, “iface lo inet loopback”, usada em qualquer instalação, seguida pelas demais interfaces.

Como você pode ver, as últimas 5 linhas na configuração da placa eth0 especificam o IP utilizado pelo PC e o restante da configuração da rede, com exceção dos endereços dos servidores DNS, que vão no arquivo “/etc/resolv.conf”.

Se você quisesse que a interface fosse configurada via DHCP, poderia substituir as 6 linhas referentes a ela por:

iface eth0 inet dhcp

Ao configurar um servidor com duas placas de rede, onde a eth0 está ligada à rede local e a eth1 ao cable modem (obtendo o endereço via DHCP), por exemplo, o arquivo ficaria:

# /etc/network/interfaces auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 iface eth1 inet dhcp

Veja que nesse caso a configuração da interface eth0 não inclui o gateway, pois é a eth1 que será usada para acessar a web.

Depois de editar o arquivo, você pode aplicar as alterações reiniciando o serviço relacionado a ele:

# /etc/init.d/networking restart

Um problema comum que afeta versões do Debian, Ubuntu e distribuições baseadas neles é as interfaces mudarem de endereço a cada reset em micros com duas ou mais interfaces de rede. A placa eth0 passa então a ser a ath1 e assim por diante, o pode ser uma grande dor de cabeça ao configurar um servidor para compartilhar a conexão, já que se as duas interfaces mudam de posição, nada funciona.

A solução para o problema é um pequeno utilitário chamado “ifrename”, que permite fixar os devices utilizados para as placas. Utilizá-lo é bem simples. Comece instalando o pacote via apt-get:

# apt-get install ifrename

Crie o arquivo “/etc/iftab” e, dentro dele, relacione o device de cada interface com o endereço MAC correspondente, seguindo o modelo abaixo:

#/etc/iftab eth0 mac 00:11:D8:76:59:2E eth1 mac 00:E0:7D:9B:F8:01

Em caso de dúvida, use o comando “ifconfig -a” para ver a configuração atual das placas e o endereço MAC de cada uma. Uma vez criado, o arquivo é verificado a cada boot e a configuração se torna persistente, resolvendo o problema. Este bug das interfaces itinerantes afeta apenas algumas distribuições, por isso você não precisa se preocupar com ele até que perceba que está usando uma das afetadas.

No Fedora e outras distribuições derivadas do Red Hat, a configuração de rede é dividida em uma série de arquivos, localizados na pasta “/etc/sysconfig/network/network-scripts/“. Dentro da pasta, você encontrará um arquivo separado para a configuração de cada interface disponível. A configuração da placa eth0 é armazenada no arquivo “ifcfg-eth0“, o da eth1 no “ifcfg-eth1” e assim por diante.

Um exemplo de configuração para uso de IP fixo é:

#/etc/sysconfig/network/network-scripts/ifcfg-eth0 DEVICE=eth0 IPADDR=192.168.1.43 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BOOTPROTO=static ONBOOT=yes

A opção “ONBOOT” indica se a placa deve ser ativada automaticamente durante o boot. Ao desativar essa opção, a interface fica desativada por padrão, até ser carregada manualmente. Continuando, aqui vai um exemplo de configuração para DHCP:

#/etc/sysconfig/network/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes

Lembre-se de que cada arquivo armazena a configuração de uma interface específica (a configuração da interface de loopback, por exemplo, vai no arquivo ifcfg-lo), diferente do Debian, onde é usado um único arquivo com uma seção separada para cada interface. Temos também o arquivo “/etc/sysconfig/network“, que armazena o nome da máquina.

Para que as alterações entrem em vigor, é necessário reiniciar o serviço responsável pela configuração da rede, o que no Fedora é feito usando o comando:

# /etc/rc.d/init.d/network restart

Concluindo, tanto no Fedora quanto no Debian, Ubuntu e outros, você pode desativar temporariamente uma interface configurada usando o comando “ifdown”, como em:

# ifdown eth0

Para reativá-la posteriormente, use o comando ifup:

# ifup eth0

Assim como no caso das alterações feitas através do ifconfig, desativar a interface usando o ifdown não é permanente: a interface volta a ser ativada ao reiniciar o micro. Se você quiser desativar a interface de forma definitiva, precisa fazer a alteração diretamente no arquivo de configuração.

Sobre o Autor

Redes Sociais:

Deixe seu comentário