sábado, 30 de julho de 2016

Configurando Placas de Rede no LINUX.

Administração e Gerenciamento de REDES no LINUX DEBIAN.

Parte I
Configurando Placas de Rede


Instalando uma Placa de Rede.

Supondo que a Placamãe de nosso PC seja offbord, que seja necessário a instalação de uma ou duas placas de rede.

Para que possamos instalar as placas de redes se faz necessário desligar e fazer a instalação das placas com o PC desconectado da rede eletrica.

Após a instalação das redes em seus respectivos slots, ao ligarmos o PC pode acontecer duas coisas, a interface foi reconhecida pelo sistema ou não.

O sistema Debian pode reconhecer uma placa de rede, levanta e configura seus módulos através do serviço de detecção de hardware hotplug, deixando a placa funcionando e pronta para ser configurada.
Quando isso não ocorre fica por conta de módulos que por algum motivo não puderam ser inicializados corretamente pelo sistema, isso é o que chamamos de troubleshooting.

Uma vez detectado o problema precisamos nos certificar de que placa esta funcionando, de nada vai adiantar os esforços para levantar a interface se a mesma estiver queimada. Para checar as placas e saber se estão funcionando o GNULinux oferece o programa lspci, este comando faz o levantamento de todo o hardware instalado.

Veja:

urutau@urutec ~ $ lspci
00:00.0 RAM memory: NVIDIA Corporation MCP61 Memory Controller (rev a1)
00:01.0 ISA bridge: NVIDIA Corporation MCP61 LPC Bridge (rev a2)
00:01.1 SMBus: NVIDIA Corporation MCP61 SMBus (rev a2)
00:01.2 RAM memory: NVIDIA Corporation MCP61 Memory Controller (rev a2)
00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev a3)
00:02.1 USB controller: NVIDIA Corporation MCP61 USB 2.0 Controller (rev a3)
00:04.0 PCI bridge: NVIDIA Corporation MCP61 PCI bridge (rev a1)
00:05.0 Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
00:06.0 IDE interface: NVIDIA Corporation MCP61 IDE (rev a2)
00:07.0 Bridge: NVIDIA Corporation MCP61 Ethernet (rev a2)
00:08.0 IDE interface: NVIDIA Corporation MCP61 SATA Controller (rev a2)
00:08.1 IDE interface: NVIDIA Corporation MCP61 SATA Controller (rev a2)
00:09.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:0b.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:0c.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
02:00.0 VGA compatible controller: NVIDIA Corporation NV44 [GeForce 7100 GS] (rev a1)
urutau@urutec~ $

No exemplo acima a placa de rede foi reconhecida o que significa que esta funcionando é podemos então começar sua configuração.

No LINUX exite um arquivo responsável pela configuração das placas de rede, e o
  /etc/network/interfaces.


# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

allow hotplug eth0

ifce eth0 inet  static
address 192.168.0.3
networkmask 192.168.0.0/24
broadcast 192.168.0.255

No arquivo acima configuramos manualmente o endereço de Ip para a inerface eth0, e obrigatório o uso de pelo menos duas diretivas,
 o address = nº do IP
e a netmaskmask.

Também podemos configurar a rota com o route.

route add default gw {IP-ADDRESS} {INTERFACE-NAME}

  • IP-ADDRESS: Configura o ip do roteador
  • INTERFACE-NAME:  o nome da interface  eth0
Supondo que o endereço do IP  e 192.168.1.254 dar o seguinte comando como root user:
# route add default gw 192.168.1.254 eth0
OU  você pode usar o hostname  tipo dsl-router:

# route add default gw dsl-router eth0


Ou com o comando IP

  IP 192.168.1.254  do gateway conectado  via eth0 network interface:

# ip route add 192.168.1.0/24 dev eth0
OR
# ip route add 192.168.1.0/24 via 192.168.1.254

Depois de tudo definido podemos usar o  comando IFCONFIG  para gerenciar nossa rede e  interfaces.

O comando ifconfig e responsável por levantar  derrubar e configurar uma placa de rede.

urutau@urutau-MCP61M-M3 / $ ifconfig
eth0      Link encap:Ethernet  Endereço de HW 10:78:d2:17:10:5f  
          inet end.: 192.168.0.3  Bcast:192.168.0.255  Masc:255.255.255.0
          endereço inet6: fe80::1278:d2ff:fe17:105f/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
          pacotes RX:144027 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:84968 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000 
          RX bytes:177349032 (177.3 MB) TX bytes:9562280 (9.5 MB)

eth1      Link encap:Ethernet  Endereço de HW 00:21:91:92:59:ad  
          UP BROADCAST MULTICAST  MTU:1500  Métrica:1
          pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000 
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo        Link encap:Loopback Local  
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACK RUNNING  MTU:65536  Métrica:1
          pacotes RX:1877 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:1877 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:0 
          RX bytes:321251 (321.2 KB) TX bytes:321251 (321.2 KB)

ifconfig - configura uma interface de rede
SINOPSE

ifconfig interface [aftype] opções | endereços ...

EX.

ifconfig eth0 192.168.0.3 networkmask 255.255.255.0
DESCRIÇÃO
ifconfig é usado para configurar (e posteriormente manter) as interfaces de rede. É usado durante o boot para configurar a maioria delas para um estado usável. Depois disto, é normalmente somentenecessário durante depurações ou quando for necessária uma configuração fina do sistema.
Se nenhum argumento for informado, ifconfig somente mostra o estado das interfaces correntemente definidas. Se um argumento interface for informado, ele mostra somente o estado da interface informada. De outra forma ele assume que os parâmetros devem ser configurados.
OPÇÕES
interface
O nome da interface de rede. Usualmente é um nome como eth0 , sl3 ou algo parecido: um nome de driver de dispositivo seguido por um número.

Para sabe quais são a interfaces dispoivéis  TYPE 

ifconfig -a

Depois de configurar a placa a rede o gateway, precisamos levantar o serviço
isso pode ser feito com o comando:

ifup eth0

up Esta flag causa a ativação da interface.
veja que apos o comando o systema executa os quatro passos para atribuição do ip, se for definido nenhum endereço o dhcp aloca um automaticamente.



down Esta flag desativa o driver desta interface, é útil quando alguma coisa começar a dar problemas.
[-]arp Habilita ou desabilita o uso do protocolo ARP para esta interface. Se o sinal de menos (-) estiver presente a opção é desligada.

urutau-MCP61M-M3 / # ifdown eth0
ifdown: interface eth0 not configured

urutau-MCP61M-M3 / # 

Outra diretivas.

[-]trailers
Habilita ou desabilita o uso de trailer em frames Ethernet. Não é utilizada na implementação atual do pacote net-tools.
[-]allmulti
Habilita ou desabilita o modo promiscuous da interface. Isto significa que todos os frames passarão pela camada de rede do kernel, permitindo monitoração da rede.
metric N
Este parâmetro configura a métrica da interface. Não é usado atualmente, mas será implementado no futuro.
mtu N Este parâmetro configura a Unidade Máxima de Transferência (MTU) de uma interface. Para Ethernet é um número entre 1000-2000 (o padrão é 1500). Para SLIP, use algo entre 200 e 4096. Note que a implementação atual não manipula fragmentação IP ainda, então é melhor configurar a MTU com um tamanho adequado!

dstaddr addr
Configura o endereço IP do "outro lado" no caso de um link
Ponto-A-Ponto, como PPP. Esta palavra-chave tornou-se obsoleta e deve ser usada a nova palavra-chave pointopoint.

netmask addr
Configura a máscara de rede IP para esta interface. Este valor assume o padrão usual das classes A, B ou C (deduzindo-o a partir do endereço IP da interface), mas pode ser configurado para qualquer valor para o uso de sub-redes.

irq addr
Configura a linha de interrupção (IRQ) usada por este dispositivo. Muitos dispositivos não suportam configuração dinâmica de IRQ.

[-]broadcast [endereço]
Se o argumento endereço for informado, configura o endereço de protocolo broadcast para esta interface. De outra forma ele somente configura a flag IFF_BROADCAST da interface. Se a
palavra-chave for precedida por um sinal de menos (-) , então a flag é removida.

[-]pointopoint [endereço]
Esta palavra-chave habilita o modo ponto-a-ponto da interface, significando que ela é um link direto entre duas máquinas sem ninguém ouvindo (ou, pelo menos nós esperamos que este seja o
caso :-) Se o argumento endereço for informado, configura o endereço de protocolo do outro lado do link, exatamente como a palavra-chave obsoleta dstaddr faz. De outra forma, ela somente
configura a flag IFF_POINTOPOINT da interface. Se a palavrachave for precedida por um sinal de menos (-) , então a flag é removida.

hw
 Configura o endereço de hardware para esta interface, se o driver do dispositivo suportar esta operação. A palavra-chave deve ser seguida pelo nome da classe do hardware e o equivalente
em ASCII do endereço de hardware. As classes de hardware atualmente suportadas incluem ether (Ethernet), ax25 (AMPR AX.25), ARCnet e netrom (AMPR NET/ROM).

multicast
Inicializa a flag de multicast para a interface. Normalmente, isto não será necessário já que os drivers ajustam as flags corretas por si só.

endereço
O nome ou endereço IP da máquina (um nome de máquina será traduzido para um endereço IP) da interface. Este parâmetro é necessário, apesar da sintaxe atualmente não requisitá-lo.

ARQUIVOS
/proc/net/socket
/proc/net/dev


Depois de configurar e Levantar o serviço vamos testar o funcionamento dando um ping externo para um site qualquer www.globo.com

Assim:

urutau@urutec ~ $ ping www.globo.com
PING www.globo.com (186.192.82.163) 56(84) bytes of data.
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=1 ttl=248 time=13.1 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=2 ttl=248 time=13.9 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=3 ttl=248 time=14.7 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=4 ttl=248 time=15.1 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=5 ttl=248 time=12.4 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=6 ttl=248 time=13.1 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=7 ttl=248 time=13.7 ms
64 bytes from 186-192-82-163.ptr.globo.com (186.192.82.163): icmp_seq=8 ttl=248 time=14.0 ms
^C
--- www.globo.com ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7010ms
rtt min/avg/max/mdev = 12.444/13.800/15.101/0.820 ms
urutau@urutec ~ $

OK nossa placa já esta instalada configurada e funcionando perfeitamente, veja ao final que foram transmitidos 8 pacotes recebidos 8 pacotes sem nenhuma perda.

Para a implementação de uma rede, precisaremos de um servidor, este obrigatoriamente deverá t er no mínimo duas placas de rede, uma para a conexão externa e outra para conexão com os host internos.

Alguns truques de configuração de placas de redes.
Veremos isso no próximo post.



Nenhum comentário:

Postar um comentário