CONFIGURAÇÕES DE REDE NO LINUX

Tux

Tux

Ao final deste tópico, você saberá:

  • como configurar um endereço IP Dinâmico em uma interface de rede
  • como configurar um endereço IP fixo em uma interface de rede
  • como limpar as configurações de endereços IP para uma interface
  • como configurar mais de um endereço IP em uma interface de rede utilizando um Alias de IP (Interface Virtual)
  • como eliminar uma interface virtual
  • como configurar o endereço IP do Gateway
  • como configurar o endereço IP do DNS
  • como configurar a autenticação em proxy para APT ou YUM

 

Você pode precisar em algum momento, alterar alguma configuração de rede no Linux e então espero ser abrangente o suficiente para lhe apresentar comandos que poderão ser muito úteis neste objetivo do tópico.

Primeiro você precisa saber que Linux identifica uma interface de rede instalada no computador como ethX, onde X é a sequência que se inicia em 0 (zero) . Assim você pode ter apenas uma placa de rede e visualizá-la como eth0. Mas se houvesse uma segunda, ela seria identificada como eth1 e assim por diante.

O comando ifconfig pode ser utilizado para visualizar ou configurar interfaces de rede. Ifconfig é um acrônimo para “Configuração de Interface” ou originalmente como “Interface configuration”. Este comando é comumente utilizado nas distribuições baseadas em Debian, como Ubuntu por exemplo.

Então se você quiser exibir informações das interfaces de redes, poderá utilizar:

# ifconfig -a

Este comando apresentará todas as interfaces, independente se elas estão ativadas ou não. Mas talvez você não esteja interessado em listar todas as interfaces, mas apenas conferir os parâmetros de uma delas. Então inclua a identificação da interface desta forma:

# ifconfig eth0

Depois de identificar uma interface e conferir os parâmetros aplicados à mesma, você poderá querer ativá-la ou desativá-la. Para ativar uma interface utilize:

# ifconfig eth0 up

Assim você define a interface como “Up” para estar ativa. Já para desativar, o oposto, ou seja interface “down”:

# ifconfig eth0 down

No CentOS, se você não instalou o pacote net-tools, pode desativar ou reativar uma interface com os comandos:

Para ativar:

# /sbin/ifup enp0s3

Onde enp0s3 é o nome da interface

E para desativar

# /sbin/ifup enp0s3

Onde enp0s3 é o nome da interface

Caso a interface esteja configurada para utilizar um endereçamento automático e dinâmico obtido via serviços do DHCP, executar os comandos na próxima imagem, em sequência, forçarão a renovação do “leasing” de endereço IP.

Renovando a concessão de IP no Linux
Renovando a concessão de IP no Linux

Configurando a interface com IP automático via DHCP

Se você está configurando uma instalação nova do Linux baseado na distro Debian, para configurar a interface de rede, deverá alterar o arquivo /etc/network/interfaces:

# vi /etc/network/interfaces

Muito provavelmente o arquivo conterá o seguinte conteúdo:

auto lo
iface lo intet loopback

Então adicionar as linhas (em negrito) ao final do arquivo:

auto lo
iface lo intet loopback

auto eth0
iface eth0 inet dhcp

Então reiniciar o serviço de redes:

# /etc/init.d/networking restart

No CentOS 6.5:

Você deve editar o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0

Muito provavelmente você vai encontrar algo parecido com:

DEVICE="eth0"
HWADDR=08:00:20:FE:8C:68
TYPE="Ethernet"
UUID=2770c557-bcf0-4f88-a320-232dff78f8e8
ONBOOT="no"
NM_CONTROLLED="yes"
BOOTPROTO="dhcp"

Então adicione altere a linha ONBOOT=no para ONBOOT=yes como abaixo você nota em negrito:

DEVICE="eth0"
HWADDR=08:00:20:FE:8C:68
TYPE="Ethernet"
UUID=2770c557-bcf0-4f88-a320-232dff78f8e8
ONBOOT="yes"
NM_CONTROLLED="yes"
BOOTPROTO="dhcp"

Você pode excluir também todo conteúdo, e inserir o mínimo para funcionar a interface:

DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"

Para iniciar com um IP na interface, você pode reiniciar o Linux com o comando:

# reboot -n

Então se você listar as interfaces irá notar que a interface será iniciada com um IP com comando:

# ifconfig

 

 

Configurando a interface com um endereço IP e máscara de sub rede

Entretanto se você pretende definir um endereço IP para uma interface, utilizando o comando ifconfig em algumas distros, deverá informar tanto o endereço IP propriamente dito quanto a máscara de subrede. Há duas maneiras para se fazer isso, a primeira é:

# ifconfig eth0 192.168.1.20 netmask 255.255.255.0

Onde netmask define a máscara de subrede. Mas você pode preencher a máscara utilizando o padrão CIDR (lê-se “saider”). Como já fora utilizado no exemplo anterior, estamos neste momento utilizando uma máscara 255.255.255.0. Porém, ao invés do método convencional, vamos informar os bytes utilizados. O seja, não os bits separados como octetos mas na forma decimal. Assim, temos o número 24, ou seja três octetos preenchidos 8×3=24:

# ifconfig eth0 192.168.1.20/24

Neste caso, você não digita o parâmetro “netmask”, mas apenas insere o valor logo a frente do IP, sendo este separado por uma barra. Embora não seja muito utilizado, você também pode definir endereço de broadcast, que é o ultimo IP de um range. Ainda, utilizando o exemplo anterior, temos uma máscara 255.255.255.0, onde o ultimo octeto, que fica mascarado, é utilizado para identificar os hosts na rede. Assim, temos um range de 192.168.1.0 até 192.168.1.255. Em qualquer range (faixa de endereços), precisamos de um endereço IP para identificar a rede e outro para identificar o Broadcast. Este Broadcast é o endereço utilizado para fazer todos os outros hosts naquele range ouvir a solicitação. Portanto o primeiro IP de um range, é conhecido como IP da rede e o último como o IP de broadcast da rede. Continuando neste exemplo, o broadcast é 192.168.1.255. Mas você pode mudar isso se for necessário. Veja que a linha de comando abaixo define um endereço de broadcast:

# ifconfig eth0 broadcast 192.168.1.255

Se você estiver fazendo a configuração no CentOS, primeiro precisa descobrir o nome da interface de rede:

# ip addr show
CentOS - Verificar nome da interface
CentOS – Verificar nome da interface

Note na captura de tela acima que temos uma interface nomeada como enp0s3, mas este nome pode mudar conforme a versão e configuração do sistema operacional. Para configurar um IP para esta interface, vou tomar como exemplo o IP 192.168.10.250 e máscara de sub rede 255.255.255.0. Utilize o comando:

# ip addr add 192.168.10.250/24 dev enp0s3

Note que utilizei a representação em bits de 255.255.255.0 como 24:

CentOS - configurando IP na interface
CentOS – configurando IP na interface

Note que quando executamos o comando ip addr show para visualizar as interfaces, agora podemos notar o endereço IP atribuído a interface.

Se você desejar utilizar o ifconfig também no CentOS, deve instalar instalar o pacote net-tools como dica da Renata Silva nos comentários abaixo 😉

Para isso:

CentOS - Instalando net-tools
CentOS – Instalando net-tools

Para validar fazendo um teste:

CentOS - Validando a instalação do net-tools
CentOS – Validando a instalação do net-tools

Mas você também poderia alterar o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0 e inserir a seguinte configuração:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.10.250
NETMASK=255.255.255.0
NETWORK=192.168.10.0
BROADCAST=192.168.10.255

# /etc/init.d/network stop

# /etc/init.d/network start

Deverá subir a interface com o IP fixo que você definiu.

Limpando as configurações de uma interface

Mas, voltando a atenção as demais distribuições também, o que acontece quando você precisa remover um endereço IP de uma interface de rede? Para limpar as configurações de IP da interface de rede, utilize a linha de comando:

# ip address flush dev eth0

Depois de executar o comando, você deve reiniciar os serviços de rede. Para isso, utilize a linha de comando:

# /etc/init.d/networking restart

Em algumas distribuições do Linux, além de utilizar o comando sudo, você precisa “parar” os serviços e depois reiniciá-los. Então, você faz isso utilizando as linhas:

# sudo /etc/init.d/networking stop
# sudo /etc/init.d/networking start

É claro que em outras distribuições do Linux, como a Ubuntu, você também poderá executar o primeiro comando apresentado, acrescentando apenas o sudo:

# sudo /etc/init.d/networking restart

Feito isso as configurações serão efetivadas.

Configurando Sub interfaces

Pode acontecer também de você precisar adicionar um segundo IP a uma interface de rede. No meu caso, já precisei configurar um segundo endereço IP para manter o servidor conectado a duas redes e através de uma única e mesma interface de rede. Para esse feito, será necessário criar “Alias” de endereço IP, ou mais conhecido como interface virtual. Para exemplicar vamos detalhar uma situação: Suponhamos que o servidor agora deva ouvir e responder para três endereços IPs diferentes: 172.16.0.20, 192.168.1.20 e 10.1.1.20. Entretanto a interface identificada como eth0, neste nosso exemplo, já possui parametrizado um destes endereços IPs: 192.168.1.20. Neste caso, para criar um Alias de IP, você adiciona dois pontos a frente da identificação do dispositivo, quando informá-lo como parâmetro do ifconfig. Com isso, se inicia uma nova sequência de endereços a partir de zero mas no “contexto” daquela interface. Da seguinte forma: eth0:0 – sendo zero para indicar um primeiro alias no contexto de interface zero . Da mesma maneira, para adicionar os outros dois endereços IPs, utilizamos as duas linhas de comando:

# ifconfig eth0:0 172.16.0.20/16
# ifconfig eth0:1 10.1.1.20/8

Agora a interface eth0 irá ouvir e responder as solicitações enviadas para 192.168.1.20, 172.16.0.20 e 10.1.1.20.

Mas e se você precisar eliminar alguma interface virtual que foi adicionada mas não será mais utilizada? utilize a linha de comando:

# ifconfig eth0:0 down

Por desativar uma interface virtual, você estará na realidade excluindo sua configuração. Neste momento, o Linux deixa de responder através daquelas configurações definidas para aquela interface ou o alias que recebeu o “down”, e no exemplo acima o alias eth0:0. Lembre-se de reiniciar os serviços de rede para aplicar a configuração.

Configurando o Gateway Padrão e endereços de servidores DNS

Nos exemplos anteriores, configuramos o IP para interface eth0, mas o sistema ainda não será capaz de se comunicar com outras redes por não saber para onde enviar as solicitações. Então para isso, utilizamos um Gateway padrão que aponta para quem fará o roteamento. Para parametrizar o gateway padrão, informamos ao Linux que a rota padrão é para o endereço IP de um dispositivo de rede que faz o roteamento de pacotes para outras redes. Suponhamos que o gateway para a rede 192.168.1.0 seja o 192.168.1.1. A seguinte linha de comando definiria o Gateway padrão:

# route add default gw 192.168.1.1 eth0

Nesta linha utilizamos o comando route (abordarei em outro post) para adicionar uma rota padrão para um gateway 192.168.1.1 nas configurações da interface eth0.

Se você estiver utilizando o CentOS mas não instalou o pacote net-tools, pode configurar o gateway padrão com o seguinte comando:

# ip route add default via 192.168.10.254 dev enp0s3

Onde dev define o nome da interface que deve ser aplicado a configuração do Gateway. No exemplo acima o gateway da rede que está sendo aplicado para interface é 192.168.10.254.

Note que na captura de tela abaixo já estou apresentando como configurar DNS também:

CentOS - configurado Gateway padrão e DNS
CentOS – configurado Gateway padrão e DNS

Você provavelmente terá necessidade padrão de navegar na internet utilizando recursos de resolução de nomes DNS. Então pode fazer a configuração tando da forma apresentada acima:

# echo "nameserver 8.8.8.8 # Servidor DNS Primário" >> /etc/resolv.conf

Veja que para configurar os endereços de servidores DNS, você deverá editar um arquivo que define esta configuração. O nome deste arquivo é resolv.conf e fica gravado no diretório etc. Você também poderá utilizar qualquer editor de textos para alterá-lo. Porém muitas vezes dependerá do editor vi (Não será abordado agora).

Para editar o arquivo resolv.conf utilizando o editor vi, digite a seguinte linha de comando:

# vi /etc/resolv.conf

Será imediatamente apresentado o conteúdo do arquivo que poderá até mesmo estar ainda vazio. Se o arquivo estiver vazio, adicione uma linha com um parâmetro nameserver e mais o endereço IP do servidor DNS. A primeira linha com este parâmetro, passa a ser o endereço de DNS primário. Utilizando como exemplo o IP 8.8.8.8, teríamos:

nameserver 8.8.8.8 #  Servidor DNS Primário

No exemplo anterior, os caracteres restantes depois do caractere sharp “#”, são comentários.

Se você salvar o arquivo resolv.conf contendo a linha acima e, se além disso, o computador estiver ligado a algum tipo de Link com a Internet, agora será capaz de navegar para outras redes, inclusive a internet.

Para configurar no Ubuntu é um processo pouco diferente!

Mas no Ubuntu é necessário fazer esse processo de uma forma um pouco diferente, porque caso contrário, ao reiniciar as configurações serão perdidas. Então o arquivo que deve ser editado é outro: /etc/resolvconf/resolv.conf.d/head

Mas para efetivar a alteração requer uma etapa a mais. Então primeiro, insira as configurações de DNS no arquivo conforme mencionei logo acima:

# sudo nano /etc/resolvconf/resolv.conf.d/head

Insira as linhas:

nameserver 8.8.8.8
nameserver 8.8.4.4

Onde você deve substituir os valores para nameserver conforme a sua necessidade ou, configuação da sua rede. Em seguida, execute o comando:

# sudo resolvconf -u

Se você desejar validar as configurações:

# cat /etc/resolv.conf

Então note que as linhas foram inseridas no neste arquivo, mas caso você resolva fazer a inserção direta no arquivo, vai perceber que as configurações serão perdidas ao reiniciar. Inclusive esta é a forma de manter esta configuração permanente na distro Ubuntu.

Autenticação em Proxy

Mas pode ser necessário se autenticar em um Proxy. Se este for o caso e você estiver utilizando uma distribuição baseada em Debian, precisa adicionar algumas linhas ao arquivo /etc/environment. Por exemplo, suponhamos que estejamos utilizando um servidor com IP 192.168.0.37 e porta padrão 3128. Então, neste meu exemplo estou utilizando um usuário denominado apt com senha 123456. Neste caso, estas seriam as linhas:

 http_proxy="http://apt:123456@192.168.0.37:3128"
 ftp_proxy=" http://apt:123456@192.168.0.37:3128"
 
 Acquire {
 HTTP::Proxy apt:123456@192.168.0.37:3128;
 FTP::Proxy apt:123456@192.168.0.37:3128;
 };
 alias wget="wget --proxy-user=apt --proxy-passwd=123456"
Debian - Configurar autenticação no Proxy
Debian – Configurar autenticação no Proxy

Por inserir estas linhas, o Linux já será capaz de se autenticar no Proxy. Entretanto no CentOS para utilizar o YUM é necessário fazer umas coisas extras.

http_proxy="http://apt:123456@192.168.0.37:3128"
https_proxy="http://apt:123456@192.168.0.37:3128"
ftp_proxy="http://apt:123456@192.168.0.37:3128"
no_proxy=localhost,127.0.0.0/8
export http_proxy https_proxy ftp_proxy no_proxy
CentOS - Configurando Proxy - /etc/environment
CentOS – Configurando Proxy – /etc/environment

Em seguida, vamos alterar o arquivo /etc/yum.conf:

vi /etc/yum.conf

E adicionar as linhas, conforme a captura de tela posterior:

# The proxy server - proxy server:port number
proxy=http://192.168.0.37:3128
# The account details for yum connections
proxy_username=apt
proxy_password=123456
CentOS - Configurando Proxy - /etc/yum.conf
CentOS – Configurando Proxy – /etc/yum.conf

Note que que adicionei mais ao meio do arquivo.

Mas nas versões mais recentes de versões baseadas na distro RHEL, como por exemplo Fedora, você deverá alterar outro arquivo chamado etc/dnf/dnf.conf

# vi /etc/dnf/dnf.conf

Adicione as seguintes linhas, em vermelho:

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true
proxy=http://192.168.0.37:3128
proxy_username=apt
proxy_password=123456

Então salvar o arquivo e solicitar um update:

# dnf update

Se até aqui a atualização for bem sucedida, não precisa fazer mais nada! 🙂

Feito isso, adicione algumas linhas no arquivo .bash_profile do usuário. Por exemplo vamos adicionar ao usuário root:

# vi /root/.bash_profile

Adicione estas linhas como apresentado na próxima captura de tela:

export http_proxy=http://192.168.0.37:3128
export https_proxy=http://apt:123456@192.168.0.37:3128
CentOS - Configurando Proxy - .bash_profile
CentOS – Configurando Proxy – .bash_profile

Então vamos adicionar algumas linhas no arquivo /etc/profile:

E adicione as seguintes linhas como na captura de tela adiante:

export http_proxy=apt:123456@192.168.0.37:3128
export ftp_proxy=apt:123456@192.168.0.37:3128
CentOS - Configurando Proxy - /etc/profile
CentOS – Configurando Proxy – /etc/profile

No caso acima, optei por adicionar as informações ao final do arquivo.

Agora vamos precisar editar ou criar mais um arquivo, se ele não existir. Este arquivo é o /etc/wgetrc

Edite este arquivo:

# vi /etc/wgetrc

E adicione as seguintes linhas como adiante demonstrado na captura de tela:

https_proxy = http://apt:123456@192.168.0.37:3128
http_proxy = http://apt:123456@192.168.0.37:3128
ftp_proxy = http://apt:123456@192.168.0.37:3128
CentOS - Configurando Proxy - /etc/wgetrc
CentOS – Configurando Proxy – /etc/wgetrc

Agora o Linux será capaz de utilizar o yum com autenticação no proxy. Espero ter concentrado informações importantes em um só lugar! Caso você tenha sugestões não deixe de me enviar emails com vocês já tem feito, ou mesmo, comente abaixo!

[]’s

OBS: As informações sobre autenticação em proxy foram baseadas nos artigos:

APT: https://www.vivaolinux.com.br/dica/Configurando-proxy-no-APTGET

YUM: https://www.vivaolinux.com.br/dica/Configuracao-do-yum-com-proxy-no-CentOS

 

3 comentários

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.