---
# System prepended metadata

title: Conceitos Teóricos

---

![](https://i.imgur.com/76FNBMR.png)



# Conceitos Teóricos

## Modelo OSI

![](https://i.imgur.com/4pRHCbS.png)


## Equipamentos de rede de computadores

### Ativos de Rede

São todos os equipamentos geradores, recetores de códigos ou conversor de sinais eléctricos ou óticos.


* Firewall: é um dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto da rede. Este dispositivo de segurança existe na forma de software e de hardware, a combinação de ambos é chamado tecnicamente de "appliance". A complexidade de instalação depende do tamanho da rede, da política de segurança, da quantidade de regras que controlam o fluxo de entrada e saída de informações e do grau de segurança desejado.


* Router: É um dispositivo que encaminha pacotes de dados entre redes, criando um conjunto de redes de sobreposição.


* Hub & Switch: São dispositivos para reencaminhar pacotes. Os switch servem para segmentar a rede internamente já que cada porta corresponde um domínio de colisão diferente, eliminando assim a colisão entre pacotes de segmentos diferentes, no qual os Hubs fazem broadcast dos pacotes para todas as portas, ja que todas as portas pertecem todas ao mesmo dominio de colisão. Outra importante diferença está ligada à gestão da rede, com um switch pode-se criar VLANs, deste modo a rede será dividida em menores segmentos.


* Servidore: É um software ou computador, com sistema de computação centralizada que fornece serviços a uma rede.


* Access points: É um dispositivo que consegue fazer a conexão de uma rede local por cabo, numa rede que pode ser acedida por wireless.


## Tipos de Interfaces

![](https://i.imgur.com/EXNUcFn.png)

* SFP: (Small Form Factor Pluggable) é um transceptor compacto e hot-swappable que suporta Ethernet de 100/1000Mbps, canais de fibra e entre outros padrões de comunicação.

* RJ45: Também denominado como a porta Ethernet, este conector é mais conhecido por ligar cabos de Ethernet.

Os padrões atuais do protocolo Ethernet são os seguintes:

* **10 megabits/seg**: 10Base-T Ethernet (IEEE 802.3)
* **100 megabits/seg:** Fast Ethernet (IEEE 802.3u)
* **1 gigabits/seg:** Gigabit Ethernet (IEEE 802.3z)
* **10 gigabits/seg:** 10 Gigabit Ethernet (IEEE 802.3ae)
* **40 gigabits/seg:** 40 Gigabit Ethernet (IEEE 802.3bm)
* **100 gigabits/seg:** 100 Gigabit Ethernet (IEEE 802.3bm)



SFP é vantajoso em algumas situações pois consome muito menos energia do que os cabos UTP e também consegue trasnportar dados por kilometros em velocidades de gigabit, isto é importante quando lidamos com bastantes UTPs ligados ao switch e queremos fazer por exemplo um up link para outro switch ou fazer os transporte de dados por varios edificios..


## TCP vs UDP

### TCP - Transmission Control Protocol

O TCP é o protocolo mais usado isto porque fornece garantia na entrega de todos os pacotes entre um PC emissor e um PC recetor. 
No estabelecimento de ligação entre emissor e recetor existe um “pré-acordo” denominado de Three Way Handshake (SYN, SYN-ACK, ACK).

![](https://i.imgur.com/6rmvEd2.png)

O protocolo TCP existe a garantia que todos os pacotes serão entregues e ordenados do outro lado


### UDP - User Datagram Protocol

O UDP é um protocolo mais simples e por si só não fornece garantia na entrega dos pacotes. No entanto, esse processo de garantia de dados pode ser simplesmente realizado pela aplicação em si e não pelo protocolo. Basicamente, usando o protocolo UDP, uma máquina emissor envia uma determinada informação e a máquina recetor recebe essa informação, não existindo qualquer confirmação dos pacotes recebidos. Se um pacote se perder não existe normalmente solicitação de reenvio, simplesmente deixa de existir para o destinatário.

Por exemplo ao usar streaming de vídeo e áudio normalmente é utilizado UDP, pois permite o envio rapido de informação e não faz sentido haver error checking. 
 

![](https://i.imgur.com/DP5J2E1.png)



<br>


## Endereçamento IP

Relativamente a endereços IP existem os endereços públicos e os endereços privados. A maioria dos endereços IP são públicos, permitindo assim que as nossas redes (ou pelo menos o nosso router que faz fronteira entre a nossa rede e a Internet) estejam acessíveis publicamente através da Internet, a partir de qualquer lado.

Quanto a endereços privados, estes não nos permitem acesso direto à Internet, no entanto esse acesso é possível mas é necessário recorrer a mecanismos de NAT (Network Address Translation) que traduzem o nosso endereço privado num endereço público.

Os intervalos de endereços privados são:

* 10.0.0.0 a 10.255.255.255 (10.0.0.0 /8)
* 172.16.0.0 a 172.31.255.255 (172.16.0.0 /12)
* 192.168.0.0 a 192.168.255.255 (192.168.0.0 /16)


Sub-rede - Uma parte de uma rede que compartilha um endereço de subrede específico.

Endereço IP - Um ip de número único atribuído a um host ou interface de rede.

Máscara de sub-rede - Uma combinação de 32 bits (8 bits . 8 bits . 8 bits . 8 bits ) usada para descrever qual parte de um endereço se refere à sub-rede e qual parte se refere ao host.


![](https://i.imgur.com/GPNxTcV.jpg)


### CIDR vs VLSM


![](https://i.imgur.com/6F0Sdzi.png)

Na notação CIDR é utilizado a mascara por inteira para partir a sub-rede (ser uma rede classful), enquanto na VLSM poderemos partir a rede utilizando uma mascara adequada aos nossos hosts (ser uma rede classless).

## Encaminhamento IP

No contexto das redes de computadores, o encaminhamento pacotes designa o processo de reencaminhamento de pacotes, que se baseia no endereço IP e máscara de rede dos mesmos. É, portanto, uma operação da terceira camada do modelo OSI.

Este processo pressupõe uma tabela de routing em cada router que descreve o caminho percorrido por uma mensagem desde o ponto de origem até ao seu ponto de destino.



* No unicast, há uma associação um-para-um entre o endereço de origem e endereço destino.
* Na broadcast e no multicast, há uma associação um-para-muitos entre endereços de rede e endpoints de rede: cada endereço de destino identifica um jogo dos endpoints do receptor, a que toda a informação replicada.
* No anycast, há também uma associação um-para-muitos entre endereços de rede e servidores de rede: cada endereço de destino identifica um jogo de endpoints do receptor, mas somente um deles é escolhido em todo o tempo dado para receber a informação de qualquer remetente dado.


![](https://i.imgur.com/bfq5FFp.png)


* **Anycast:** É uma forma de encaminhamento onde os dados são distribuídos “ao destino mais próximo” ou “melhores” definido pelo roteamento da rede.
* **Broadcast:** É um método de transferência de mensagem para todos os receptores simultaneamente
* **Unicast:** É uma forma de encaminhamento para um pacote feito a um único destino, ou seja, a entrega no unicast é simples, ponto-a-ponto. 


## ARP, CAM & Routing Tables

### ARP - Address Resolution Protocol 


O ARP é um protocolo para mapear um endereço IP para um endereço de máquina físico (MAC Address) reconhecido na rede local. Uma tabela é usada para manter uma correlação entre cada endereço MAC e seu endereço IP correspondente. O ARP fornece as regras de protocolo para fazer essa correlação e fornecer conversão de endereço em ambas as direções.

![](https://i.imgur.com/F9G0TUv.png)



### CAM - Content Addressable Memory 

A tabela Content Addressable Memory é uma construção de memória do sistema que armazena informações como endereços MAC disponíveis em portas físicas com seus parâmetros de VLAN associados. A tabela CAM, está presente em todos os switches para comutação da camada 2. Isso permite que os switches facilitem a comunicação entre computadores conectados em rede, independentemente de quantos dispositivos estão conectados ao switch. Os switches aprendem endereços MAC a partir do endereço de origem dos frames Ethernet nas portas, como pacotes de resposta do Address Resolution Protocol (ARP). 

![](https://i.imgur.com/Q4MqOUf.png)



### Routing Tables

Os routers examinam o endereço IP de destino de um pacote recebido e tomam decisões de roteamento de acordo. Para determinar qual interface o pacote será enviado, os routers usam tabelas de roteamento. Uma tabela de roteamento lista todas as redes para as quais as rotas são conhecidas. A tabela de roteamento de cada router é única e armazenada na memória RAM, para rápido processamento.

Quando um router recebe um pacote que precisa ser encaminhado para um host em outra rede, ele examina o endereço IP de destino e procura pelas informações de roteamento armazenadas na tabela de roteamento. Cada entrada na tabela de roteamento consiste nas seguintes entradas:

A rede e a máscara de sub-rede.
O router remoto / ou host - o endereço IP do router / host usado para alcançar essa rede / host.
A interface de saída - a interface de saída que o pacote deve sair para alcançar a rede / host de destino.

![](https://i.imgur.com/Omu2Ig1.png)

![](https://i.imgur.com/lACVnyZ.png)

<br>


## VLANs, Trunking & Dynamic Trunking Protocol

As VLANs permitem a segmentação das redes físicas, sendo que a comunicação entre entre máquinas de VLANs diferentes terá de passar obrigatoriamente por um router ou outro equipamento capaz de realizar encaminhamento, que será responsável por encaminhar o tráfego entre redes (VLANs) distintas.

![](https://i.imgur.com/pSqFVRq.png)

O método mais comum e preferido, o IEEE 802.1Q adiciona um tag ao frame Ethernet, rotulando-o como pertencendo a uma determinada VLAN.

A Cisco também possui um protocolo de entroncamento proprietário (agora obsoleto) chamado Inter-Switch Link.

![](https://i.imgur.com/oVlsJ7h.png)


Uma porta de switch pode ser uma porta:
- **Tagged** - Trunk
- **Untagged** - Access

### Untagged VLANs - Access

Uma porta untagged ou uma porta de acesso em um switch Cisco, conecta-se aos hosts (como um servidor). O host não tem conhecimento de nenhuma configuração de VLAN.

O host conectado envia seu tráfego sem nenhuma VLAN tag. Quando o frame atinge a porta do switch, o switch adiciona a VLAN tag. A porta do switch é configurada com um ID de VLAN que será colocado na tag.

Quando um frame chega a uma porta em modo access, o switch retira a VLAN tag do frame e p tráfego é então encaminhado normalmente.


![](https://i.imgur.com/mj3iTdN.png)

**O tráfego flui assim:**

1. O host A envia tráfego para o host B. O tráfego não possui uma etiqueta VLAN.
2. O frame é recebido na porta 1 do switch. Essa é uma porta access (untagged), configurada com o VLAN ID 10 (switchport access vlan 10). O switch insere a VLAN tag no frame.
3. O switch determina que o frame precisa ser encaminhado para fora da porta, essa também é uma porta access (untagged), portanto, a VLAN tag é removida do frame.
4. O host B recebe o frame sem vlan tag normalmente.

### Tagged VLANs - Trunk

Uma porta é uma porta trunk, quando a interface espera frames contendo tags VLAN. Um exemplo disso é quando queremos passar o tráfego tagged entre dois switch, queriamos um link trunk para que se possa passar varias vlans. Os switches Cisco utilizam o termo "trunk" para se referir a uma porta com tags.

O remetente enviará um frame com uma etiqueta VLAN. O switch receptor verá a  VLAN tag e, se a VLAN for permitida, encaminhará o frame conforme necessário.

**Nesse caso, acontecerá o seguinte:**

![](https://i.imgur.com/I6KLLPI.png)

1. Host A enviará um frame sem tag.
2. O frame entra em uma porta untagged (access) no switch 1, configurado com VLAN 10 neste caso. O switch adiciona a VLAN tag ao frame.
3. O switch 1 determina que a porta 2 deve enviar esse frame para o switch 2. Essa é uma porta tagged (trunk), portanto, verifica se a VLAN 10 é permitida nessa porta. Se estiver, deixa a tag intacta e envia o frame. Se a VLAN 10 não for permitida, ela descarta o frame.
4. O switch 2 recebe o frame na porta tagged 1 (trunk). Esse switch também determina se a VLAN 10 é permitida nessa porta e a descarta se não for. O switch 2 determina que a porta 2 deve enviar o frame.
5. Visto que a porta 2 é uma porta untagged (access), retira a tag do frame e envia.
6. O host B recebe o frame untagged.


### Native VLAN

Em alguns casos, um frame não untagged chegará a uma porta trunk. Para lidar com isso, as portas tagged (trunks) têm uma VLAN especial configurada, chamada VLAN unatgged,também conhecida como "VLAN nativa".

O switch atribui qualquer frame untagged que chega em uma porta trunk à VLAN nativa.

Em resumo, a VLAN nativa é uma maneira de transportar tráfego untagged em um ou mais switches.

**Consideremos este exemplo. As portas às quais os hosts se conectam são portas trunk, com a VLAN 15 nativa configurada.**


![](https://i.imgur.com/H6Akk0c.png)



1. O host A envia um frame sem VLAN tag.
2. O switch 1 recebe o frame na porta trunk. Como não possui uma etiqueta, adiciona a etiqueta VLAN ID 15 (ID da VLAN nativa) ao frame.
3. O switch envia o frame para a porta 2. O frame possui um tag para a VLAN 15, que corresponde à VLAN nativa na porta 2, portanto, o switch retira o tag.
4. O host B recebe o frame.


### Voice VLAN

O computador estará em uma VLAN de dados, o IP phone estará na VLAN de voz. Isso parecerá assim:

![](https://i.imgur.com/w7wKipX.png)


A maioria dos telefones IP (incluindo os da Cisco) possuiem um switch de 2 portas dentro do IP phone:

* Uma porta conecta-se ao switch, que dá ligação ao telefone (ligação IN).
* Uma porta conecta-se ao computador.

No final, temos um "trunk" entre o switch e o IP phone, mesmo tendo a porta em access no switch. A porta do IP phone que conecta-se ao computador é uma porta de acesso. O IP phone encaminhará todo o tráfego do computador para o switch untagged, porém o tráfego do próprio IP phone será tagged com a devida vlan. As únicas duas VLANs permitidas são a VLAN de acesso e voz.


## DTP - Dynamic Trunking Protocol

![](https://i.imgur.com/l4oO97b.png)

No contexto de VLANs, usa-se o termo **trunking** para significar transportar várias VLANs através de um único link de rede, através do uso de um protocolo de trunking (802.1Q).


![](https://i.imgur.com/Zj1G1xn.png)


Num switch layer 3 é necessario em primeiro lugar especificar qual o tipo de encapsulamento antes de ativar o trunk, porém quando se coloca em modo access não é necessário especificar o tipo de encapsulamento, visto que é uma porta untagged (access).


**switchport trunk native vlan "10"** - Este codigo permite a mudança da vlan nativa.

**switchport nonegotiate** - Este comando serve para que a porta não esteja a mandar mensagens de DTP e desativa a negociação de formação de trunk.


**switchport mode access** - Para dispositivos end devices


<br>



## SVI - Switch Virtual Interface

Os SVIs geralmente são configurados para uma VLAN pelos seguintes motivos:

* Permita que o tráfego seja roteado entre VLANs, fornecendo um default gateway para a VLAN;

* Fornecer conectividade IP (camada 3 do modelo osi) ao comutador;

* Administração remota.

Para criar o svi é necessário já ter criado a vlan com a mesma identificação. (PARA O SVI LEVANTAR É PRECISO TER UMA TRUNK ASSOCIADA OU TER UMA TRUNK ASSOCIADA)


<br>

## Link Aggregation - EtherChannel

Link aggregation é um protocolo para o acoplamento de duas ou mais ligações ethernet em paralelo para produzir um único canal de maior velocidade e/ou aumentar a disponibilidade (bandwidth) e redundância desse canal. 

![](https://i.imgur.com/ZUw2ftz.png)

Vamos os usar o comando "on" porque preferimos configurar estaticamente e não deixar nada ao acaso. Ao contrario do PAgP (proprietario da cisco) e do LACP (Open standard) que são protocolos dinamicos.


É importante referir que as portas:
* Têm de ter com mesmo **speed** e estar com o mesmo modo de **duplex**;
* Ter a mesma vlan nativa.


<br>

## VTP - VLAN Trunk Protocol


![](https://i.imgur.com/NshFFGO.png)

O protocolo VTP da Cisco garante um método mais fácil para a manutenção distribuição e sincronização das Vlans configuradas. As configurações estabelecidas em um único servidor VTP são propagadas através de uma TRUNK para todos os switches conectados na rede.

Os anúncios VTP são transmitidos para todo o domínio de gerenciamento a cada 5 minutos, ou sempre que ocorrer uma alteração nas configurações de Vlans. 

As ligações entre os switches devem ter as seguintes configurações antes de configurar o VTP:
* Speed
* Duplex
* Trunk
* Vlan Nativa

<br>

## Port Security

Port Security é uma configuração fundamental para a segurança do switches e também para os utilizadores na rede. 
Basicamente o Port Security limita o numero de MAC address válidos que transmitem dados por uma porta de um switch e a sua configuração só é realizada em interfaces que estão ligadas a portas em modo access. 

* Restringir o numero máximo de MAC addresses.
* Configuração de um MAC de um end devise em modo estático.
* Podemos tambem configurar dinamicamente com o comando **sticky** para que os MACS sejam registados e guardados na running-config e que mais tarde poderão ser guardados na startup-config.

Existem 3 tipos de violação:

![](https://i.imgur.com/rGWTeDn.png)

**Protect** - Data de MAC address não conhecidos são descartados e não envia logs 

**Restrict** - Data de MAC address não conhecidos são descartados e envia LOGS 

**Shutdown** - A interface fica automaticamente em *Errdisable* e a porta fica em modo shutdown. O numero de violações é contabilizado.



<br>


## DHCP Snooping 

O DHCP Snooping é uma serie de técnicas que são aplciadas para fortalecer a segurança de uma rede DHCP. Estas medidas vão prevenir tráfego de DHCP malicioso ou de ataques de *Rogue DHCP Servers* (Distribuição de servidores não autorizados na rede, para que estes forneçam os ips)

![](https://i.imgur.com/8K2VFHw.png)

<br>

## STP - VLAN Trunk Protocol

É um protocolo que ajuda a construir uma topologia de rede sem de loops e em caso de configuração mais complexa pode haver também loadbalancing e redundacia no envio de informação.


### Problemas de loops em Layer 2
1. Duplicação de pacotes na rede e na mesma porta: copias do mesmo frame/pacote que são recebidas em portas diferentes.
2. Broadcast Storms: Broadcasts de MAC addresses são efetuados multiplas vezes causando um Denial of Service (DoS) na rede.

### Algotitmo de STP

![](https://i.imgur.com/P056cp9.png)

* Root Bridge: Switch principal na topologia de rede (switch prioritário).
* Designated Bridge: Switch mais próximo da Root Bridge através do qual todos os frames serão encaminhadas para o Root Bridge.

### Eleição do Root Bridge

![](https://i.imgur.com/MIqeU8D.png)

Para validar a eleição, todos os switches devem transmitir seu Bridge ID (BID) usando BPDUs (Bridge Protocol Data Units).

Bridge ID é a soma dos valores de Bridge priority e do endereço MAC. Em suma, o BID é uma versão concatenada da Bridge priority e o endereço MAC do Switch. Por padrão, cada switch terá o Bridge ID de 32768 e cada BID será múltiplo de 4096.

Após cada ponte ter seu BID transmitido (em brodcast), o switch com o BID mínimo torna-se o Root Bridge. Caso a prioridade do Root Bridge seja a mesma em ambos os casos, o endereço Mac mais baixo será o eleito.

### Tipos de STP

![](https://i.imgur.com/JRHS9nE.png)


### STP Configurado

Quando configuramos o STP e somos nós a decidir qual o switch a ser root bridge para cada VLAN conseguimos obter as seguintes vantagens (dependendo da topologia de rede):

* Loadbalancing
* Redundacia
* Beneficios do STP em geral.



<br>



## HRSP - Hot Standby Router Protocol


É um protocolo de redundância proprietário da Cisco para estabelecer um default-gateway tolerante a falhas.

O protocolo estabelece uma associação entre gateways a fim de obter failover de default-gateway se o gateway primário se tornar inacessível. Os gateways HSRP enviam mensagens de olá em multicast para outros gateways para notificá-los sobre suas prioridades (qual gateway é o preferido) e status atual (ativo ou em espera).

Este protocolo também pode ser utilizado em switches L3.

![](https://i.imgur.com/lwI9unR.png)



<br>



## Roteamento Estático

O encaminhamento estático é normalmente adequado para redes de pequena dimensão, onde o cenário de rede não é complexo e raramente sofre alterações.

As rotas são estáticas, definidas manualmente, estas não se adaptam em caso de existirem alterações da rede.

As rotas estáticas têm prioridade sob as rotas que resultam dos protocolos dinâmicos uma vez que têm uma distância administrativa menor.


![](https://i.imgur.com/y53vzNr.png)



<br>



## Roteamento Dinamico

### OSPF - Open Shortest Pathe First 

* OSPF é um protocolo link-state routing, sendo que a versão 2 é para IPv4 e a nova versão 3 habilita o IPv6

* Usa o algoritmo Sijkstra shortest path (SPF) para escolher o melhor caminho

* Tem uma Distãncia Administrativa de 110

Uma caracteristica determinante do OSPF é que usa áreas para um melhor controlo do protocolo de roteamento, sendo que a área 0 é a area BackBone e tem que estar obrigatóriamente configurada, sendo que as outras áreas têm que estar directamente ou virtualmente ligadas á area 0

* A rota com menor custo vai ser a preferencial, o custo é calculado pelo tipo de ligação (Gigabit vs Fast ethernet)

![](https://i.imgur.com/00yvAHd.png)


<br>

## DMZ

Uma DMZ ou zona desmilitarizada é uma sub-rede física ou lógica que contém e expõe serviços para fora, normalmente a Internet. Quaisquer dispositivos situados nesta área, isto é, entre a rede confiável (geralmente a rede privada local) e a rede não confiável (geralmente a Internet), está na zona desmilitarizada.

A função de uma DMZ é manter todos os serviços que são para acesso externo, junto em uma rede local. Para atingir este objetivo os computadores presentes em uma DMZ não devem conter nenhuma forma de acesso à rede local, porém a rede local tem acesso à DMZ, isto é importante porque se algum invasor conseguir acesso à rede fica na DMZ e nao entra na rede local.

![](https://i.imgur.com/tIuQlJY.png)

* A rede interna pode iniciar conexões a qualquer uma das outras redes, mas nenhuma das outras redes pode iniciar conexões nesta.
* A rede pública (internet) não pode iniciar conexões na rede interna, mas pode na DMZ.
* A DMZ não pode fazer conexões à rede interna, mas pode na rede pública.

## Tunnel GRE

Generic Routing Encapsulation ou GRE é um protocolo de encapsulamento desenvolvido pela Cisco, que pode encapsular uma protocolos de Camada de rede (layer 3) dentro de conexões virtuais ponto-a-ponto através de uma rede IP.

Este tunnel não é encriptado, logo devemos contruir-lo em conjunto com a framework IPSEC de modo a impossibilitar a sua leitura.

![](https://i.imgur.com/3WS4g00.png)


## VPN & IPSEC

### VPN

Uma VPN (Virtual Private Network) é:

* Virtual – informação para uma rede privada é transportada “em cima” de uma rede.

* Privada– A comunicação é encriptada, de forma a manter a confidencialidade dos dados entre o emissor e o recetor.


Quando um utilizador estabelece uma ligação VPN é criado um canal de comunicação seguro, usando técnicas de criptografia e autenticação, permitindo assim a troca confiável de dados sobre redes públicas. 

Pode estabelecer uma VPN para a empresa e assim aceder ao sistema interno, como se estivesse fisicamente ligado a rede local da empresa, neste caso estamos a falar de uma VPN Remote Access ou Vpn Road Warrior.

![](https://i.imgur.com/2P9kxGA.png)

As VPNs permitem também interligar redes privadas. Imaginemos uma empresa em Lisboa e uma filial no Porto, podemos utilizar uma VPN Site-to-SIte sem contratar circuitos dedicados. Além da redução de custos, fiabilidade e estabilidade, a utilização deste tipo de VPN irá permitir o acesso remoto em segurança entre máquinas da empresa e Filial e vice-versa, sem os end hosts saberem que estam a buscar informação a um local remoto.

![](https://i.imgur.com/hH3D0m8.png)


### IPSEC

Protocolo de Segurança IP (IP Security Protocol, IPsec) é uma extensão do protocolo IP que visa a ser o método padrão para o fornecimento de privacidade do usuário (aumentando a **confiabilidade** das informações fornecidas pelo usuário para uma localidade da internet), **integridade** dos dados (garantindo que o conteúdo que chegou ao seu destino seja o mesmo da origem) e **autenticidade** (garantia de que uma pessoa é quem diz ser), quando se transferem informações através de redes IP pela internet.

Ao usar IPSEC com uma VPN, o pacote IP é criptografado por inteiro. Deve, assim, encapsular um novo pacote IP para distribuí-lo.


![](https://i.imgur.com/BSospCR.png)

Para o IPSEC funcionar é nesserário haver troca de chaves para conseguir-se formar o tunel, então é utilizado o método Diffie-Hellman que permite que duas partes que não possuem conhecimento a priori de cada uma, compartilhem uma chave secreta sob um canal de comunicação inseguro.

Existem dois tipos de autenticação:

Pre-Shared Key (PSK): Onde usamos uma chave pre-compartilhada, ambas as partes têm as mesmas chaves e ambas têm de conincidir este metodo é utilizado em **criptografia simetrica**.

RSA (Rivest-Shamir-Adleman): Onde usamos uma chave publica e uma chave privada para fazer a autenticação este metodo é utilizado em **criptografia assimetrica**..

![](https://i.imgur.com/9wuXvM2.jpg)


Em ambos dos metodos é utilizado o Diffie-Hellman para fazer transporte de chaves.



## NAT


O conceito de NAT (Network Address Translation) é relativamente simples, define-se pela tradução de um endereço privado (que não é roteável na internet) num endereço público (que é roteável na internet).

Existem tres tipos de NAT:

* NAT Estático – Um endereço privado é traduzido num endereço público.

* NAT Dinâmico – Um endereço privado é traduzido numa pool de endereços públicos.

* NAT Overload (PAT) – Esta é certamente a técnica mais usada. Um exemplo de PAT é quando temos 1 único endereço público e por ele conseguimos fazer sair várias máquinas da nossa LAN para a internet. Este processo é conseguido, uma vez que o equipamento que faz PAT utiliza portas que identificam cada pedido das máquinas locais para o exterior (ex: 217.1.10.1:53221).




<br>
<br>

---
---
---
---

# Configurações

## Branch Site

### Housekeeping

blabla


### Configuração switchs

#### VLANS

* Vlan 10 - LAN

* Vlan 20 - VOICE

* Vlan 30 - GUEST

* VLan 66 - NATIVE
(Por questões de segurança mudámos da vlan 1 (default vlan) para a vlan 66, esta Vlan serve para passagem de tráfego untagged como CDP e STP/BPDUs, controlo de tráfego);

* Vlan 200 - DUMMY  
Escolhemos criar uma vlan dummy, ou seja uma vlan transparente para mitigar Vlan hopping attacks e tornar a nossa rede mais segura;

* Vlan 99 - MANAGEMENT
Uma vlan isolada apenas para gestão dos ativos de rede, com acesso exclusivo aos administradores da rede.

```
vlan 10
 name LAN
vlan 20
 name VOICE
vlan 30
 name GUEST
vlan 66 
 name NATIVE
vlan 99
 name ADMIN
```



---



#### SVI - Switch Virtual Interface

No nosso caso um SVI é criado para permitir a administração remota do switch.

```
int vlan 99
 name MANAGEMENT - Ao inserir este comando 
 description SVI_ADMINISTRACAO
 ip add 192.168.99.2
```

Caso estejamos numa rede diferente e queiramos gerir o switch é necessário configurar um default gateway no switch.

```
ip default-gateway 192.168.99.1
```



---



#### Link Aggregation - EtherChannel


```
int r e1/0-1
channel-group 1 mode on
exit
```

Neste momento o port-channel está criado.


Para troubleshoting

```
show etherchannel summary
```


---



#### Trunking & DTP (Dynamic Trunking Protocol)


```
interface Ethernet0/0
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 66
 switchport mode trunk
 switchport nonegotiate
```


**switchport trunk native vlan 66** - Este codigo permite a mudança da vlan nativa.

**switchport nonegotiate** - Este comando serve para que a porta não esteja a mandar mensagens de DTP e desativa a negociação de formação de trunk.

```
interface Ethernet0/1
 switchport mode access
 switchport nonegotiate
```

**switchport mode access** - Para dispositivos end devices


----

#### VTP - VLAN Trunk Protocol


```
vtp mode server
vtp version 2
vtp domain cisco
vtp password 1qaz"WSX
```

```
vtp mode client
vtp domain cisco
vtp password 1qaz"WSX
```



---
  

#### Port Security

**Config**

int e0/0
  switch port-security maximum 2
  switch port-security mac-address sticky
  switch port-security violation restrict

A vlan de VOICE não vai ser utilizada porque os dados de voz vão ser partilhados na VLAN de dados, e por isso só existira um mac-address (PC_Branch). Contudo, vamos utilizar o máximo de 2 MAC addresses porque numa situação real iriam ser utilizadas 2 MACs (VOZ e DADOS).

**Mac-address sticky**: Vamos querer que o switch retenha a informação dos MAC addressses automaticamente porque ficamos com possibilidade de acrescentar end-devices sem configurar estaticamente os seus MACs

**Violation restrict**: Escolhemos o modo de violação **restrict** porque queremos que o switch descarte todos os MACs que não conheça e que envie LOGs sempre que ouver MACs desconhecidos a tentarem conectar-se com o equipamento

Vamos tambem configurar na porta e0/3 o port-security para estar preparada para a entrada de guest , sendo que a mesma vai receber uma VLAN á parte (VLAN 30)



 Usamos o  **spanning-tree portast** nas portas ligadas aos end-devices para que ignore as fases Listening e learning do STP, metendo a porta diretamente em estado de forwarding(instantaneo) e salta o tempo que demora o STP a passar tráfego na porta
 
 E por ultimo usamos o **spanning-tree bpduguard enable** tambem nas portas access para mitigarmos os ataques de BPDU visto que os end devices não mandam pacotes de BPDU, isso só acontece entre switches
  
#### DHCP Snooping 


Quando configuramos o **ip dhcp snooping** por defeito todas as portas são untrusted, teremos de configurar manualmente as portas trusted para que quando o cliente mande uma mensagem de **DHCPDISCOVER** , o switch so faça broadcast do DHCP para as portas trusted. O mesmo aconteçe quando o Servidor de DHCP manda **DHCPOFFERS**

Em seguida fazemos o **ip dhcp snooping limit rate** e este comando é muito importante porque limita o numero de request que é feito ao DHCP server para que não fique sem IP addresses para oferecer

Apenas estas configurações não nos permitiu que tivessemos IP por DHCP no nosso end device, precisamos de habilitar a passagem do **Option 82** nas untrusted ports para que a mensagem de DHCP não seija descartada como é o caso da nossa tipologia do S2_Branch para o S1_Branch. Basicamente estamos a dizer que apesar de essas ligação estar em untrusted nós queremos que o Option 82 passe para que o DHCPREQUEST chegue ao router. No S1_branch tivemos que ativar o Option 82 com o comando **ip dhcp snooping information option allow-untrusted** e como estamos a trabalhar com equipamentos cisco, no router tivemos de habilitar o **ip dhcp relay information trust-all** para que seija recebido o Option 82.


# Main Site - Main Network

**Switch**

* VTP check
* Ether-channel check
* STP check

spanning-tree mode rapid-pvst

vlan 1,10,20 priority 24576 no S1
vlan 30,99 priority 28672 no S1

vlan 30,99 priority 24576 no S4
vlan 1,10,20 priority 28672 no S4


Portas nao usadas com a dummy (vlan200 e em shut)
Portas com ligaçao ao PC em modo access

* port-security check

* SVIS check

* DHCP Snooping 

SW1 - ip dhcp snooping vlan 10
SW4 - ip dhcp snooping vlan 30

**Router**

problema: a porta e0/0 estava em half duplex enquanto que a do switch estava full duplex por isso tive que meter o comando **duplex full**

* HRSP check
O R1_mainsite vai ser sempre o router ativo das sub-interfaces segundo a documentação que nos foi apresentada, contudo nós começamos por fazer repartimento de sub-interfaces pelos dois routers porque achamos que a load balance seria a melhor opcção para uma conecção mais estável. Neste caso temos todas ativas no R1_Mainsite, o que tambem pudera ser um caso possivel a uma escala real porque pode haver um Router com uma otima performance e o segundo (com menos performance, mais antigo) pudera estar só a servir de back up.


* DHCP (R1 - VLAN10)
* DHCP (R2 - VLAN30)

* Ligação P2P (IPs)

* Criação de tunel GREs entre os routers
Vão ter um /30 a liga-los directamente, os tuneis de GRE é so para simular essa ligaçao

* OSPF feito 
ospf partilhado pelo tunel de GRE

**Falta ip helper add do servidor DHCP**

#### STP - VLAN Trunk Protocol

spanning-tree vlan x root primary
spanning-tree vlan x root secondary

spanning-tree vlan x priority x

----


**Escolha do STP**

Escolhemos o PVST+ porque estamos a trabalhar com equipamentos cisco(que é proprietario deste serviço) e porque é um protocolo que faz os calculos por cada VLAN e não para todas as VLANs como o STP e RSTP. O PVST+ não possui de laod sharing e utiliza pouco CPU porque só calcula uma instançia de cada vez.

O Rapid PVST+ é semelhante ao PSVT+ , contudo os calculos de STP são maiores e por sua vez a sua convergençia é maior. A contrapartida do uso deste serviço é que usa mais recursos do que o PVST+ o que pudera causar problemas de LoadOverflow no Switch.

**Configuração**

+ S1

spanning-tree vlan 10 root primary
spanning-tree vlan 20 root secundary
spanning-tree vlan 99 root primary
spanning-tree vlan 200 root secundary

+ S3

spanning-tree vlan 10 root secundary
spanning-tree vlan 20 root primary
spanning-tree vlan 99 root secundary
spanning-tree vlan 200 root primary

* S2

int e0/0

## Main Site - DMZ

### MLS_DATACENTER

Este switch L3 vai servir de MLS(Multi Listing Service) Datacenter para os nossos servidores alojados na DMZ. 
Um switch layer 3 conbina as funcionalidades de um router e de um switch. Actua com um switch para conectar end devices que estão na mesma subnet ou VLAN a grandes velocidades. Tem tambem IP routing que vai ter as funções de um router. Suporta protocolos de roteamento, inspeção de pacotes e pode tambem fazer decições de routeamento baseado no source e destination de endereços. 

**Principais Vantagens:**

- Suporta roteamento entre LANs virtuais
- Simplifica o gerenciamento da segurança 
- Reduz o volume de tráfico de broadcasts 
- Separa tabelas de roteamento e por isso segmenta o tráfico melhor
- Um pacote de uma rede com baixa latência não têm que fazer saltos extra para passar por um router

**Principais desvantagens:**

- Custo : Estes switches custam bem mais do que os switches normais de Layer2 e a sua configuração e gestão tambem é mais desafiadora.
- Não tem funcionalidade de WAN: Isto que dizer que para o tráfico chegar á internet(fora da nossa rede) teremos que ter um router para essa funcionalidade
- Falta de flexibilidade: As VLANS queriadas num switch L3 são locais e por isso não podem ser partilhadas para outro switch 

## ASAv_MainSite

entrar na asa
ip ou vlan
http inside (permitir o pc ou subnet a entrar)
domain e hostname
ip route 0.0.0.0 na asa na int outside 
ip route para conehcer o data center 


redistrubuite-static subnets ==> para partilhar pelo o ospf as rotas estaticas para o data center.

default-information originate ==> para partilhar a default route! pois os routers do main site nao conhecem como sair da rede MAIN SITE! 


-----

MLS:
ip route 0.0.0.0 para saida das subnets


-----

ip route 0.0.0.0 no r branch para sairem para a internet




---------

### ASA P2P VPN

isakpframework

CRYPTO ISAKMP POLICY 10:
authentication pre shared
encryption aes 256
hash sha
group 2

--------------------------------------------------------------------------


# SISTEMAS OPERATIVOS


## AD Server

* Mudar o nome do servidor.

![](https://i.imgur.com/e7Zgwkf.png)

* Atribuir IP estático à maquina

![](https://i.imgur.com/SgltbME.png)

* Instalação de Serviços:
    * Active Directory Domain Services.
    * DNS Server 

![](https://i.imgur.com/mSBgT1r.png)

* Criar uma floresta com o dominio CISCO.ATEC E PROMOVER A DC & GC & DNS SERVER


---


## DHCP & DNS SERVER

* Mudar o nome do servidor.

* Atribuir IP estático à maquina

* Instalação de Serviços:
    * Active Directory Domain Services.
    * DHCP Server
    * DNS Server 

    * Juntar o Servidor de Serviços ao dominio

![](https://i.imgur.com/8equywf.png)

![](https://i.imgur.com/npS478h.png)


------------

# SQL Server

fizemos nmap para ver quais as portas que deviamos abrir na firewall do windows.

![](https://i.imgur.com/ZLXTDRE.png)

# Linux VOIP

Neste servidor vamos configurar o serviço de voz e para isso vamos utilizar o asterisk numa máquina virtual Ubuntu. Antes de mais e como é habitual devemos sempre de fazer o update e upgrade á maquina para que possam ser descarregadas todas as bibliotecas e pacotes e só depois instalar o serviço
* sudo apt-get install asterisk
Em seguida entramos no /etc/asterisk/sip.conf para configurar o perfil dos users e admin que vamos mais tarde ligar ás respetivas extensões. 
Agora vamos configurar e registar os users, com as respetivas passwords em  
* /etc/asterisk/users.conf

![](https://i.imgur.com/8donyeI.png)

Por fim entramos no ficheiro /etc/asterisk/extensions.conf para associar os user que criamos a uma extensão e para cada um deles inserimos tambem uma sub-extensão para que se ninguem atender o utilizador seija rederecionado para uma chamada automatica que diz que o utilizador que esta a tentar contactar não esta disponivel de momento. Inserimos tambem uma extensão para que ao digitar-mos a a palavra "todos" automaticamente vamos ligar para todos os utilizadores que criamos (admin,henrique e filipe), ou seija, estabelecemos uma chamada em conferencia.

![](https://i.imgur.com/VYOoyTF.png)

Depois destas configurações entramos no terminal do asterisk (asterisk -r) e executamos o comando (core restart now) para as novos comandos ficarem habilitados

## SSH

Temos de ter um ligação segura para que o Administrador consiga entra rnos equipamentos, para isto basta instalar o SSH


```
sudo apt-get install ssh
```

Para o cliente entrar na maquina basta inserir o seguinte comando

ssh "nome do utilizador"@"IP da máquina"

## Administração Gráfica (Cockpit)

Preciamos tambem de um serviço que o administrdor possa entrar na máquina e para alem de ver informação dos recursos, possa tambem configura-la. Para isso instalámos o Cockpit que é um serviço de gestão simples e eficaz e que é acedida por web acedendo ao "IP da máquina que queremos aceder":9090 (porta por defeito do Cockpit)

```
sudo apt-get install cockpit
```

![](https://i.imgur.com/3jHd7nr.png)



# Web Server Linux

```
sudo apt-get install apache2
```

```
sudo apt install mysql-server
```

```
sudo apt install php libapache2-mod-php php-mysql
```

```
sudo nano /etc/apache2/mods-enabled/dir.conf
```


```
<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
```

```
sudo systemctl restart apache2
```

```
sudo apt install phpmyadmin php-mbstring php-gettext
```

The installation process adds the phpMyAdmin Apache configuration file into the /etc/apache2/conf-enabled/ directory, where it is read automatically. The only thing you need to do is explicitly enable the mbstring PHP extension, which you can do by typing:

```
sudo phpenmod mbstring
```


Afterwards, restart Apache for your changes to be recognized:

```
sudo systemctl restart apache2
```

Next, check which authentication method each of your MySQL user accounts use with the following command:


    sudo mysql

    SELECT user,authentication_string,plugin,host FROM mysql.user;


    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Then, run FLUSH PRIVILEGES which tells the server to reload the grant tables and put your new changes into effect:

    FLUSH PRIVILEGES;

entrar no phpmyadmin e fazer upload da base de dados

![](https://i.imgur.com/ekrLOXp.png)


para mudar a porta onde o site vai ser apresentado

```
sudo nano etc/apache2/ports.conf
```

e adicionar a seguinte entrada

```
Listen 14141
```

de seguida entrar na ficheiro de configuração do site e alterar a porta do virtualhost para a que queremos apresentar.


![](https://i.imgur.com/1m7XnCS.png)


efetuamos uma configuração extra, para fazer um redirect sempre que fosse pedido o site pela porta 80 redirecionar para a 14141, mesmo quando se pede por ip


![](https://i.imgur.com/z2k2esX.png)


# Linux DHCP-DNS



Neste servidor, que vai ser o servidor de DNS e DHCP redundante, vamos instalar o serviço bind9 para resolução de pedidos de DNS em IP e o "isc-dhcp-server" como serviço para DHCP

## DNS

**Bind9**

Para instalar o serviço inserimos o seguinte comando "apt-get install bind9"
 e em seguida começamos por criar as zonas de DNS no directorio "cd /etc/bind". Vamos copiar o o ficheior db.local, pois vai servir de template para criar as nossas zona. "cp db.local db.uberadmin.pt", "cp db.local db.cisco.atec" e "cp db.local db.droidrepair.pt"
 

![](https://i.imgur.com/HNR39d4.png)

O nosso SOA é o nome do próprio nameserver seguido do dominio e em baixo criamos as entradas que vão resolver os IP´s dos servidores e dos dois sites que criamos, como é exemplo o siteuber(host).cisco.atec(dominio)

Para criarmos uma nova zona e associa-la ao nosso dominio teremos de ir a "nano named.conf.local" e associar o caminho á database criada

![](https://i.imgur.com/GD2qtd9.png)

 Tivemos portanto de criar a zona "uberadmin.pt" e "droidrepair.pt" que vão ser os dominios dos nossos sites.
 
 Por fim basta iniciar o serviço e dar restart sempre que fizer-mos alguma alteração
 "/etc/init.d/bind9 start"
 "/etc/init.d/bind9 restart"
 
 Uma nota importante é a alteração do nome da máquina no sistema e na entrada de hosts
 
 ![](https://i.imgur.com/90tMJgQ.png)

## DHCP

Para começar-mos a instlar o nosso serviço de DHCP vamos inserir o seguinte comando "apt install isc-dhcp-server" e em seguida vamos a "nano /etc/default/isc-dhcp-server" e dizemos qual a interface que vai estar ativa para que o servidor sirva os DHCP requests.


 ![](https://i.imgur.com/AV9cN4o.png)

 
![](https://i.imgur.com/lSaqpC1.png)

-----

PC_MainSIte_Extension - RUI
PC_MainSIte_Work - joao
PC_Mainsite_WOrk2 - manuel

BranchSIte - carla

