Rede e Roteamento: mudanças entre as edições
Linha 5: | Linha 5: | ||
<ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref> | <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref> | ||
--> | --> | ||
==Configuração de interface de rede== | ==Configuração de interface de rede== | ||
Linha 83: | Linha 56: | ||
*MTU: 1500 -> ''Maximum Transfer Unit'' -> Tamanho máximo do datagrama suportado pelo enlace | *MTU: 1500 -> ''Maximum Transfer Unit'' -> Tamanho máximo do datagrama suportado pelo enlace | ||
===Configuração manual de rede=== | |||
;Comando dhclient: Permite a '''configuração dinâmica''' de um ''''desktop'''' com usando um ''servidor DHCP''. Para tal é necessário identificar a '''interface de rede''' com '''ifconfig''' e utilizar o comando: | ;Comando dhclient: Permite a '''configuração dinâmica''' de um ''''desktop'''' com usando um ''servidor DHCP''. Para tal é necessário identificar a '''interface de rede''' com '''ifconfig''' e utilizar o comando: | ||
Linha 104: | Linha 77: | ||
A configuração de uma interface de rede com '''ifconfig''' não é permanente no sistema. Caso se deseje uma configuração permanente deve-se editar o arquivo '''/etc/network/interfaces'''. | A configuração de uma interface de rede com '''ifconfig''' não é permanente no sistema. Caso se deseje uma configuração permanente deve-se editar o arquivo '''/etc/network/interfaces'''. | ||
===Configuração | ===Configuração permanente das interfaces de rede=== | ||
====Arquivo /etc/network/interfaces==== | ====Arquivo /etc/network/interfaces==== | ||
O arquivo '''[http://manpages.ubuntu.com/manpages/trusty/en/man5/interfaces.5.html interfaces]''' | O arquivo '''[http://manpages.ubuntu.com/manpages/trusty/en/man5/interfaces.5.html interfaces]''' permite configurar de modo permanente as interfaces de rede, as quais são ativadas automaticamente na hora do ''boot''. | ||
;Configuração dinâmica | ;Configuração dinâmica com arquivo /etc/network/interfaces: | ||
evandro@ubuntuServer:/etc/network$ more interfaces | evandro@ubuntuServer:/etc/network$ more interfaces | ||
# This file describes the network interfaces available on your system | # This file describes the network interfaces available on your system | ||
Linha 121: | Linha 94: | ||
auto eth0 | auto eth0 | ||
iface eth0 inet dhcp | iface eth0 inet dhcp | ||
:No exemplo a interface '''eth0''' recebe configuração via '''DHCP''' e a interface '''lo''' é o endereço de '''''loopback''''' utilizados para testes locais | |||
;Configuração estática com arquivo /etc/network/interfaces: | |||
auto eth0 | |||
iface eth0 inet static | |||
address 192.168.20.10 | |||
netmask 255.255.252.0 | |||
gateway 192.168.20.1 | |||
Após a edição da configuração o serviço de rede deve ser reiniciado: | |||
/etc/init.d/networking restart | |||
===route=== | ===route=== |
Edição das 00h18min de 10 de agosto de 2017
Rede e Roteamento
Configuração de interface de rede
Para adicionar uma máquina na rede é obrigatória a configuração de no mínimo dois parâmetros, o endereço IP e a máscara de rede. Com isto a máquina já está apta para se comunicar com outras na mesma rede local.
Para uma configuração completa é ainda necessário definir o nome da máquina, o roteador padrão (default gateway) e o servidor de nomes (DNS).
Todos estes parâmetros podem ser configurados estaticamente pelo administrador, ou dinamicamente por meio de um servidor DHCP.
A configuração estática é recomendada para servidores, já a configuração dinâmica é utilizada para máquinas desktop de uso geral [1].
ifconfig
O aplicativo ifconfig pode ser utilizado para visualizar a configuração ou configurar uma interface de rede. Se nenhum argumento for passado na chamada do ifconfig, o comando mostra a configuração atual de cada interface de rede.
- Exemplo
- Saída do comando ifconfig:
evandro@ubuntuServer:~$ ifconfig eth0 Link encap:Ethernet Endereço de HW 08:00:27:44:99:83 inet end.: 192.168.1.67 Bcast:192.168.1.255 Masc:255.255.255.0 endereço inet6: fe80::a00:27ff:fe44:9983/64 Escopo:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 pacotes RX:152 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:85 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:19360 (19.3 KB) TX bytes:11957 (11.9 KB) 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:0 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
- Descrição da saída do comando ifconfig
Interfaces de rede:
- eth0 -> Configuração da interface de rede cabeada (placa de rede);
- lo -> Configuração da interface de loopback, utilizado para testes locais do protocolo IP;
Parâmetros principais indicados para interface: eth0
- Encapsulamento do Link: Ethernet -> Indica que o tipo de rede é Ethernet;
- inet end: 192.168.1.67 -> Endereço IP;
- Masc: 255.255.255.0 -> Máscara de rede;
- Bcast: 192.168.1.255 -> Endereço de broadcast;
- Endereço de HW: 08:00:27:44:99:83 -> Endereço físico da interface;
- endereço inet6: fe80::a00:27ff:fe44:9983/64 Escopo:Link -> Endereço IPv6 de escopo local gerado por autoconfiguração
- MTU: 1500 -> Maximum Transfer Unit -> Tamanho máximo do datagrama suportado pelo enlace
Configuração manual de rede
- Comando dhclient
- Permite a configuração dinâmica de um 'desktop' com usando um servidor DHCP. Para tal é necessário identificar a interface de rede com ifconfig e utilizar o comando:
dhclient eth0
- Configuração com ifconfig [2]
- Permite configurar uma interface de rede, a qual fica automaticamente ativada. Por exemplo:
ifconfig eth1 192.168.20.10 netmask 255.255.252.0
Desativar uma interface:
ifconfig eth1 down
Ativar uma interface:
ifconfig eth1 up
Ao se configurar uma interface de rede, cria-se uma rota automática para a sub-rede diretamente acessível via aquela interface. Isto se chama roteamento mínimo.
A configuração de uma interface de rede com ifconfig não é permanente no sistema. Caso se deseje uma configuração permanente deve-se editar o arquivo /etc/network/interfaces.
Configuração permanente das interfaces de rede
Arquivo /etc/network/interfaces
O arquivo interfaces permite configurar de modo permanente as interfaces de rede, as quais são ativadas automaticamente na hora do boot.
- Configuração dinâmica com arquivo /etc/network/interfaces
evandro@ubuntuServer:/etc/network$ more interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
- No exemplo a interface eth0 recebe configuração via DHCP e a interface lo é o endereço de loopback utilizados para testes locais
- Configuração estática com arquivo /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.20.10 netmask 255.255.252.0 gateway 192.168.20.1
Após a edição da configuração o serviço de rede deve ser reiniciado:
/etc/init.d/networking restart
route
O comando route mostra e manipula tabelas de roteamento no Linux.
Para verificar a tabela de roteamento do computador, executar o comando:
route -n
- Exemplo
evandro@ubuntuServer:~$ route -n Tabela de Roteamento IP do Kernel Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface 0.0.0.0 192.168.20.1 0.0.0.0 UG 0 0 0 eth0 192.168.20.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
- Na primeira linha o destino 0.0.0.0 indica uma rota default, ou qualquer IP diferente da rede local -> Para tal a saída é o roteador padrão 192.168.20.1.
- Na segunda linha o destino 192.168.20.0 indica a rede local -> Para tal, o roteador 0.0.0.0 indica que não há necessidade de roteamento pois o destino está na própria rede.
Definição de rotas estáticas
Rotas estáticas podem ser adicionadas a uma tabela de roteamento de um host com os comandos:
- Configuração do roteador padrão da rede:
route add default gw 192.168.20.1 dev eth0
- Adição de uma rota estática em um roteador:
route add -net 192.168.20.0 netmask 255.255.252.0 gw 10.0.0.2 dev eth1
- Remover uma rota:
route del -net 192.168.20.0 netmask 255.255.252.0 gw 10.0.0.2 dev eth1
IP alias
Pode-se associar mais de um endereço a uma mesma interface de rede, os chamados IP alias. Isto pode ser útil em configurações especiais, por exemplo, quando temos duas sub-redes compartilhando o mesmo domínio de colisão [1].
ifconfig eth0:0 192.168.10.100 netmask 255.255.255.0 ifconfig eth0:1 192.168.20.100 netmask 255.255.255.0 evandro@ubuntuServer:~$ ifconfig eth0 Link encap:Ethernet Endereço de HW 08:00:27:44:99:83 inet end.: 192.168.1.67 Bcast:192.168.1.255 Masc:255.255.255.0 endereço inet6: fe80::a00:27ff:fe44:9983/64 Escopo:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 pacotes RX:480 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:296 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:50458 (50.4 KB) TX bytes:38253 (38.2 KB) eth0:0 Link encap:Ethernet Endereço de HW 08:00:27:44:99:83 inet end.: 192.168.10.100 Bcast:192.168.10.255 Masc:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 eth0:1 Link encap:Ethernet Endereço de HW 08:00:27:44:99:83 inet end.: 192.168.20.100 Bcast:192.168.20.255 Masc:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 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:0 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) evandro@ubuntuServer:~$ route -n Tabela de Roteamento IP do Kernel Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Para tornar o IP alias permanente deve editar o arquivo
/etc/network/interfaces
- e acrescentar as seguintes informações:
auto eth0:1 iface eth0:1 inet static address 192.168.10.100 netmask 255.255.255.0 broadcast 192.168.10.255 network 192.168.10.0
- Salvar o arquivo e reiniciar a configuração de rede com o comando:
/etc/init.d/networking restart
Configuração do cliente DNS
A configuração cliente do servidor de nomes (DNS) indica qual o servidor de nomes será consultado para traduzir nomes de domínio para endereços IP.
No Ubuntu o arquivo de configuração do DNS é o /etc/resolve.conf e é atualizado automaticamente pelo sistema.
Para se editar manualmente este arquivo deve-se desabilitar o serviço automático de atualização, através do comando dpkg-reconfigure resolvconf, escolhendo a primeira opção como yes e as demais opções deixando o padrão. Em seguida edita-se o arquivo /etc/resolv.conf, por exemplo:
#DNS público da Google nameserver 8.8.8.8
Configuração de servidor para compartilhar conexão com a Internet
Um servidor com duas placas de rede pode ser configurado como roteador, separando o tráfego proveniente da Internet do tráfego da rede local.
- Exemplo de uma configuração típica de um servidor com duas placas
- Referência [3].
No exemplo a interface eth0 usa endereços IP privados na faixa 192.168.1.x/24. A interface eth1 é configurada como cliente DHCP, recebendo endereço IP do provedor.
Se o acesso a Internet é provido via ADSL é recomendável manter o modem configurado como bridge, desta forma o servidor recebe a configuração completa do endereçamento IP do provedor e acesso a todas as portas de entrada, permitindo que o servidor seja acessado remotamente via SSH [3].
- Exemplo de configuração do arquivo /etc/network/interfaces
auto lo 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
A interface de rede do servidor voltada para a rede interna (eth0) deve receber um endereço IP estático, dentro da faixa de IP privados escolhida para a rede interna. O endereço IP de rede local do servidor será o roteador padrão (gateway) da rede.
Para configurar as demais estações da rede interna pode-se utilizar configuração via DHCP, com o servidor de configuração dinâmica de IP sendo provido pelo servidor.
- Ativando o servidor como roteador
Para ativar o roteamento no servidor deve-se executar o comando:
echo 1 > /proc/sys/net/ipv4/ip_forward
Com isto o servidor assume papel de roteador, encaminhando para a Internet pacotes originados na rede local.
NAT
O NAT (Network Address Translation) é um mecanismo que possibilita a uma rede local usar apenas um endereço IP público, no que concerne ao mundo exterior, e utilizar endereços IP privados no que concerne a rede interna.
- Configuração do NAT no servidor
- Referência: [2]
O NAT no Ubuntu se configura com iptables. Exemplo de comandos:
modprobe iptable_nat iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
O primeiro comando ativa o NAT no módulo iptables.
O segundo comando define a regra para fazer com que todo o tráfego originado em 192.168.1.0/24, e que sai pela interface eth1 deve ser mascarado com o endereço IP dessa interface. Esta regra diz o seguinte: todos os pacotes que passarem (POSTROUTING) por esta máquina com origem de 192.168.1.0/24 e sairem pela interface eth1 serão mascarados, ou seja sairão desta máquina com o endereço de origem como sendo da eth1. O alvo MASQUERADE foi criado para ser usado com links dinâmicos (tipicamente discados ou ADSL), pois os mapeamentos se perdem se o link sair do ar.
- Configuração permanente ativada no boot do sistema
- Depois de realizada a configuração do servidor como roteador para a rede interna deve-se fazer com que os comandos sejam ativados no boot do sistema.
Uma forma de fazer isto é inserir os comandos no arquivo /etc/rc.local:
#!/bin/sh # rc.local modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
Servidor DHCP
Um servidor DHCP permite configurar automaticamente as interfaces de rede de máquinas em uma rede local.
Dentre os parâmetros que podem ser configurados automaticamente pelo servidor DHCP estão: endereço IP, máscara de rede, roteador padrão, servidores DNS, nome de host e nome de domínio, entre outros.
O serviço de configuração automática utiliza o Protocolo DHCP, o qual define as regras de negociação entre cada interface de rede e o servidor DHCP.
Cliente DHCP
O cliente DHCP (dhclient)vem instalado por padrão nas estações Ubuntu. Este serviço é acionado automaticamente quando a estação é configurada para obter endereço IP automaticamente.
Também é possível chamar o serviço para obter a configuração IP automática para uma dada interface de rede, por exemplo, o comando:
dhclient eth0
Instalação e configuração do servidor DHCP
- Instalação do servidor DHCP
- Para instalação do servidor DHCP usa-se o comando:
apt-get install -y dhcp3-server
- A opção -Y responde yes automaticamente aos avisos e corre não-interactivamente.
Quando instalado o servidor DHCP o mesmo fica disponível através do serviço dhcpd.
- Configuração do servidor DHCP
- A configuração do servidor DCHP é realizada através do arquivo /etc/dhcpd.conf:
Exemplo de configuração:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.150; option broadcast-address 192.168.1.255; option routers 192.168.1.1; option domain-name-servers 200.17.101.9; }
Opções usadas na configuração:
- lease-time controla o tempo de renovação cada 10 minutos (600 segundos);
- max-lease-time controla o tempo máximo que uma estação pode usar o endereço IP. Usado quando existe mais clientes que endereços IP disponíveis para aluguel;
- range indica a faixa de IP que será usada para aluguel;
- routers indica o endereço do roteador padrão;
- domain-name-servers indica os servidores DNS que serão usados pelas estações.
- Interface que será servida pelo serviço DHCP
- Deve ser indicada editando o arquivo:
/etc/default/isc-dhcp-server
- Conteúdo:
INTERFACES="eth0"
- Esta configuração provê aluguel de endereços IP na faixa 192.168.1.100 a 192.168.1.150.
- Iniciar o servidor DHCP
service isc-dhcp-server restart
- Arquivo de log
- No arquivo /var/log/syslog ficam gravadas as trocas de mensagens entre o cliente e o servidor DHCP:
tail /var/log/syslog
- Aluguéis no servidor DHCP
- São visíveis no arquivo:
cat /var/lib/dhcp/dhcpd.leases
Referências
- ↑ 1,0 1,1 Erro de citação: Marca
<ref>
inválida; não foi fornecido texto para as refs chamadasVALLE
- ↑ 2,0 2,1 VALLE, O. T. Gerência de Redes, Diário Aula, 2014. http://wiki.sj.ifsc.edu.br/wiki/index.php/GER20706-2014-1
- ↑ 3,0 3,1 MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.
--Evandro.cantu (discussão) 18h43min de 22 de novembro de 2015 (BRST)