Segurança Informática e nas Organizações. Guiões das Aulas Práticas



Documentos relacionados
Entendendo como funciona o NAT

First Step Linux. Instalação do VirtualBox Para instalar o software VirtualBox siga os seguintes passos :

No VirtualBox, carregar no Botão Novo (New), que irá abrir o Assistente de Criação de Máquina Virtual para criar uma nova VM.

Programação 2008/2009 MEEC Guia de instalação do PC de programação

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Relatório de Instalação do Windows 2003 Server

Operador de Computador. Informática Básica

INSTALANDO O UBUNTU PELA IMAGEM ISO OU LIVE-USB DA UFV PASSO-A-PASSO.

Como criar uma máquina virtual para instalar o Windows XP ou outro?

Realizado por: Fábio Rebeca Nº6. Iuri Santos Nº8. Telmo Santos Nº23

Tutorial: Instalando Linux Educacional em uma maquina virtual

Realizado por: Fábio Rebeca Nº6. Iuri Santos Nº8. Telmo Santos Nº23

Guia de instalação do Player Displr Windows 7, 8.1 e 10

Linux Caixa Mágica 14. Como Gravar um Live CD. Julho 2009 Versão 1.1

1 Instalando o VirtualBox no Windows

Sistema Operacional Unidade Instalando o Ubuntu Virtualizado

Manual de Instalação Linux Comunicações - Servidor. Centro de Computação Científica e Software Livre - C3SL

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

INSTALAÇÃO UBUNTU NUM INSTANTE

ZSRest e ZSPos Multiposto

HOW TO. Instalação do Firewall 6.1 Software

Conteúdo do pacote. Lista de terminologia. Powerline Adapter

Tutorial Instalação Dual Boot Ubuntu e Windows XP Virtualização com VirtualBox

TUTORIAL DE INSTALAÇÃO DO PFSENSE E UMA REDE INTERNA NO VIRTUALBOX

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

Online Help StruxureWare Data Center Expert

CONFIGURAÇÃO MINIMA EXIGIDA:

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

UDPcast Clonagem de HDs via rede utilizando

Manual do Utilizador. Impressoras de Rede / Sistemas Operativos Windows. Versão 1.3, Novembro de 2013

Como instalar os recursos adicionais para convidados e acesso aos aplicativos

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Introdução ao Puppy Linux: Instalação num disco USB

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Como instalar uma impressora?

Arquitetura de Rede de Computadores

MANUAL DO ANIMAIL Terti Software

cio Roteamento Linux

INTRODUÇÃO AO SISTEMA

Tutorial de Instalação do CentOS Versão 3.3

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

Acronis Servidor de Licença. Manual do Utilizador

ETI/Domo. Português. ETI-Domo Config PT

1 Ajuda da Internet M vel Clix

Instalando o Debian em modo texto

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Guia Rápido de Instalação Ilustrado

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Redes de Computadores. Guia de Laboratório Configuração de Redes

Seu manual do usuário EPSON LQ-630

Guia de Prática. Windows 7 Ubuntu 12.04

Apresentação do Ubuntu

Abra o software de programação. Clique na opção VOIP, depois opção configuração conforme as imagens:

O que é uma rede de computadores?

Manual do Utilizador MAC OS

MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA

Calculadora Virtual HP Prime

SECUNDÁRIA DE CAMARATE Plataforma Office 365. Alojamento de ficheiros - OneDrive para Empresas

Pesquisa e organização de informação

Acronis Backup & Recovery 10

Manual Equipamento ST10 Flasher Rev. 1

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Configuração e Partilha de Pastas / ICS

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

TUTORIAL DE INSTALAÇÃO DA MÁQUINA VIRTUAL VIRTUALBOX COM INSTALAÇÃO DA VERSÃO DO SISTEMA OPERACIONAL UBUNTU

CONFIGURAÇÃO DO ACESSO REMOTO PARA HS-DHXX93 E HS-DHXX96

Manual do Usuário - Plataforma Simulados

Equipa PTE. Janeiro 2012

Realizado por: Fábio Rebeca Nº6. Iuri Santos Nº8. Telmo Santos Nº23

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

VM Card. Referência das Definições Web das Funções Avançadas. Manuais do Utilizador

Guia Passo a Passo de Actualização do Windows 8.1

Instalação do Sistema Operativo Windows XP

Objetivos: i) Verificar o impacto de loops em redes locais ii) Configurar o protocolo STP para remover loops da rede

Manual de instalação. Manual de instalação. Liberdade. Liberdade. Versão /10/2002. Versão /10/2002

Instalação de máquina virtual em Linux e MAC OSX. Serviços Informáticos. Unidade de Microinformática e Suporte ao Utilizador

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

INTERACÇÕES CALCULADORA-CALCULADORA E CALCULADORA-COMPUTADOR

Ilustração 1: Componentes do controle de acesso IEEE 802.1x

Guia de instalação UEG Linux LTS

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

PRIMAVERA EXPRESS: Funcionalidades do Produto

Instalando software MÉDICO Online no servidor

Aplicações de Escritório Electrónico

Apontamentos do livro de AI Linux. 1.5 Modo texto e modo gráfico

Guia Rápido. Versão 9.0. Mover a perícia - não as pessoas

Sistema de impressão da Divisão de Informática

Boot Camp Manual de Instalação e Configuração

MANUAL INSTALAÇÃO GESPOS WINDOWS

MANUAL DE OPERAÇÃO do aremoto

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Curso de Instalação e Gestão de Redes Informáticas

EM4590R1 Repetidor Sem Fios WPS

Controle de congestionamento em TCP

Transcrição:

Segurança Informática e nas Organizações Guiões das Aulas Práticas João Paulo Barraca 1 e Hélder Gomes 2 1 Departamento de Eletrónica, Telecomunicações e Informática 2 Escola Superior de Tecnologia e Gestão de Águeda Universidade de Aveiro 2015 2016

Conteúdo 2 Instalação e exploração de máquinas virtuais 2-1 2.1 Introdução............................. 2-2 2.2 Instalação de sistemas operativos................ 2-2 2.2.1 Sistema live........................ 2-3 2.2.2 Distribuição Linux Mint................. 2-3 2.3 Instalação de uma máquina virtual............... 2-3 2.3.1 Criação de uma máquina virtual............. 2-4 2.3.2 Arranque de uma máquina virtual............ 2-7 2.3.3 Instalação do Linux Mint................. 2-8 2.4 Actualização do sistema operativo................ 2-12 2.5 Partilha de pastas com a máquina hospedeira......... 2-12 2.6 Duplicação de máquinas virtuais................. 2-13 2.7 Configuração de redes de máquinas virtuais.......... 2-14 2.8 Interligação de redes....................... 2-17 1-2

2 Instalação e exploração de máquinas virtuais Resumo: - Instalação de uma máquina virtual. - Noção de distribuição live de um sistema operativo. - Configuração do hardware de uma máquina virtual. - Replicação de máquinas virtuais. - Configuração de rede de uma máquina virtual. - Interligação de redes usando máquinas virtuais. 2-1

2.1 Introdução As máquinas virtuais são hoje em dia um instrumento que permite explorar a mesma máquina para executar vários sistemas operativos, como se de várias máquinas se tratasse. O objetivo deste guião é o de mostrar como se pode instalar uma máquina virtual, como se pode configurar o seu hardware e como se pode criar uma rede virtual de máquinas virtuais. A execução das máquinas virtuais é realizada por um software designado por virtualizador. Neste trabalho usaremos o virtualizador gratuito Virtual- Box 1, distribuído pela Oracle. 2.2 Instalação de sistemas operativos O processo normal de instalação de um sistema operativo é feito do seguinte modo: 1. O sistema instalador é disponibilizado num suporte móvel (CD, DVD, memória flash, etc.), total ou parcialmente. Quando é disponibilizado parcialmente, a parte em falta é obtida de repositórios da Internet. 2. O sistema instalador é executado logo após o arranque da máquina, sendo ativado pelo sistema de controlo do arranque da máquina (boot loader). 3. O sistema instalador escolhe um disco rígido da máquina, ou um conjunto de partições de discos da máquina, para aí criar os sistemas de ficheiros que irão ser usados pelo sistema operativo que irá ser instalado. Normalmente usam-se duas partições diferentes, uma com os ficheiros que normalmente vemos no sistema de ficheiros, outra designada como swap que serve para apoio à gestão da memória virtual. Esta última partição pode ser substituída por um ficheiro. 4. Após a instalação do sistema operativo no disco rígido, a partição de arranque dessa instalação é marcada como sendo de arranque (boot) e o sistema está pronto para ser reiniciado. Por vezes no arranque de um sistema instalado é iniciado primeiro um sistema de controlo dos sistema operativos a iniciar, de que é exemplo o Grub: arranque da BIOS seleção do dispositivo de arranque carregamento do módulo de arranque do dispositivo seleção do sistema operativo a arrancar (opcional) arranque do sistema operativo escolhido. 1 https://www.virtualbox.org/ 2-2

2.2.1 Sistema live Há, contudo, variantes a este processo base. Um deles consiste no arranque dos sistemas ditos live (ou distribuições live). Os sistema live são sistemas que arrancam como os demais mas não alteram nada na máquina de forma definitiva. Em particular, não usam qualquer repositório perene da máquina (v.g. discos rígidos) para guardar qualquer informação. Portanto, estes sistemas podem-se executar em máquinas sem disco rígido. Uma distribuição live, de que há inúmeros exemplos para Linux 2, é uma imagem de CD (ficheiro ISO) que pode ser usada para arrancar um sistema live numa máquina, a partir do seu leitor de CD. Atualmente muitas das distribuições live possuem uma funcionalidade 2- em-1: permitem o arranque de uma versão live normal, mas essa permite depois criar uma instalação no disco rígido da máquina. Será esta a faceta que iremos explorar neste trabalho. 2.2.2 Distribuição Linux Mint Neste guião iremos utilizar a distribuição Linux Mint para construir a máquina virtual que iremos usar ao longo de toda a disciplina. A distribuição Linux Mint 3 é uma distribuição de Linux baseada no Ubuntu, com o qual partilha os repositórios, mas muito mais leve. O Linux Mint apresenta-se em quatro versões baseadas no Ubuntu, cada uma com a sua interface gráfica: Cinnamon, Mate, KDE e XFCE, e duas baseadas em Debian (LMDE), uma com a interface gráfica Cinnamon e outra com a Mate. Para esta disciplina construiu-se uma imagem (ficheiro iso), baseada no LMDE com a interface gráfica Mate, e que contém já instaladas as várias aplicações necessárias para as várias aulas ao longo do semestre. Esta imagem é fornecida em pens USB, em versões de 32 (vsio32.iso) e 64 bits (vsio64.iso), e deverá copiar a versão adequada para o seu computador. 2.3 Instalação de uma máquina virtual O primeiro passo para instalar uma máquina virtual consiste na instalação do virtualizador. Os PC dos laboratórios dispõe da versão 4.2 do VirtualBox. Os alunos que usarem a sua própria máquina poderão usar este ou outro virtualizador, mas este guião apenas contemplará explicações para VirtualBox. 2 http://en.wikipedia.org/wiki/list_of_live_cds 3 http://www.linuxmint.com 2-3

2.3.1 Criação de uma máquina virtual Os passos para criar uma máquina virtual vão ser seguidamente indicados, acompanhados de capturas de ecrãs exemplificativas: Inicie a execução do VirtualBox. Deverá surgir no ecrã uma janela como a indicada à direita. Antes de instalar qualquer máquina virtual altere a definição que o VirtualBox possui quanto ao local onde guarda dados relativos s máquinas virtuais. Para tal, selecione Ficheiro e no menu selecione Preferências... Considere apenas as definições associadas à classe Geral. Se estiver a trabalhar num PC do laboratório altere a definição de Pasta pré-definida das Máquinas para /tmp; se estiver a trabalhar no seu PC, altere para o local que considerar mais conveniente. Feita a alteração, feche a janela das definições. Selecione o botão Novo para indicar que deseja criar uma nova máquina virtual. Na janela seguinte selecione o botão Avançar (ou Next). Escolha um nome para identificar a máquina virtual na lista de máquinas virtuais conhecidas localmente pelo VirtualBox. quanto ao tipo de sistema operativo, escolha Linux e quanto à versão escolha Debian (32 ou 64) ou Linux 2.6 (versão do núcleo, ou kernel). 2-4

Indique a quantidade de memória RAM de que disporá a máquina virtual. O Linux Mintprecisa de um mínimo de 512M, sendo o 1G valor recomendado. Escolha um valor, tendo em conta que quanto mais memória se alocar para a máquina virtual, menos memória terá o sistema hospedeiro. Esta configuração poderá ser alterada mais tarde, não é irreversível. Indique que pretende arrancar de um disco rígido e que pretende criar um disco rígido (virtual) para instalar o sistema. Escolha um disco virtual do tipo VDI (VirtualBox Disk Image). Indique que pretende o disco virtual com tamanho dinâmico, para evitar que o disco virtual (um ficheiro) ocupe o seu tamanho máximo à partida. Desta forma, ele terá apenas o tamanho suficiente para guardar o sistema de ficheiros da máquina virtual, sem nunca ultrapassar o máximo indicado. 2-5

Indique a localização do disco virtual (como foi dito atrás, será um ficheiro do sistema de ficheiros do sistema hospedeiro) e a sua dimensão. Nesta instalação indique pelo menos 16 GB. É normal os virtualizadores permitirem mais tarde aumentar o tamanho dos discos virtuais. Neste momento já foi recolhida toda a informação necessária para criar a máquina virtual com um disco virtual de suporte, muito embora no mesmo ainda não exista qualquer sistema operativo (ainda não foi instalado; isso será feito mais adiante). Para já avançamos com a criação da máquina virtual (similar a uma montagem de uma máquina física). O aspeto do gestor de máquinas virtuais do VirtualBox após a criação de uma máquina virtual é o indicado à direita. Na caixa à esquerda é indicado nome (VM1) e tipo (TipoVM), bem como o estado da máquina (desligada). O passo seguinte consiste em configurar o sistema que vai arrancar na máquina, o que é feito selecionando o botão Definições. Na caixa da esquerda da janela das definições da máquina virtual selecione Armazenamento (para gerir os dispositivos de armazenamento de dados) e constate que tem dois: um CD/DVD não definido (Vazio) associado a um controlador IDE, e um disco rígido definido (ficheiro VM1.vdi) associado a um controlador SATA. O passo seguinte consistirá em definir um CD para a máquina virtual. 2-6

Selecione o CD indicado como Vazio, à direita surgirão informações (atributos) sobre o dispositivo ainda não definido (nomeadamente, que estará associado a um controlador de IDE secundário). Selecione o ícone com um disco que surge à direita e escolha a opção Escolher um ficheiro de CD/DVD virtual... Aqui deverá selecionar o ficheiro iso (vsio32.iso ou vsio64.iso) que descarregou na secção 2.2.2. Neste momento a configuração de instalação da máquina virtual está completa, o seu hardware está definido e no leitor de CD está acessível um CD virtual (a sua imagem ISO) que permitirá o arranque da distribuição live do Linux Mint. Podemos terminar a alteração das definições e iniciar a máquina virtual. 2.3.2 Arranque de uma máquina virtual O arranque de uma máquina virtual é em tudo semelhante a uma máquina real, há uma passagem por um ponto onde é executada uma BIOS (virtual), onde se seleciona um dispositivo virtual de arranque (neste caso vai ser o CD) e se carrega o mesmo para executar. Os dispositivos de interface humana (teclado, rato) do sistema hospedeiro (host) vão ser partilhados com a máquina virtual, também designado por sistema convidado (guest). Para dar a ilusão de que se está a mudar de máquina é normal criar uma associação da entrada de dados de interface com a máquina virtual (focagem) quando se pretende trabalhar na mesma e terminar essa associação, voltando ao sistema hospedeiro, quando não mais for necessária. A focagem faz-se selecionando a janela da máquina virtual com o rato ou simplesmente deslocando o rato para cima dessa janela (quando a interface da máquina virtual possui um rato). Quando a focagem está ativa, na barra inferior da janela o ícone mais à direita, que possui uma seta para baixo, apresenta a cor verde. Quando a focagem está inativa, o que se consegue fazer retirando o rato da janela ou carregando na tecla Ctrl da direita do teclado, a seta fica preta. Após o arranque da máquina virtual, demora algum tempo a iniciar o 2-7

Figura 2.1: Ambiente de Trabalho do LiveCD do Linux Mint Linux Mint, após o qual aparece o Ambiente de Trabalho ilustrado na Figura 2.1. Maximize a janela de forma a ocupar todo o ecrã. 2.3.3 Instalação do Linux Mint A instalação do Linux Mint faz-se através da seguinte sequência de passos: 2-8

Comece por clicar com o botão do lado direito do rato sobre o ícone Install Linux Mint, e seleccionar a opção "Open". Seleccione a língua pretendida e clique em "Continuar". Clique no mapa para indicar a localização para acertar o fuso horário, e depois clique em "Forward". 2-9

Indique a configuração de teclado pretendida. Ele sugere o português, como se mostra na figura ao lado, pelo que podemos prosseguir clicando em "Forward". Introduza o seu nome, o seu nome de utilizador (login) e senha (password), o nome do computador e, por fim, clique em "Forward". O programa de instalação detectou que o disco virtual não tem nenhuma tabela de partições. Clique no botão YES para que ela seja criada (NOTA: atenção que estamos a considerar que o disco virtual a usar foi criado tal como indicado em 2.3.1 e, por isso, não possui dados que interesse preservar.) Confirme as indicações sobre a formatação do disco, clicando em "Forward" 2-10

Confirme que é para instalar o grub (para permitir o arranque), clicando em "Forward". Clique em "Apply" para confirmar a configuração introduzida nos passos anteriores e dar inicio à instalação. A instalação inicia e vai demorar algum tempo... 2-11

... até que finalmente termina. Clique em "Yes" para reiniciar a máquina virtual. Quando reiniciar aparecerá um ecrã a pedir a sua autenticação de acordo com as credenciais que definiu atrás. Caso não apareça o ecrã a pedir as credenciais é porque o arranque foi novamente feito através da imagem. Termine o VM, e no VirtualBoxaltere a configuração da máquina virtualpara que o CD fique vazio (deixe de estar ligado ao ficheiro iso usado na instalação). 2.4 Actualização do sistema operativo É natural que o sistema operativo que instalou não esteja completamente atualizado. É pois conveniente actualizá-lo. Para isso, clique no icone do Gestor de Atualizações, na barra de tarefas no canto direito, e actualize o seu sistema. 2.5 Partilha de pastas com a máquina hospedeira Vamos agora definir uma partilha de uma diretoria do hospedeiro para uma máquina virtual e aceder a essa diretoria através da máquina virtual. Na janela da máquina virtual selecione a opção Devices da barra superior da janela e escolha a opção Shared Folder Settings... Selecione o botão à direita que possui o sinal +, indique a localização da diretoria (pasta) e o nome que lhe quer dar para efeitos de partilha (vamos assumir que escolhe o nome XPTO). Finalmente, antes de terminar indique se quer apenas permitir ler da diretoria partilhada (para a proteger de escritas involuntárias ou maliciosas), se quer que a pasta seja montada automaticamente no sistema operativo hospedeiro (seleccione esta opção), e se quer tornar permanente a partilha, i.e., se a partilha continuará ativa em execuções futuras da máquina virtual (seleccione esta opção). Feita esta configuração, é necessário adicionar o seu utilizador ao grupo vboxfs para poder aceder às pastas partilhadas com o hospedeiro. Para isso, clique no botão Menu, seleccione o submenu Administração e nele seleccione a opção Utilizadores e grupos. Na aplicação que se abre, atribua o seu utilizador ao grupo vboxsf. Quando terminar reinicie o computador. 2-12

Quando reiniciar, aceda à pasta partilhada com o hospedeiro, que está localizada na pasta /media e cujo nome começa por sf_, e liste o seu conteúdo. $ cd /media/sf_xpto $ ls -la Esta funcionalidade de partilha é muito útil para desenvolvimento de componentes que precisam de ser vistas por diversas máquinas. Por exemplo, podemos ter uma aplicação em rede, com um cliente a correr numa máquina e um servidor noutra, e ambos podem ser máquinas virtuais na mesma máquina hospedeira, e as aplicações cliente e servidor podem ser desenvolvidas no hospedeiro e exportadas através destes sistemas de ficheiros tanto para o cliente como para o servidor. 2.6 Duplicação de máquinas virtuais A duplicação de máquinas virtuais é uma tarefa trivial, uma vez que não requer hardware adicional. Como as máquinas virtuais se executam sobre hardware virtual, e a criação deste último não tem limites, é possível duplicar as máquinas e, dessa forma, criar rapidamente um conjunto de máquinas homogéneas e com um sistema à partida igual (depois cada um pode evoluir separadamente). Uma máquina virtual como a que criámos anteriormente é completamente descrita por dois ficheiros: Ficheiro.vbox. Este ficheiro possui fundamentalmente uma descrição textual do hardware virtual da máquina virtual. Ficheiro.vdi. Este ficheiro é o disco virtual usado pela máquina virtual. Para duplicar uma máquina virtual basta duplicar estes dois ficheiros e registar a nova máquina na lista de máquinas conhecidas pelo gestor de máquinas virtuais do VirtualBox. Este processo manual pode ser transparentemente realizado através de própria interface deste gestor, que permite clonar máquinas virtuais. No entanto, para que as interfaces de rede da máquina clone sejam corretamente detetadas, é necessária a prévia remoção, na máquina a clonar, do ficheiro /etc/udev/70-persistent-net.rules, caso exista. $ rm /etc/udev/rules.d/70-persistent-net.rules 2-13

Exercício 2.1 Usando a interface do gestor de máquinas virtuais do VirtualBox clone a sua máquina virtual. A clonagem inclui várias perguntas, tente perceber o que é perguntado e responder da forma que considerar mais acertada. Depois de clonar a máquina virtual observe o que de novo apareceu na diretoria onde se guardaram os dados da máquina virtual anterior. 2.7 Configuração de redes de máquinas virtuais Os virtualizadores permitem que as máquinas virtuais possuam uma ou mais interfaces (ou adaptadores) de rede. Essas interfaces podem estar ligadas a redes diferentes, podem estar relacionadas ou não com interfaces reais e podem realizar ou não transformações no tráfego que por elas passa. Para o sistema operativo de uma máquina virtual as interfaces de rede virtuais (i.e. aquelas que são fornecidas pelo virtualizador e não são usadas através de outras interfaces, como USB) são sempre interfaces de redes cabladas. Mesmo quando a interface real é uma rede sem fios, a interface virtual que a usar irá sempre aparecer à máquina virtual como uma interface de rede cablada. Num sistema Linux tal significa que a interface terá sempre o nome ethx, onde X é um número (0, 1, 2, etc.). Vamos agora descrever sumariamente os diferentes tipos de interfaces (adaptadores, na terminologia do VirtualBox) que se podem escolher para uma máquina virtual (ver Figura 2.2). Estes tipos são os facultados pelo VirtualBox, mas outros virtualizadores fornecem algo muito similar. NAT. Este é o tipo escolhido por omissão na instalação de uma máquina virtual. Este modo permite que a máquina virtual interaja com a rede a que o hospedeiro está ligado como se do hospedeiro se tratasse. No entanto, este tipo tem implícitas algumas limitações, como a incapacidade de se iniciarem interações de uma qualquer máquina (real ou virtual) para a máquina virtual e o facto de alguns protocolos não conseguirem passar através da interface. Esta interface modifica o tráfego que flui através de si. Bridged. Este tipo permite que a máquina virtual se ligue à rede através de uma interface que funciona um pouco como uma réplica de uma dada interface real. Uma interface bridged X relativa a uma interface Y usa a interface Y para comunicar mas, para um observador externo ao hospedeiro, existem aparentemente duas interfaces, X e Y. Casos há, porém, em que o observador externo não consegue perceber que existem 2-14

NAT Bridged Interna Host-only Figura 2.2: Modelos de rede permitidos pelo VirtualBox e relação com interfaces reais e virtuais da máquina hospedeira ou das máquinas virtuais. 2-15

duas interfaces, mas sim que existem dois endereços IP associados à mesma interface (um endereço usado pelo hospedeiro, outro usado pela máquina virtual). Tal acontece, por exemplo, quando a interface real é uma interface sem fios 802.11. Rede interna. Este tipo permite ligar a uma rede virtual, interna ao hospedeiro. Esta rede só está acessível às máquinas virtuais executadas no hospedeiro pelo mesmo virtualizador. Estas redes são identificadas por um nome que é atribuído na sua criação. Por omissão, o VirtualBox disponibiliza uma rede com o nome intnet. Adaptador apenas do hospedeiro (host-only). Este tipo é similar ao anterior mas a rede interna, virtual, é ligada também a uma interface virtual do hospedeiro. Duas máquinas virtuais a executar no mesmo hospedeiro e usando interfaces configuradas como NAT não conseguem interagir entre si. Aliás, é fácil de verificar que estas interfaces, que podem ser configuradas automaticamente pelo VirtualBox (através de DHCP) possuem o mesmo endereço IP. (NOTA: O VirtualBox também disponibiliza uma rede NAT, mas ainda está em fase experimental e exige a criação e configuração da rede NAT no hospedeiro através da linha de comandos, pelo que não foi incluída na lista acima). Exercício 2.2 Inicie a execução das duas máquinas virtuais e execute o comando ifconfig numa consola. Obtenha o endereço IP da interface ethx e verifique se são ou não iguais nas duas máquinas. Para conseguirmos que duas máquinas virtuais geridas pelo mesmo virtualizador consigam comunicar entre si é preciso usar outros tipos de interfaces; vamos experimentar com uma rede interna. Exercício 2.3 Vamos designar as duas máquinas como M1 e M2. Em cada uma delas altere o tipo de interface de NAT para interna, usando o botão Dispositivos da barra situada na parte superior da janela de cada das máquinas virtuais. Esta alteração não provoca nenhuma alteração ao nível do sistema operativo das máquinas virtuais, no entanto a partir desse momento ambas as máquinas possuem uma configuração das suas interfaces de rede que não faz sentido 2-16

(nomeadamente, estão exatamente com a mesma configuração, o que impede que consigam comunicar entre si). Como o VirtualBox por omissão não disponibiliza o serviço de DHCP para redes internas, as interfaces têm de ser reconfiguradas manualmente. Para esse efeito clique (em cada uma das máquinas) no ícone do Gestor de Rede (Network Manager), no canto direito da barra de tarefas, e no menu seleccione a opção Editar. Seleccione a interface Conexão cabeada 1 (a única criada até ao momento). Na nova janela, seleccione a folha Configuração IPv4 e nela escolha o Método Manual e introduza o valor do endereço IP (10.0.0.1 para M1 e 10.0.0.2 para M2), e não introduza o endereço IP da Gateway (porque a não tem) nem o endereço IP do DNS server (idem). Para terminar a configuração selecione o botão Gravar. Mudando para uma consola pode verificar que a alteração foi efetuada usando o comando ifconfig. Após esta configuração as máquinas virtuais podem comunicar entre si, muito embora estejam isoladas da Internet (estão numa rede IP isolada). A conectividade entre as máquinas pode ser verificada através do comando ping. Na máquina M1 execute o seguinte comando: $ ping 10.0.0.2 este comando envia uma mensagem à máquina com o IP indicado, a qual responderá, mostrando desta forma que conseguem comunicar. O valor apresentado à frente de time"= é o intervalo de tempo entre o envio de uma mensagem e a chegada da sua resposta. Em M2 poderá executar o comando recíproco: $ ping 10.0.0.1 2.8 Interligação de redes A Internet é construída ligando redes e estabelecendo rotas entre redes para os pacotes IP, as quais indicam para onde se deve enviar um pacote para que o mesmo chegue a um dado destino. Nesta parte do guião será ensinada uma forma elementar de encaminhamento, que consiste no envio de um pacote que chega por uma interface de rede de uma máquina para a rede ligada a outra interface de rede de outra máquina. O objetivo final será o de conseguir que as duas máquinas M1 e M2 consigam comunicar com uma rede exterior, ligada à maquina hospedeira. Nesse sentido, M1 irá dispor de duas interfaces de rede (I a e I b ); I a (ou eth0) será uma interface ligada a uma rede privada, à qual está ligada também a máquina M2; I b (ou eth1) será uma interface ligada a uma rede 2-17

Figura 2.3: Interfaces de rede usadas para ligar as máquinas da rede interna intnet a uma rede cablada exterior através de M1. exterior, acessível à máquina hospedeira (ver Figura 2.3). Para esta última interface vamos usar o tipo NAT. Como o VirtualBox não permite adicionar interfaces de rede com as máquinas virtuais em funcionamento (ao contrário de outros virtualizadores), é preciso encerrar M1 primeiro. Feito isto, adicione uma nova interface de rede NAT à máquina virtual a partir do gestor de máquinas virtuais do VirtualBox. Após esta configuração inicie a máquina virtual, faça login, inicie uma consola e verifique quantas interfaces de rede possui com o comando ifconfig. Poderá agora verificar que possui as duas interfaces de rede ativas e corretamente configuradas. Para o verificar execute os seguintes comandos: $ ping 10.0.0.2 $ ping www.ua.pt O sucesso do primeiro comando mostra que consegue comunicar com M2 através da rede interna; o sucesso do segundo comando mostra que consegue comunicar com a rede exterior. Para além disso, a máquina M1 neste momento é capaz de usar serviços DNS exteriores para resolver (traduzir) nomes DNS (como www.ua.pt) para endereços IP. Encaminhamento de pacotes Porém, a máquina M2 ainda não consegue fazer estas duas coisas: comunicar com redes exteriores e usar serviços DNS exteriores. Porquê? Porque não 2-18

foi configurada de forma a saber que para esse fim tem de usar M1. Mas isso não chega, porque a máquina M1 também tem de ser instruída que deverá funcionar como encaminhador de pacotes de M2, que lhe chegam por I a e que não lhe são destinados, para o exterior através de I b. Por outras palavras, é preciso indicar a M1 que os pacotes que lhe chegarem através de I a (eth0) (vindos da rede privada) e que não lhe sejam destinados devem ser reencaminhados (ou roteados) para a rede exterior via I b (eth1). A configuração de M2 faz-se adicionando o que se designa por rota por omissão. Tal não é mais do que uma regra que diz o que fazer com um pacote quando o mesmo se destina a uma máquina que não pertence às redes conhecidas (neste caso, apenas a rede interna intnet). Essa rota é adicionada com o comando route. Numa consola da máquina M2 execute os seguintes comandos: $ ip route add default via 10.0.0.1 Nota: Em alternativa pode usar o Gestor de Rede (ícone no canto inferior direito) para fazer a alteração. Clique com o botão do lado direito do rato sobre o ícone, seleccione a opção Editar Ligações..., seleccione a interface e faça a alteração na configuração IPv4. Não se esqueça de depois terminar e reiniciar a ligação para que as alterações sejam aplicadas. Esta regra indica que todos os pacotes para os quais não se souber como se enviam para o seu destino devem ser encaminhados para o gateway com o endereço IP 10.0.0.1. Este gateway não é mais do que a máquina M1, que está ligada à rede interna que une M1 a M2. É, portanto, uma máquina diretamente acessível a M2. Designa-se por gateway uma máquina que faz a interligação entre duas redes, tal como M1 está a fazer. O passo seguinte consiste em indicar a M1 que deve operar como um gateway. Por omissão as máquinas Linux não operam como tal, mesmo quando possuem várias interfaces de rede. Para o fazer é necessário configurar a parte do núcleo do sistema operativo que gere a comunicação IP, o que é feito através do sistema de ficheiros especial designado por /proc. Para indicar que M1 deve encaminhar pacotes entre interfaces (i.e. fazer forward de pacotes) execute, como administrador (deve previamente usar o comando su para iniciar sessão como root), o seguinte comando. # echo 1 > /proc/sys/net/ipv4/ip_forward Este comando irá mudar uma variável lógica do núcleo do sistema operativo que indica se o mesmo deve ou não encaminhar pacotes IPv4 entre interfaces diferentes. Se o seu valor for 0 (falso), não encaminha, se for 1 (verdadeiro), encaminha. 2-19

Feito isto já deveria ser possível comunicar entre M2 e a rede exterior. E, de facto, é, mas os pacotes conseguem apenas sair, não havendo porém resposta do exterior (pode verificar isto fazendo uma captura de tráfego sobre as interfaces de rede da máquina M1). A explicação desse facto sai um pouco do âmbito deste trabalho, está relacionada com uma faceta particular da interfaces NAT do VirtualBox, mas o problema pode ser resolvido através de uma alteração dos pacotes de M2 antes serem enviados por M1 através interface NAT. Execute, então, os seguintes comandos em M1: $ iptables -A POSTROUTING -t nat -s 10.0.0.0/24 -o eth1 -j MASQUERADE Este último comando assume, como acima se referiu, que a interface NAT é a eth1. Se não for deverá adaptar o comando em conformidade. Uma vez mais, a explicação destes comandos será omitida por sair do âmbito deste trabalho. Neste momento é possível comunicar sem qualquer problema entre M2 e o exterior. Sabendo que o endereço IP da máquina www.ua.pt é 193.136.173.81, execute o seguinte comando em M2: $ ping 193.136.173.81 Se conseguir realizar o comando com sucesso, então M2 tem conectividade para www.ua.pt, logo à rede exterior. Para terminar este exemplo de encaminhamento falta apenas tratar do aspeto do acesso ao DNS exterior por parte de M2. Neste momento a máquina M2 não é capaz de traduzir nomes DNS para endereços IP, porque não sabe onde se deve dirigir para o fazer (falta-lhe a indicação de onde está um servidor DNS). Quando a configuração é feita por DHCP tal é realizado automaticamente, mas a configuração da interface de M2 foi feita de modo manual e essa questão foi ignorada. Para fazer esta configuração manual vamos usar os mesmos dados que M1 usa, criados pela sua configuração automática (por DHCP) da sua interface NAT. Em M1, verifique no Network Manager na folha Configuração IPv4 referente à interface com NAT, qual o endereço IP do servidor de DNS que lhe foi atribuído. Na máquina M2 introduza esse mesmo endereço na configuração da interface de rede, usando também o Network Manager, e depois reinicie a ligação. Feito isto, já pode usar nomes DNS em M2, execute por isso o seguinte comando em M2: $ ping www.ua.pt Se conseguir realizar o comando com sucesso, então M2 está a usar corretamente um servidor DNS para resolver o nome www.ua.pt. 2-20