Você está na página 1de 47

Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

wiki.cm.utfpr.edu.br

Configuração de uma infraestrutura de


rede virtual
Esta prática consiste na implementação de um cenário de redes,
com a utilização de máquinas virtualizadas (Oracle VirtualBox 4.0
[1]) com o Sistema Operacional GNU/Linux em sua distribuição
Debian 6.0. Para compor o cenário são criadas 5 virtualizações:
duas como clientes, duas como servidores e uma como roteador
da infraestrutura de rede. Espera-se mostrar nessa prática que um
sistema operacional Linux é versátil em diferentes tipos de papéis:
Cliente, Servidor e Roteador.

Tem-se por objetivos:

Definição de uma infraestrutura de rede com acesso à Internet.

Instalação e configuração da infraestrutura de rede em um


ambiente virtualizado.

Configuração das interfaces de acordo com a rede projetada.

Configuração de uma máquina virtual com instalação Linux


como roteador.

Configuração de duas máquinas virtuais com instalação Linux


como clientes.

Configuração de duas máquinas virtuais com instalação Linux

1 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

como servidores.

Teste e monitoramento da infraestrutura da rede.

Ambientação aos comandos básicos de administração de


redes.

Máquinas virtuais

Máquinas virtuais (MV) são emuladores que podem simular um


ambiente computacional real através da camada de software
criando um ambiente virtualizado de sistema operacional tendo,
por exemplo, dispositivos como: HDs (Hard Disk), memórias,
dispositivos de entradas e saídas, placas de rede e etc. Alguns
emuladores conhecidos são: o VMware, o Bochs e o VM
VirtualBox. Neste ambiente virtualizado é possível efetuar a
instalação de sistemas operacionais eficientes. Pode-se dizer,
então, que virtualizar um sistema operacional é o mesmo que
instalar um sistema operacional, simulando uma máquina real,
dentro de uma aplicação, dividindo os recursos de um computador
em múltiplos ambientes de execução. As máquinas virtuais são
extremamente úteis, pois permitem ao usuário executar diferentes
tipos de sistemas operacionais.

VirtualBox

O VirtualBox é um exemplo de aplicação para criação e


gerenciamento de máquinas virtuais, este software foi
desenvolvido pela Sun Microsystems e posteriormente adquirido
pela Oracle. Este software permite a instalação dos principais
sistemas operacionais em uso assim como a sua replicação
(clonagem). Além disso, é possível a execução de vários sistemas

2 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

operacionais ao mesmo tempo em um computador, além da


possibilidade da criação de uma rede virtual para interligá-los,
funcionando como uma espécie de switch virtual. O VirtualBox
opera em 6 modos de conexão que são:

Não conectado: como o próprio nome diz, é um modo inativo


sem atividades de rede;

NAT (Network Address Translation): uma interconexão entre


o sistema operacional virtualizado e o sistema operacional
hospedeiro. possibilitando o compartilhamento da rede externa
ao sistema virtualizado. Este modo é necessário quando não é
possível a máquina virtual obter um endereço IP real da rede
externa, ou quando deseja tornar a MV invisível e inalcançável
pela rede externa, pelo menos não diretamente;

Placa em modo Bridge (ponte): neste modo a interface de


rede do hospedeiro é compartilhada diretamente como os
sistemas virtualizados;

Rede interna: é uma rede a qual máquinas virtualizadas


configuradas com a mesma faixa de IPs e nome de redes tem
acesso a rede externa e também às outras máquinas;

Placa de Rede Exclusiva de Hospedeiro (host only): é uma


rede ponto-a-ponto interligando o hospedeiro à máquina
virtualizada;

E por fim, temos o modo Driver Genérico: permite ao usuário


selecionar um driver que pode ser incluído no VirtualBox, numa
recompilação, ou fornecido por um pacote de extensão. Possui
submodos, os quais permitem que máquinas virtuais, em

3 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

hospedeiros distintos, fiquem conectadas numa mesma


infraestrutura de rede. Em outras palavras, permite a conexão
em rede de sistemas convidados que estão em diferentes
sistemas hospedeiros.

Roteamento

Roteamento é a prática de encaminhar pacotes de uma origem até


um destino baseado em um endereço físico (MAC) e lógico (IP).
Classifica-se como “Roteador”, o equipamento eletrônico que
efetua o roteamento. Os roteadores operam no modo hop-by-hop
(salto por salto), em que cada roteador recebe um pacote de
dados, abre-o, verifica o endereçamento de destino no cabeçalho
IP, calcula o próximo salto para deixar o pacote um passo mais
próximo do endereço de destino. Esse processo se repete até que
o pacote chegue ao seu host de destino. Isso é possível graças a 2
elementos básicos: tabela de roteamento e protocolos de
roteamento.

O Sistema Operacional Linux possui em seu Kernel um conjunto


poderoso de recursos para definição de regras de roteamento, o
que permite que o mesmo seja utilizado para se obter soluções de
problemas não convencionais de roteamento nos quais, muitas
vezes, nem mesmo roteadores propriamente ditos, construídos em
hardware especializado, oferecem uma solução a contento.

Embora o Linux possua tanta flexibilidade, perdemos o uso de tais


funções pelo simples fato de que na maior parte dos sistemas a
configuração é baseada em utilitários presentes em toda base
UNIX, nos quais a configuração e uso das funções especiais do
Kernel do Linux não são acessíveis, como os comandos arp,
ifconfig e route. Estes comandos, embora utilizem syscalls

4 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

adaptadas ao novo subsistema, fazem as chamadas passando


diversos argumentos com valores padrão, perdendo-se a
flexibilidade de configuração neles existente. Contudo, um pacote
chamado iproute2 libera o poder do subsistema de rede do Linux,
permitindo a configuração de sistemas com toda a flexibilidade
existente no Kernel, de forma poderosa, sem perder a facilidade de
uso das ferramentas anteriores.

O roteador possui uma tabela de rotas que serve para o mesmo


decidir o próximo destino de um pacote de rede. Cada endereço IP
é dividido em duas partes, uma referente à rede a qual ele
pertence, e outra referente ao número do host naquela rede. O
campo máscara é o responsável por essa divisão. O roteador, para
saber a rede a qual pertence certo destino, faz uma operação de
AND com a máscara, tendo como resultado a rede. Quando um
pacote chega, o roteador examina o campo de destino do mesmo,
calcula a rede à qual pertence aquele destino, compara com a sua
tabela de rotas, e encaminha o mesmo para o gateway correto.

Exemplo de tabela de roteamento com o comando route:

Figura 1. Tabela de roteamento


Segue abaixo uma explicação detalhada sobre os campos da
tabela de roteamento apresentada acima:

Destino - O campo destino é utilizado junto com o campo


máscara, os dois juntos correspondem ao IP do host de destino.
Roteador - O campo roteador mostra o endereço IP do próprio
roteador.

5 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Máscara - O campo máscara é utilizado para definir em qual rede


o IP do host de destino esta presente, os números existentes em
uma máscara (255.255.255.255) de rede mostram qual o valor de
cada bit, ela mostra quais os campos devem ser 1 e quais devem
ser 0 dentro de um endereço de 32 bits.
Métrica - O campo métrica é o padrão de medida que é usado
pelos algoritmos de roteamento para determinar o melhor caminho
para um destino.
Iface - O campo iface mostra a interface de rede em qual as
configurações estão configuradas.

[2] [3]

Os materiais necessários para alcançar os objetivos propostos são:

VirtualBox V 4.2.12 [4]

Distribuição Linux Debian (net install) [5]

Editor de texto (pico, nano, vi)

Editor de diagramas Dia [6]

Aplicativos de administração de redes (netstat, ss, ifconfig,


route, ifstat, bmon, dstat)

Comandos Essenciais para Administração da Rede

Durante e/ou depois dos procedimentos, iremos utilizar alguns


comandos. Listamos abaixo alguns deles, e suas definições para
um maior entendimento:

6 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Mostra conexões de rede, tabelas de roteamento, estatísticas de


interface e conexões mascaradas.

netstat

Mostra todas as conexões do computador, incluindo todos os


protocolos e sockets (TCP, UDP, RAW).

netstat -a

As opções -t, -u, -w e -x exibem as atividades dos protocolos TCP,


UDP, RAW ou Unix Socket respectivamente. Então a combinação
pode variar, conforme abaixo:

(todas as conexões TCP)

netstat -at

(todas as conexões UDP)

netstat -au

(todas as conexões RAW)

netstat -aw

(todas as conexões Unix Socket)

netstat -ax

(todas as conexões TCP e UDP)

netstat -aut

7 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

A opção abaixo é uma das mais interessantes, falando em especial


do -n, que faz com que o comando não tente resolver nomes
através de consulta ao DNS. Imagine um servidor onde temos
milhares de conexões, se não usarmos o -n ficaríamos facilmente
alguns bons minutos esperando o comando terminar por completo.
Pode-se combinar a vontade, como por exemplo: netstat -autn ,
netstat -axn etc.

netstat -na

Exibe as rotas do seu computador, novamente, ao omitir a opção


-n o comando tentará resolver todos os IPs para nome. netstat
-r ou sem resolver nomes: netstat -nr

netstat -o

Mostra o temporizador da conexão, ou seja, a quanto tempo essa


conexão está estabelecida, pode-se combinar a vontade: netstat
-autno, netstat -axuo.

Exibe as informações de todas as interfaces ativas. Podemos ter


estatísticas de erros de entrada/saída, assim como estatística de
tráfego.

netstat -i

Repete o comando ao final, muito útil para verificar o momento


exato que uma conexão é estabelecia ou para ter noção do
aumento de tráfego nas interfaces, ex.: netstat -ic , netstat -atnc.

netstat -c

8 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Exibe uma lista mais completa. Deve ser combinado com as outras
opções, como por exemplo o netstat -atne. Com esse comando
temos mais duas colunas, USER e INODE, ou seja, o usuário que
subiu o processo que originou a abertura da porta e o INODE
pertencente.

netstat -e

Exibe o daemon e o PID que estão ligados a essa porta, muito


importante para detectarmos o daemon responsável.

netstat -p

Exibe as estatísticas dos protocolos, ou seja, quanto foi trafegado


em cada protocolo. Podemos combinar para assim pegarmos a
estatística de um determinado protocolo, ex.: netstat -st, netstat
-su.

netstat -s

ss

Sucessor do netstat, O comando SS tem a mesma utilidade do


comando netstat, mas este último tem um sério problema de
lentidão, só visível em ambientes com mais de 5k conexões
simultâneas e não trás tantos detalhes quanto as conexões
TCP/IPs e seus estados. Para isso existe o comando SS, que trás
as seguintes informações aos seus usuários:

Todos sockets TCP.

# ss -t -a

9 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Todos sockets UDP.

# ss -u -a

Todas conexões estabelecidas via SMTP

# ss -o state established '( dport = :smtp or


sport = :smtp )'

Todas conexões estabelecidas via HTTP

# ss -o state established '( dport = :http or


sport = :http )'

Encontrar todos os processos locais conectados ao servidor X

# ss -x src /tmp/.X11-unix/*

ifconfig

Comando para configurar, controlar e visualizar informações sobre


parâmetros TCP/IP de uma interface de rede.

Configurando uma interface de rede com ip fixo:

ifconfig eth0 172.30.10.116 netmask 255.255.255.0


up

arp

Exibe e manipula o cache ARP do kernel de várias maneiras. As


principais funções são adicionar, remover e visualizar os registros
atuais.

10 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

O endereço MAC deve ser utilizado quando um computador


precisa se comunicar com outro via Ethernet, mas quando um
equipamento tenta fazer uma comunicação, ele conhece apenas o
IP do destino, assim o mesmo precisa descobrir qual é o endereço
MAC deste IP de destino e através desse endereço conseguir fazer
a comunicação e transmitir pacotes.[7]

Para conseguir descobrir o endereço MAC do IP de destino o


equipamento utiliza o arp.

Isso é feito da seguinte forma, o equipamento de origem envia um


pacote de broadcast Ethernet, dizendo qual o IP de destino com
qual ele quer se comunicar, este pacote de broadcast é enviado a
todos os endereços de IP que se comunicam por esta mesma
rede. Quando a máquina com o IP de destino recebe esse pacote,
ela envia uma resposta com seu endereço MAC e assim os dois
equipamentos estabelecem um comunicação.[7]

Diferença entre tabela de roteamento estática e tabela de


roteamento dinâmica no arp: A tabela de roteamento estática é
construída e atualizada por intermédio de uma pessoa, já a tabela
de roteamento dinâmica é construída e atualizada
automaticamente pelos roteadores através do uso de protocolos de
atualização de tabelas de roteamento.

Resumindo: O arp envia um sinal para todos os equipamentos na


mesma VLAN procurando por um determinado IP, quando a
máquina com o IP solicitado recebe esse sinal, ela envia outro
sinal com seu endereço MAC. O arp só funciona em equipamentos
que estiverem dentro da mesma VLAN.

Comando no linux: arp -a

11 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Comando no Windows: arp -a

Como pode-se ver nas duas imagens acima, tanto no Linux quanto
no Windows, o comando arp -a mostra a tabela arp, onde podem
ser visualizados endereços de IP que estão associados a um
determinado endereço MAC.[7]

ping

Utiliza o protocolo ICMP para testar a comunicação entre dois


pontos na rede.

Ping, da sigla, em inglês: Packet Internet Network Grouper.

É o tempo que uma informação demora para chegar a um destino


e voltar ao seu computador, ou o tempo decorrido apenas para

12 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

chegar a um servidor, dependendo da funcionalidade a qual ele


deve ser aplicado.

Em termos mais técnicos, o ping é um comando usado pelo


protocolo ICMP que serve para testar a conectividade entre
equipamentos, e foi criado para o uso em redes com a pilha de
protocolo TCP/IP (como por exemplo a internet).

Por meio do ping, pode ser executado um teste de conexão para


se descobrir se um determinado equipamento de rede está
funcionando. Ele faz isto enviando pacotes através do protocolo
ICMP para o equipamento de destino e na "escuta" das respostas.

Quando o "destinatário" recebe este pacote, ele envia uma


resposta e quando esta retorna, o tempo decorrido entre o envio e
o recebimento é contado.

Este resultado é chamado "Tempo de ping", e medido em


milissegundos (ms). Quanto mais alto ele for, mais a estabilidade
de sua conexão está comprometida com relação ao "destinatário"
para o qual ela está sendo testada.

Sintaxe: ping parâmetro host

Parâmetros: -b :: poderá pingar para endereços broadcast. -c n :: o


ping termina após enviar um certo número n de pacotes ao host. -i
n :: aguarda n segundos para enviar o próximo pacote. -R ::
registra a rota seguida pelos pacotes até chegar ao seu destino.
-v :: exibe o máximo de informações possível. -V :: exibe a versão
do comando. -w intervalo :: intervalo de timeout, em segundos.

Exemplos: Pingando o IP do Google:

13 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

$ ping www.google.com
PING www.l.google.com (190.98.170.34) 56(84)
bytes of data.
64 bytes from 190.98.170.34: icmp_req=1 ttl=57
time=8.22 ms
64 bytes from 190.98.170.34: icmp_req=2 ttl=57
time=3.93 ms
64 bytes from 190.98.170.34: icmp_req=3 ttl=57
time=4.83 ms

Pingando um host da mesma rede que estou:

$ ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of
data.
64 bytes from 192.168.10.2: icmp_req=1 ttl=64
time=49.1 ms
64 bytes from 192.168.10.2: icmp_req=2 ttl=64
time=1.09 ms
64 bytes from 192.168.10.2: icmp_req=3 ttl=64
time=0.985 ms

Se o endereço ou IP estiver indisponível, irá ser acusado no


terminal (linha de comando), conforme vemos abaixo:

$ ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of
data.
From 192.168.10.16 icmp_seq=1 Destination Host
Unreachable
From 192.168.10.16 icmp_seq=2 Destination Host
Unreachable

14 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

From 192.168.10.16 icmp_seq=3 Destination Host


Unreachable
From 192.168.10.16 icmp_seq=4 Destination Host
Unreachable
From 192.168.10.16 icmp_seq=5 Destination Host
Unreachable
From 192.168.10.16 icmp_seq=6 Destination Host
Unreachable

[8]

route

O comando route pode ser utilizado de diversas formas, a principal


seria exibir e manipular a tabela de rotas. A sua principal utilização
é a criação de rotas estáticas para hosts ou redes através de uma
interface padrão. Veremos alguns exemplos e parâmetros da
utilização do comando, como quando as opções add ou del são
utilizadas e listagem de rotas existentes. Essas opções são as
principais da tabela de rotas.

Sintaxe do comando:

route [opções] add/dell [-net|-host] [endereço]


[máscara] [opções]

Opções:

Parâmetro Especificação
-v Lista detalhada.
--version Mostra a versão e outras
informações.

15 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

-n Mostra as rotas definidas, sem


resolver nomes.
-e Mostra a tabela de roteamento no
formato Netstat.
-ee Mostra uma imensa linha contendo
todos os parâmetros da tabela de roteamento.
-net Refere-se ao endereço de uma
rede, encontrado no arquivo /etc/networks.
-host Refere-se ao endereço de uma
máquina.
del Remove uma rota.
add Adiciona uma rota.
netmask Opção para adicionar máscara de
rede da rota a ser adicionada.
gw Adiciona o gateway, onde qualquer
pacote de destino será roteado através do gateway
específico.
metric Configura o campo métrico da
tabela de roteamento, porém não é usado por
kernels mais recentes,
somente daemons de roteamento a
utilizam.
mss Especifica o tamanho máximo do
segmento TCP em bytes (MSS) para conexões TCP
através desta rota.
window Especifica o tamanho da janela
TCP para conexões TCP através desta rota.
Tipicamente somente usado para
redes AX.25 e em drivers
incapazes de tratar frames back to back.
irtt Tempo de ida e volta de conexões
TCP desta rota.

16 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

reject Bloqueia rota antes do uso da


rota default.
reinstate Instala rotas modificadas ou
dinâmicas, são usadas por daemons de roteamento.
dev Refere-se ao dispositivo - eth0,
eth1.
dev If Força o uso do dispositivo
indicado, pois o kernel pode determinar o
dispositivo por conta própria.

Exemplos de utilização do comando: Podemos adicionar entradas


na interface loopback usando a máscara 255.0.0.0 e associá-la ao
dispositivo lo (local).

# route add -net 127.0.0.0 netmask 255.0.0.0 dev


lo

Para adicionar uma rota padrão é necessário indicar na sintaxe do


comando default e indicar em qual interface os pacotes serão
roteados.

# route add default gw 192.168.0.1 dev eth0

O status da tabela de roteamento pode ser observada com a opção


-n, onde serão exibidas 8 colunas (destino, roteador, MascaraGen,
opções, métricas, Ref, Uso, Iface), a coluna opção relata o status
de cada rota, se está habilitada, se está instalada por um daemon
ou sendo rejeitada, entre outros. [9]

Opção Especificação
U Está habilitada
H Refere-se que o alvo é uma máquina

17 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

G Usa o roteador
R Está apontando para um roteamento dinâmico
D Rota instalada dinamicamente por
redirecionamento
M Modificada por redirecionamento
! Rejeitada

Exemplo de saída do comando:

Destino: simboliza o destino da rota.

Roteador: simboliza o gateway, no caso qual o caminho que


deve-se seguir para alcançar o destino.

Mascara: mascara de rede utilizada para o endereço de destino


destino.

Opções: apresentadas acima as opções disponíveis e suas


especificações.

Métrica: valor métrico de custo inteiro (de 1 a 9999) para a rota,


usado durante a seleção entre várias rotas na tabela de
roteamento que mais se aproximam do endereço de destino de
um pacote que está sendo encaminhado

Ref: Numero de referências a esta rota. Não usado no kernel do


Linux, sempre será 0.

Uso: Contagem de procuras por esta rota.

Iface: Interface através da qual os pacotes IP serão enviados.

18 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 1. Saída do comando route

ip

O comando ifconfig foi e ainda é, na maioria das distribuições


Linux, a ferramenta padrão para configurar interfaces de rede.
Entretanto, o comando ip é o comando IP possibilita a manipulação
e visualização de configurações de dispositivos e roteamento, a
política de roteamento e túneis da nova geração de ferramentas de
rede. Ele não apenas integra funcionalidades de várias
ferramentas antigas, como também oferece uma sintaxe unificada
em todas as funções. O comando ip é parte do pacote iproute.

Sintaxe:

# ip [ OPÇÕES ] OBJETO [ COMANDO [ ARGUMENTOS ]]

OPÇÕES são um conjunto de modificadores opcionais que alteram


o comportamento geral do utilitário ip ou modificam sua saída
(output) dentre elas estão:

-V, -Version: imprime a versão do utilitário ip.

-s, -stats, -statistics: exibe informação como estatísticas ou


alguns valores de tempo.

-f, -family(inet, inet6 ou link): determina o uso de qual família de

19 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

protocolo será empregado.

-4: atalho para -family inet

-6: atalho para -family inet6

-0: atalho para -family link

-o, -oneline: coloca cada registro numa única linha wc -l


<arquivo> : mostra o número de linhas.

-r, -resolve: usa o tradutor de nomes do sistema para mostrar


nomes DNS ao invés de endereços de host.

OBJETO refere-se ao objeto que será manipulado ou sobre o qual


se deseja conseguir informações dentre os objetos temos:

link: refere-se ao dispositivo de rede.

address: refere-se ao endereço do protocolo (IP ou IPv6) de um


dispositivo.

neighbour: referência no cache ARP ou NDISC.

route: referência na tabela de roteamento.

rule: regra na base de dados da política de roteamento.

maddress: endereço multicast.

mroute: referência no cache de roteamento multicast.

20 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

tunnel: tunnel sobre IP.

COMANDO é o que especifica a ação aplicada ao objeto como, por


exemplo,adicionar, deletar e mostrar (ou listar) objetos, mas alguns
deles não permitem todas estas operações ou possuem alguns
comandos adicionais. O comando help está disponível para todos
os objetos. Ele devolve uma lista dos comandos disponíveis e
convenções de sintaxe dos argumentos.

ARGUMENTOS é uma lista de argumentos para o comando, eles


dependem do comando e do objeto,existem dois tipos de
argumentos:

flags: que é uma palavra chave única.

parâmetros: palavras chave seguidas de um valor.

Configurando rede e roteamento usando o comando ip

O comando ip possibilita configurar os endereços dos dispositivos


em uma rede.

O seguinte comando usado para atribuir endereços IP a uma


interface específica (eth1):

# ip addr add 192.168.50.5 dev eth1

O comando ip pode ser usado para atribuir endereços ip a


interfaces de roteadores da seguinte forma, seguindo o padrão
Cisco:

21 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Router>enable
Router#configure terminal
Router(config)#interface ethernet 0/1
Router(config-if)#ip address 192.168.1.1
255.255.255.0
Router(config-if)#no shutdown

O comando ip, dentro de suas especificações em cada dispositivo,


configurar roteamento. Abaixo temos um exemplo da configuração
de rotas em um roteador Cisco usando o protocolo RIP.

Router#
configure terminal
Router(config)#router rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 10.0.0.0

host

É utilizado para a realização de pesquisas de DNS. Normalmente é


usado para converter nomes em endereços IP e vice-versa.

O comando a seguir retorna todos os IPs referentes a um nome:

$ host www.ibm.com
www.ibm.com has address 129.42.20.99
www.ibm.com has address 129.42.21.99
www.ibm.com has address 129.42.16.99
www.ibm.com has address 129.42.17.99
www.ibm.com has address 129.42.18.99
www.ibm.com has address 129.42.19.99

22 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

O comando a seguir retorna o nome referente a um IP:

$ host 129.42.17.99
99.17.42.129.in-addr.arpa domain name pointer
www.ibm.com.

Podemos fazer a consulta e ainda especificar por qual servidor


DNS queremos que seja pesquisado:

$ host www.ibm.com www.google.com


Using domain server:
Name: www.google.com
Address: 8.8.8.8#53
Aliases:

www.ibm.com has address 129.42.20.99


www.ibm.com has address 129.42.21.99
www.ibm.com has address 129.42.16.99
www.ibm.com has address 129.42.17.99
www.ibm.com has address 129.42.18.99
www.ibm.com has address 129.42.19.99

Podemos consultar outros tipos de registros (NS, MX, SOA)


adicionando a diretiva -t no comando

$ host -t ns example.com.br
example.com.br has name server ns1.dnsexample.net
example.com.br has name server ns2.dnsexample.net
example.com.br has name server ns3.dnsexample.net

$ host -t SOA example.com.br


example.com.br SOA ns1.everydns.net.

23 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

hostmaster.example.com.br. 1117670007 3600 900


1209600 3600

$ host -t mx example.com.br
example.com.br mail is handled by 5
mail.example.com.br.

dhclient

Fornece um meio para a configuração de uma ou mais interfaces


de rede usando o DHCP (Dynamic Host Configuration Protocol) ou
protocolo BOOTP.

O comando abaixo atribui um endereço DHCP a interface eth0

$ dhclient eth0

Para atribuir um endereço DHCP a interface uma interface


wireless, utiliza o comando abaixo:

$ dhclient wlan0

dstat

É um substituto versátil para o vmstat, iostat e ifstat. Supera


algumas das limitações e adiciona alguns recursos extras: -
Permite que você visualize todos os recursos do seu sistema
imediatamente, por exemplo, comparar o uso do disco em
combinação com as interrupções do seu controlador IDE, ou
comparar a largura de banda de rede diretamente com a taxa de
transferência do disco (no mesmo intervalo); Exibe informações
mais detalhadas em colunas e indica claramente em que
magnitude e unidade de saída é exibida; Entre outros.

24 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Comando básico:

$ dstat

Comando para visualizar o processo que está consumindo mais


memória RAM:

$ dstat –top-mem

Comando para visualizar a carga de I/O

$ dstat –top-io

tcpdump

Exibe uma descrição do conteúdo de pacotes em uma interface de


rede correspondente a expressão booleana.

nmap

Network Mapper é uma ferramenta de código aberto para


exploração de rede e auditoria de segurança. Ele foi projetado para
scannear rapidamente redes de grande porte, embora ele funcione
bem com hosts individuais.

O nmap é um recurso utilizado nos sistemas operacionais Linux


para scannear portas. Utilizando o comando nmap você consegue
descobrir as portas que estão abertas em um determinado host,
seja na sua rede local ou na internet. O nmap é um pacote
disponível em todas as principais distribuições Linux e podem ser
instaladas quando quiser, quem usa as distribuições derivadas do
Debian pode instalar o pacote via apt-get:

25 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

# apt-get install nmap

Um exemplo simples de uso do nmap em uma máquina na mesma


rede seria:

[10]

# nmap 192.168.0.3.

Saída:
Starting nmap 3.81 ( http://www.insecure.org
/nmap/ )
Interesting ports on 192.168.0.3:
(The 1661 ports scanned but not shown below are
in state: closed)
PORT STATE SERVICE
68/tcp open dhcpclient
631/tcp open ipp
MAC Address: 00:0F:B0:55:EE:16 (Compal
Electronics)
Nmap finished: 1 IP address (1 host up) scanned
in 0.339 seconds

Exemplos de uso do comando nmap:

# nmap -v scanme.nmap.org

através deste comando será rastreado todas as portas TCP da


máquina scanme.nmap.org. E a opção -v habilita o modo verboso,
um modo mais detalhado.

# nmap -sS -o scanme.nmap.org/24

26 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

À partir desta opção é feito um rastreio SYN camuflado, não visível


as 255 máquinas possíveis que estiverem ativas na rede “classe C”
onde o Scanme reside.

# nmap -v -iR 100000 -PO -p 80

Este comando executará uma ação procurando os 100,000 hosts


aleatórios e procurar por servidores web na porta 80. À partir da
opção -PO é desabilitada a enumeração dos anfitriões, uma vez
que enviar primeiramente um par de sondagens para determinar se
um anfitrião está ativo é um desperdício se está sondando uma em
cada anfitrião alvo.
[10]

O Comando nmap também possui alguns padrões de


temporização que define quantos pacotes serão enviados em
determinada faixa de tempo.

1. -T0 (paranoid): Um pacote a cada 5 minutos. Utilizados para


despistar IDS.

2. -T1 (sneaky): Um pacote a cada 15 segundos. Também


utilizado para evitar IDS.

3. -T3 (normal): Múltiplos pacotes para múltiplos alvos. É timing


padrão do nmap.

4. -T4 (aggressive): Scanneia somente 5 minutos por host e não


espera mais de 1,25 segundos por resposta.

5. -T5 (insane): Scanneia 75 segundos por host e não espera 0,3

27 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

segundos por resposta. Realizar testes muito rápidos e se a


rede não for boa os hosts podem cair. [11]

Para salvar o resultado do scan em um arquivo exatamente como


é a saída utiliza-se o seguinte comando:

# nmap -oN saida_nmap.txt (host)

.
E para salvar as informações em um formato XML, utiliza-se esta
sintaxe:

# nmap -oX saida_nmap.xml (host)

Procedimentos

Primeiramente, especificou-se um projeto físico e lógico de rede


para a configuração da infraestrutura de rede virtual. O projeto
físico e lógico de rede é mostrado na figura 1.

Figura 1. Projeto lógico e físico


A modelagem foi feita a partir da ferramenta de modelagem DIA.

A infraestrutura foi feita a partir do projeto mostrado na figura 1.

28 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Observando a figura 1, podemos notar a necessidade de pelo


menos três máquinas virtuais: uma como cliente, outra como
servidor e por fim, mais uma como roteador. Primeiramente,
criou-se uma máquina virtual que servirá como roteador. Em nosso
exemplo iremos utilizar o Virtual BOX 4.2.0 para criação de nossas
máquinas virtuais. No VirtualBox clicamos em Novo para criarmos
uma nova máquina virtual.

Figura 2. Criando uma nova máquina virtual

É apresentada a tela de boas vindas do assistente de


configuração. Clicamos no botão próximo.

Após, o assistente pede o nome da nova máquina virtual, o tipo de


sistema operacional e a versão. Demos o nome de Roteador,
escolhemos como Linux o sistema operacional e Debian como a
versão.

29 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 3. Definindo o Nome e o Sistema Operacional


Na próxima tela, é necessário informar a quantidade de memória
ram. Selecionamos 512 MB.

Figura 4. Definindo a quantidade de memória ram


O assistente nos dá a opção de criar um novo disco rígido ou
utilizar um existente. Criamos um novo disco rígido.

30 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 5. Criando um disco rígido


Após clicar em Próximo temos que escolher qual é o tipo de
arquivo para o novo disco virtual. Deixamos como VDI (Virtual Disk
Image).

Figura 6. Definindo tipo de arquivo para o disco virtual

31 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Agora é necessário informar como será alocado o disco virtual.


Usamos como "dinamicamente alocado".

Figura 7. Definindo a alocação do disco


Depois, temos que informar o nome do arquivo que conterá o disco
virtual e o tamanho. Foi dado o mesmo nome (Roteador) ao
arquivo e 8 GB de tamanho.

32 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 8. Definindo nome do arquivo e tamanho da alocação


Na tela seguinte, é mostrado o sumário. Clicamos em criar, já que
tudo estava como o desejado.

Após criar a máquina virtual, que nos servirá como um roteador, é


necessário criar as próximas máquinas virtuais: o cliente e o
servidor. Para cada uma das máquinas faltantes, foi feito uma
cópia do HD do roteador previamente criado. Para fazer a cópia,
ou clonagem, é necessário utilizar a ferramenta vboxmanage.

Primeiramente, foi feito o clone do HD do roteador para ser


utilizado no cliente.

No terminal, dentro da pasta onde estão os arquivos .vdi:

vboxmanage clonehd Roteador.vdi Cliente.vdi

Depois da clonagem do HD, é necessário criar a máquina virtual


que servirá como cliente especificando o HD clonado do roteador.

33 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

O mesmo processo foi feito para criar a máquina virtual que nos
servirá como servidor.

No terminal, dentro da pasta onde estão os arquivos .vdi:

vboxmanage clonehd Roteador.vdi Servidor.vdi

Configuração de rede

Agora que temos as três máquinas virtuais, foram adicionados três


dispositivos de rede no nosso roteador: um para Internet do tipo
NAT, outro para cliente do tipo rede interna e por fim um para o
servidor também do tipo rede interna. Para realizar a configuração
de um dispositivo de rede no VirtualBox, basta selecionar a
máquina virtual desejada, no caso o roteador e ir até a opção
Configurações, após clicar nessa opção, será aberta uma janela de
configuração dos dispositivos da máquina virtual selecionada. Para
verificar a configuração de rede basta clicar no item Rede, assim
aparecerá na tela as configurações de rede, sendo possível
configurar até 4 dispositivos de rede. Na figura abaixo é possível
verificar a configuração de rede para a máquina roteador ter
acesso a Internet, esse dispositivo pode ser do tipo NAT ou
Bridge, no caso está sendo utilizado o tipo NAT.

34 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 9. Configuração do dispositivo de rede como NAT

Figura 10. Configuração do dispositivo de rede como rede interna


para a rede dos clientes

35 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 11. Configuração do dispositivo de rede como rede interna


para a rede dos servidores
Nos servidores A e B, um dispositivo de rede é adicionado, usando
o tipo servidor que foi configurado no roteador. Na Figura abaixo é
possível visualizar a configuração do dispositivo de rede para os
servidores, no qual eles devem conter o nome da rede que foi
criada para eles, no caso redeservidor.

36 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 12. Configuração do dispositivo de rede nos servidores


Nos clientes A e B, também é adicionado um dispositivo de rede,
usando o tipo cliente que foi configurado no roteador.Na Figura
abaixo é possível visualizar a configuração do dispositivo de rede
para os clientes, no qual eles devem conter o nome da rede que foi
criada para eles, no caso redecliente.

37 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 13. Configuração do dispositivo de rede nos clientes


O primeiro passo depois de iniciar a máquina é mudar o hostname
das mesmas, primeiro digitamos o seguinte comando:

#hostname nome_da_maquina

Depois, alteramos o arquivo "/etc/hostname" substituindo o nome


que está no arquivo, para o nome da máquina atual. O processo de
alteração deve ser repetido para as cinco máquinas.

Adicionado os dispositivos de rede e alterados os nomes das


máquinas, deve-se realizar a configuração de todas as interfaces
de rede das máquinas. O arquivo que contém as configurações de
rede é o "interfaces", localizado em "/etc/network".

Os arquivos "interfaces" do roteador, servidor A, servidor B, cliente


A, cliente B, estão expostos nas figuras 9, 10, 11, 12 e 13,
respectivamente.

38 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 14. Arquivo interfaces do roteador

Figura 15. Arquivo interfaces do servidor A

39 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 16. Arquivo interfaces do servidor B

Figura 17. Arquivo interfaces do cliente A

40 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 18. Arquivo interfaces do cliente B

Configuração de DNS

A configuração do DNS fica armazenada no arquivo


/etc/resolv.conf. Para realizar a configuração é necessário informar
o endereço IP de um servidor de DNS. Para alterar essa
configuração basta acessar o arquivo de configuração com seu
editor de texto favorito, no exemplo abaixo está sendo utilizado o
editor nano:

#nano /etc/resolv.conf

Na figura abaixo é possível ver a configuração padrão do DNS,


após realizar a instalação do Debian 7. Caso deseje alterar essa
configuração, basta informar um novo nameserver, lembrando que
o primeiro nameserver da lista será o endereço padrão para
consulta de DNS.

Figura 19. Arquivo de configuração do DNS

41 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Script de configuração do roteamento

É necessário desenvolver um script para ser executado todas as


vezes que o roteador for iniciado, ele deve ser armazenado em
/etc/init.d/. No script será habilitado o ipforward, que é estabelecido
quando colocamos uma máquina entre dois ou mais segmentos de
rede, permitindo a livre passagem de pacotes entre estes sempre
que for necessário, e o IP Masquerading, um tipo especial de
SNAT usado para conectar a rede interna a internet quando recebe
um IP dinâmico do provedor. Todas as operações de IP
Masquerading são realizadas no POSTROUTING. Veja abaixo o
script utilizado:

echo "1" >/proc/sys/net/ipv4/ip_forward


iptables -t nat -A POSTROUTING -o eth0 -j
MASQUERADE

Testes na infraestrutura virtual de rede

Após a configuração dos clientes do servidor e do roteador, foram


realizados os testes de comunicação entre eles por meio do
comando "ping".

A Figura 1 mostra o resultado do ping entre o roteador e o


servidorA.

Figura 1. Teste de conexão entre o roteador e servidorA


A Figura 2 mostra o resultado do ping entre o roteador e o clienteA.

42 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 2. Teste de conexão entre o roteador e clienteA


A Figura 3 mostra o resultado do ping entre o servidorA e o
roteador. (No caso o endereço 10.0.2.15 é o endereço IP do
roteador)

Figura 3. Teste de conexão entre o servidorA e roteador


A Figura 4 mostra o resultado do ping entre o servidorA e o
clienteA.

Figura 4. Teste de conexão entre o servidorA e clienteA


A Figura 5 mostra o resultado do ping entre o clienteA e o roteador.

43 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 5. Teste de conexão entre o clienteA e roteador


A Figura 6 mostra o resultado do ping entre o clienteA e o
servidorA.

Figura 6. Teste de conexão entre o clienteA e servidoA


Para que as máquinas possam se comunicar entre si, é necessário
que a tabela de roteamento esteja devidamente correta, porém no
modelo de rede presente, a tabela de roteamento é preenchida
automaticamente ao realizar a configuração das interfaces de rede
e gateway. Nas figuras abaixo segue respectivamente as tabelas
de roteamento da máquina roteador, clienteA e servidorA, que
foram obtidas através do comando route. Na Figura 7 é possível
ver as redes que o roteador conhece, dessa forma, ao chegar uma
mensagem com destino a uma rede específica o roteador realiza o
encaminhamento, seja ele para uma rede local ou para a Internet.

Figura 7. Tabela de roteamento do roteador


A tabela das máquinas clienteA e servidorA é mais simples,
contendo somente a rede a qual ela pertence.

Figura 8. Tabela de roteamento do clienteA

44 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Figura 9. Tabela de roteamento do servidorA

Conclusão

Após a execução da configuração do roteador, podemos concluir


que, com a utilização de uma máquina Linux, podemos obter os
mesmos recursos de roteamento presente em roteadores de alto
custo disponíveis no mercado atualmente, sendo necessário
apenas configurar a distribuição Linux em questão, de acordo com
as suas necessidades.

A configuração de um computador, com sistema operacional Linux,


para ser utilizado como um roteador é relativamente simples, e
pode ser executado por usuários que tenham um bom
conhecimento em Linux e rede de computadores.

Algumas vantagens que se tem ao utilizar uma máquina com Linux


configurado para roteamento:

Baixo custo.

Recursos.

Disponibilidade.

Qualquer máquina que contenha uma configuração básica pode


funcionar como um roteador. Desta forma, com pouco investimento
pode-se ter um roteador sem a necessidade de comprar um
equipamento dedicado a isso, como os fornecidos pela CISCO,
D-LINK e 3COM.

45 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

Através de uma máquina utilizando Linux como servidor, o


administrador tem total liberdade para implementar novos recursos,
ao contrário dos equipamentos dedicados, que necessitam, muitas
vezes, de módulos adicionais e upgrade de firmware para suportar
um novo recurso ou protocolo.

Algumas desvantagens que se tem:

Confiabilidade.

Desempenho.

Interfaces.

Equipamentos que contenham hardwares dedicados tem maior


confiabilidade do que um pc comum. É possível diminuir estas
desvantagens com o uso de hardwares mais robustos. O
desempenho dos equipamentos dedicados de grande porte é muito
maior do que um pc comum, apresentando, ainda, maior
quantidade de interfaces, como a serial. Isso se deve ao fato de
serem feitos exclusivamente para um determinado objetivo.

1. ↑ https://www.virtualbox.org/

2. ↑ http://technet.microsoft.com/pt-br/library
/cc779122(v=ws.10).aspx

3. ↑ http://www.feng.pucrs.br/~decastro
/pdf/Redes_Comutadas_Cap2_4.pdf

4. ↑ https://www.virtualbox.org/

46 de 47 28/06/2015 08:00
Configuração de uma infraestrutura de rede virtual about:reader?url=http://wiki.cm.utfpr.edu.br/index.php/Configura%...

5. ↑ http://www.debian.org/

6. ↑ https://projects.gnome.org/dia/

7. ↑ 7,0 7,1 7,2 https://under-linux.org/entry.php?b=1138

8. ↑ Ping. Disponível em http://www.vivaolinux.com.br/dica/O-


comando-ping. Acessado em 25 de janeiro de 2014.

9. ↑ Implementação e utilização do comando route. Disponível em


http://www.vivaolinux.com.br/artigo/Implementando-rotas-
estaticas-no-Linux-com-route?pagina=2. Acessado em 10 de
dezembro de 2013.

10. ↑ 10,0 10,1 http://www.insecure.org/nmap/

11. ↑ http://guiadoti.blogspot.com.br/2012/12/scanner-nmap.html

47 de 47 28/06/2015 08:00

Você também pode gostar