Configuração básica de rede no Linux

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Introdução

Uma interface de rede qualquer dispositivo (físico ou lógico) capaz de transmitir e receber mensagens em uma rede. Interfaces de rede ethernet são o exemplo mais comum, mas há também interfaces PPP (ponto-a-ponto) e interfaces loopback. De forma geral, essas interfaces podem ser configuradas com um endereço IP e uma máscara de rede, e serem ativadas ou desativadas. Em sistemas operacionais Unix a configuração de interfaces de rede se faz com o programa ifconfig:

No Linux, interfaces de rede local ethernet usualmente são nomeadas eth0, eth1, e assim por diante. O prefixo eth identifica o tipo de interface, e o número identifica uma interface específica. Usualmente a numeração dessas interfaces é determinada pela ordem em que são descobertas pelo Linux.

Listando as interfaces

Para mostrar todas as interfaces:

aluno@M1:~> ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:19:D1:7D:C9:A9
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:37283974 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42055625 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20939614658 (19969.5 Mb)  TX bytes:18284980569 (17437.9 Mb)
          Interrupt:16 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:273050 errors:0 dropped:0 overruns:0 frame:0
          TX packets:273050 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:21564572 (20.5 Mb)  TX bytes:21564572 (20.5 Mb)
aluno@M1:~>

Configurando o endereço de rede de uma interface

Para configurar uma interface de rede (que fica automaticamente ativada):

aluno@M1:~> sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

Ativando e desativando uma interface

Para desativar uma interface (isso não remove seu endereço de rede):

aluno@M1:~> sudo ifconfig eth0 down

Para ativar uma interface:

aluno@M1:~> sudo ifconfig eth0 up

Configurando um segundo endereço em uma mesma interface

Uma interface de rede pode ter mais de um endereço IP. Para isso, basta adicionar o sufixo :0 ao nome da interface para configurar um segundo endereço IP:

sudo ifconfig eth0:0 192.168.10.1/24

Na verdade, podem-se configurar inúmeros endereços, bastando variar o número após os dois-pontos:

sudo ifconfig eth0:1 192.168.20.1/24
sudo ifconfig eth0:2 192.168.25.1/24
sudo ifconfig eth0:3 172.18.13.248/20
sudo ifconfig eth0:4 150.162.34.98/26


Isso pode ser útil em certos casos, como por exemplo para acessar um equipamento de rede cujo endereço IP esteja em outra subrede. Por exemplo, uma interface de rede em um computador Linux pode estar com endereço 192.168.1.10/24 (quer dizer, ele está na subrede 192.168.1.0/24, que vai do endereço 192.168.1.0 a 192.168.1.255), e um roteador ADSL a ser instalado tem endereço IP de fábrica 10.1.1.1. Usando um segundo endereço na interface de rede do computador possibilitaria que dele se acessasse o roteador ADSL:

sudo ifconfig eth0:0 10.1.1.2/24

Removendo endereços IP dessas interfaces

Para desfazer a configuração dos endereços adicionais basta executar:

sudo ifconfig eth0:0 0.0.0.0/0

... para cada endereço que se deseja remover.

Adicionando rotas manualmente

Um equipamento cuja interface de rede esteja configurada com um endereço IP consegue se comunicar com outros equipamentos que estejam na mesma subrede IP. Por exemplo, se um computador tem endereço IP 192.168.0.3/24, ele consegue se comunicar com todos equipamentos cujos endereços estejam entre 192.168.0.1 e 192.168.0.254 (inclusive). Porém equipamentos que tenham endereços IP em outras subredes são inacessíveis, a não ser que se configurem rotas para suas subredes.

Uma rota informa o caminho a seguir para que mensagens cheguem a um certo destino. Mais especificamente, uma rota 
especifica o equipamento da subrede IP para o qual devem ser enviados pacotes IP endereçados a equipamentos de uma 
determinada subrede.

A rota mais comum se chama 'rota default. Ela significa qualquer destino fora da minha rede pode ser alcançado passando por um determinado roteador. Por exemplo, se um computador tem endereço IP 192.168.0.3/24, e em sua subrede IP há um roteador com IP 192.168.0.254/24, o qual está conectado a Internet, ele pode funcionar como roteador default. Assim, no computador 192.168.0.3 pode-se executar este comando:

sudo route add default gw 192.168.0.254

... cuja tradução aproximada seria: adicione rota para qualquer destino através do gateway 192.168.0.254 (gateway é outra forma de se referir a um roteador).

Uma rota mais específica pode ser adicionada de forma parecida, bastando modificar a especificação do destino. Por exemplo, se no mesmo computador 192.168.0.3 deseja-se adicionar uma rotad para a subrede 192.168.2.0/24 através do roteador 192.168.0.1, pode-se executar este comando:

sudo route add -net 192.168.2.0/24 gw 192.168.0.1

Comparando com a adição de rota default, o que mudou foi escrever -net 192.168.2.0/24 ao invés de default.