Uploaded by Rafael Cardoso

Roteamento Avancado em MikroTik + Introducao

advertisement
Roteamento Avançado
em MikroTik RouterOS
Lancore Networks e BRAUSER
Introdução
Instrutor: Leonardo Rosa, BRAUSER.
●
●
Consultor em Internetworking
Equipe experiente com casos de sucesso em
Routing, Caching, Wireless etc.
Agenda
Treinamento diário das 09:00hs às 18:00hs
Coffee break às 15:30hs
Almoço às 13:00hs – 1 hora de duração
Resumo
●
Introdução ao MikroTik RouterOS
–
●
OSPF
–
●
●
Interfaces, Internet, Hotspot e PPPoE
Áreas, Custos, Redistribuição e Agregação
MPLS
–
LDP
–
VPLS (VPN L2)
BGP
–
Básico do BGP (iBGP, eBGP)
–
Distribuição, filtros e atributos do BGP
Sobre a Mikrotik
•
•
•
•
1995: Inicio das atividades
1997: Lançado RouterOS para x86 (PC)
2002: Primeira RouterBOARD lançada
2006: Primeiro MUM
Onde está a Mikrotik ?
7
Nivelamento de conhecimentos TCP/IP
37
Modelo OSI
(Open System Interconnection)
Interconnection
CAMADA 7 – Aplicação: Comunicação com os programas. SNMP e TELNET.
CAMADA 6 – Apresentação: Camada de tradução. Compressão e criptografia
CAMADA 5 – Sessão: Estabelecimento das sessões TCP.
CAMADA 4 – Transporte: Controle de fluxo, ordenação dos pacotes e correção de erros
CAMADA 3 – Rede: Associa endereço físico ao endereço lógico
CAMADA 2 – Enlace: Endereçamento físico. Detecta e corrige erros da camada 1
CAMADA 1 – Física: Bits de dados
38
Camada I – Camada Física
• A camada física define as características
técnicas dos dispositivos elétricos.
• É nesse nível que são definidas as
especificações de cabeamento estruturado,
fibras ópticas, etc... No caso da wireless é a
camada I que define as modulações,
frequências e largura de banda das portadores.
39
Camada II - Enlace
• Camada responsável pelo endereçamento físico,
controle de acesso ao meio e correções de erros da
camada I.
• Endereçamento físico se faz pelos endereços MAC
(Controle de Acesso ao Meio) que são únicos no mundo
e que são atribuídos aos dispositivos de rede.
• Ethernets e PPP são exemplos de dispositivos que
trabalham em camada II.
40
Endereço MAC
• É o único endereço físico de um dispositivo de rede
• É usado para comunicação com a rede local
• Exemplo de endereço MAC: 00:0C:42:00:00:00
41
Camada III - Rede
• Responsável pelo endereçamento lógico dos
pacotes.
• Transforma endereços lógicos(endereços IPs) em
endereços físicos de rede.
• Determina que rota os pacotes irão seguir para
atingir o destino baseado em fatores tais como
condições de tráfego de rede e prioridade.
42
Endereço IP
• É o endereço lógico de um dispositivo de rede
• É usado para comunicação entre redes
• Exemplo de endereço ip:: 200.200.0.1
43
Sub Rede
• É uma faixa de endereços IP que divide as redes em segmentos
• Exemplo de sub rede: 255.255.255.0 ou /24
• O endereço de REDE é o primeiro IP da sub rede
• O endereço de BROADCAST é o último IP da sub rede
• Esses endereços são reservados e não podem ser usados
End. IP/Máscara
End. de Rede
End. Broadcast
192.168.1.0/23
192.168.0.0
192.168.1.255
192.168.1.1/24
192.168.1.0
192.168.1.255
192.168.1.1/25
192.168.1.0
192.168.1.127
192.168.1.1/26
192.168.1.0
192.168.1.63
44
Endereçamento CIDR
45
Protocolo ARP – Address Resolution Protocol
• Utilizado para associar IP’s com endereços físicos.
• Faz a intermediação entre a camada II e a camada III da
seguinte forma:
1. O solicitante de ARP manda um pacote de broadcast com
informação do IP de destino, IP de origem e seu MAC,
perguntando sobre o MAC de destino.
2. O host que tem o IP de destino responde fornecendo seu MAC.
3. Para minimizar o broadcast, o S.O mantém um tabela ARP
constando o par (IP – MAC).
46
Camada IV - Transporte
• Quando no lado do remetente é responsável por
pegar os dados das camadas superiores e dividir em
pacotes para que sejam transmitidos para a camada
de rede.
• No lado do destinatário pega pega os pacotes
recebidos da camada de rede, remonta os dados
originais e os envia para à camada superior.
 Estão na camada IV: TCP, UDP, RTP
47
Camada IV - Transporte
Protocolo TCP:
O
O TCP é um protocolo de transporte que executa
importantes funções para garantir que os dados sejam
entregues de forma confiável, ou seja, sem que os
dados sejam corrompidos ou alterados.
Protocolo UDP:
O
O UDP é um protocolo não orientado a conexão e
portanto é mais rápido que o TCP. Entretanto não
garante a entrega dos dados.
48
Características do protocolo TCP
 Garante a entrega de data gramas IP.
 Executa a segmentação e reagrupamento de grande blocos de dados enviados
pelos programas e garante o seqüenciamento adequado e a entrega ordenada de
dados segmentados.
 Verifica a integridade dos dados transmitidos usando cálculos de soma de
verificação.
 Envia mensagens positivas dependendo do recebimento bem-sucedido
bem
dos dados.
Ao usar confirmações seletivas, também são enviadas confirmações negativas
para os dados que não foram recebidos.
 Oferece um método preferencial de transporte de programas que devem usar
transmissão confiável de dados baseados em sessões, como banco de dados
cliente/servidor por exemplo.
49
Diferenças básicas entre TCP e UDP
TCP
UDP
Serviço orientado por conexão.
Serviço sem conexão. Não é estabelecida
conexão entre os hosts.
Garante a entrega através do uso de
confirmação e entrega seqüenciada dos
dados.
Não garante ou não confirma entrega
dos dados.
Programas que usam TCP tem garantia
de transporte confiável de dados.
Programas que usam UDP são
responsáveis pela confiabilidade dos
dados.
Mais lento, usa mais recursos e somente
dá suporte a ponto a ponto.
Rápido, exige poucos recursos e oferece
comunicação ponto a ponto e
multiponto.
50
Estado das conexões
• É possível observar o estado das conexões no MikroTik no menu Connections.
51
Portas TCP
Protocolo
TCP
FTP
SSH
Telnet
WEB
Porta 21
Porta 22
Porta 23
Porta 80
O uso de portas, permite o funcionamento de vários serviços, ao
mesmo tempo, no mesmo computador, trocando informações com um
ou mais serviços/servidores.
Portas abaixo de 1024 são registradas para serviços especiais.
52
Dúvidas ????
53
DIAGRAMA INICIAL
54
Configuração do Router
• Adicione os ips as interfaces
Obs.: Atente para selecionar as interfaces corretas.
55
Configuração do Router
• Adicione a rota padrão
3
1
4
2
56
Configuração do Router
• Configuração da interface wireless
58
Teste de conectividade
• Pingar a partir da RouterBoard o seguinte ip:
192.168.X.254
• Pingar a partir da RouterBoard o seguinte endereço:
www.mikrotik.com;
• Pingar a partir do notebook o seguinte ip:
192.168.X.254
• Pingar a partir do notebook o seguinte endereço:
www.mikrotik.com;
• Analisar os resultados
59
Corrigir o problema de conectividade
• Diante do cenário apresentado quais soluções
podemos apresentar?
– Adicionar rotas estáticas;
– Utilizar protocolos de roteamento dinâmico;
– Utilizar NAT(Network Address Translation).
60
Utilização do NAT
• O mascaramento é a técnica que permite que vários
hosts de uma rede compartilhem um mesmo endereço
IP de saída do roteador. No Mikrotik o mascaramento é
feito através do Firewall na funcionalidade do NAT.
• Todo e qualquer pacote de dados de uma rede possui
um endereço IP de origem e destino. Para mascarar o
endereço, o NAT faz a troca do endereço IP de origem.
Quando este pacote retorna ele é encaminhando ao
host que o originou.
61
• Adicionar uma regra de NAT, mascarando as
requisições que saem pela interface wlan1.
3
1
2
4
62
Teste de conectividade
• Efetuar os testes de ping a partir do notebook;
• Analisar os resultados;
• Efetuar os eventuais reparos.
 Após a confirmação de que tudo está funcionando, faça
o backup da routerboard e armazene-o
armazene no notebook.
Ele será usado ao longo do curso.
63
Firewall no Mikrotik
152
Firewall
• O firewall é normalmente usado como ferramenta de segurança para
prevenir o acesso não autorizado a rede interna e/ou acesso ao roteador
em si, bloquear diversos tipos de ataques e controlar o fluxo de dados de
entrada, de saída e passante.
• Além da segurança é no firewall que serão desempenhadas diversas
funções importantes como a classificação e marcação de pacotes para
desenvolvimento de regras de QoS.
• A classificação do tráfego feita no firewall pode ser baseada em vários
classificadores como endereços MAC, endereços IP, tipos de endereços IP,
portas, TOS, tamanho do pacotes, etc...
153
Firewall - Opções
 Filter Rules:: Regras para filtro de pacotes.
 NAT:: Onde é feito a tradução de endereços e portas.
 Mangle:: Marcação de pacotes, conexão e roteamento.
 Service Ports:: Onde são localizados os NAT Helpers.
 Connections:: Onde são localizadas as conexões existentes.
 Address List: Lista de endereços ips inseridos de forma dinâmica ou estática e
que podem ser utilizadas em várias partes do firewall.
 Layer 7 Protocols: Filtros de camada 7.
154
Firewall – Canais default
• O Firewall opera por meio de regras. Uma regra é uma
expressão lógica que diz ao roteador o que fazer com
um tipo particular de pacote.
• Regras são organizadas em canais(chain)
canais(
e existem 3
canais “default”.
– INPUT:: Responsável pelo tráfego que CHEGA no router;
– OUTPUT:: Responsável pelo tráfego que SAI do router;
– FORWARD:: Responsável pelo tráfego que PASSA pelo router.
155
Firewall – Fluxo de pacotes
Interface de
Entrada
Decisão de
Roteamento
Interface de
Saida
Processo Local IN
Processo Local
OUT
Filtro Input
Filtro Output
Decisão de
Roteamento
Filtro Forward
• Para maiores informações acesse:
http://wiki.mikrotik.com/wiki/Manual:Packet_Flow
Packet_Flow
156
Firewall – Princípios gerais
1. As regras de firewall são sempre processadas por canal,
na ordem que são listadas de cima pra baixo.
2. As regras de firewall funcionam como expressões lógicas
condicionais, ou seja: “se <condição> então <ação>”.
3. Se um pacote não atende TODAS condições de uma regra,
ele passa para a regra seguinte.
157
Firewall – Princípios gerais
4. Quando um pacote atende TODAS as condições da
regra, uma ação é tomada com ele não importando
as regras que estejam abaixo nesse canal, pois elas
não serão processadas.
5. Algumas exceções ao critério acima devem ser
consideradas como as ações de: “passthrough”,
“
log e
“add to address list”.
6. Um pacote que não se enquadre em qualquer regra
do canal, por padrão será aceito.
158
Firewall – Filters Rules
• As regras de filtro pode ser organizadas e
mostradas da seguinte forma:
–
–
–
–
all: Mostra todas as regras.
dynamic:: Regras criadas dinamicamente por serviços.
forward, input output:: Regras referente a cada canal.
static:: Regras criadas estaticamente pelos usuários.
159
Firewall – Filters Rules
 Algumas ações que podem ser tomadas nos filtros de firewall:
 passthrough:: Contabiliza e passa adiante.
 drop:: Descarta o pacote silenciosamente.
 reject:: Descarta o pacote e responde com uma mensagem de icmp ou
tcp reset.
 tarpit:: Responde com SYN/ACK ao pacote TCP SYN entrante, mas não
aloca recursos.
160
Filter Rules – Canais criados pelo usuário
• Além dos canais padrão o administrador pode criar canais
próprios. Esta prática ajuda na organização do firewall.
• Para utilizar o canal criado devemos “desviar” o fluxo
através de uma ação JUMP.
• No exemplo acima podemos ver 3 novos canais criados.
• Para criar um novo canal basta adicionar uma nova regra e
dar o nome desejado ao canal.
161
Firewall – Filters Rules
• Ações relativas a canais criados
pelo usuário:
– jump:: Salta para um canal
definido em jump-target
– jump target:: Nome do canal para
onde se deve saltar
– return:: Retorna para o canal que
chamou o jump
162
Como funciona o canal criado pelo usuário
Canal criado
pelo usuário
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
JUMP
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
163
Como funciona o canal criado pelo usuário
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
JUMP
RETURN
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
REGRA
Caso exista alguma
regra de RETURN, o
retorno é feito de
forma antecipada e
as regras abaixo
serão ignoradas.
164
Firewall – Connection Track
Refere-se
se a habilidade do roteador em manter o estado da
informação relativa as conexões, tais como endereços IP de origem e
destino, as respectivas portas, estado da conexão, tipo de protocolos
e timeouts. Firewalls que fazem connection track são chamados de
“statefull”” e são mais seguros que os que fazem processamentos
“stateless”.
168
Firewall – Connection Track
 O sistema de connection track é o coração do
firewall. Ele obtém e mantém informações sobre
todas conexões ativas.
 Quando se desabilita a função “connection tracking”
são perdidas as funcionalidades NAT e as marcações
de pacotes que dependam de conexão. No entanto,
pacotes podem ser marcados de forma direta.
 Connection track é exigente de recursos de
hardware. Quando o equipamento trabalha somente
como bridge é aconselhável desabilitá-la.
desabilitá
169
Localização da Connection Tracking
Interface de
Entrada
Processo Local IN
Conntrack
Decisão de
Roteamento
Processo Local
OUT
Interface de
Saida
Conntrack
Filtro Input
Filtro Output
Decisão de
Roteamento
Filtro Forward
170
Firewall – Connection Track
• Estado das conexões:
– established:: Significa que o pacote faz parte de uma conexão já
estabelecida anteriormente.
– new:: Significa que o pacote está iniciando uma nova conexão ou faz
parte de uma conexão que ainda não trafegou pacotes em ambas
direções.
– related:: Significa que o pacote inicia uma nova conexão, porém está
associada a uma conexão existente.
– invalid:: Significa que o pacote não pertence a nenhuma conexão
existente e nem está iniciando outra.
171
Firewall – Address List
• A address list contém uma lista de endereços IP que pode ser utilizada em
várias partes do firewall.
• Pode-se
se adicionar entradas de forma dinâmica usando o filtro ou mangle
conforme abaixo:
– Ações:
• add dst to address list:: Adiciona o IP de destino à lista.
• add src to address list:: Adiciona o IP de origem à lista.
– Address List:: Nome da lista de endereços.
– Timeout:: Porque quanto tempo a entrada permanecerá na lista.
165
Firewall – Técnica do “knock
“
knock”
166
Firewall – Técnica do “knock
“
knock”
•
•
A técnica do “knock knock”” consiste em permitir acesso ao roteador somente após ter
seu endereço IP em uma determinada address list.
Neste exemplo iremos restringir o acesso ao winbox somente a endereços IPs que
estejam na lista “libera_winbox”
/ip firewall filter
add chain=input protocol=tcp dst-port=2771 action=add
add-src-to-address-list address-list=knock \
address-list-timeout=15s comment="" disabled=no
add chain=input protocol=tcp dst-port=7127 src-address
address-list=knock action= add-src-to-address-list \
address-list=libera_winbox address-list-timeout=15m comment=""
comment
disabled=no
add chain=input protocol=tcp dst-port=8291 src-address
address-list=libera_winbox action=accept disabled=no
add chain=input protocol=tcp dst-port=8291 action=drop
drop disbled=no
167
Firewall
Protegendo o Roteador e os Clientes
172
Princípios básicos de proteção
 Proteção do próprio roteador
 Tratamento das conexões e eliminação de tráfego
prejudicial/inútil.
 Permitir somente serviços necessários no próprio roteador.
 Prevenir e controlar ataques e acessos não autorizado ao roteador.
 Proteção da rede interna
 Tratamento das conexões e eliminação de tráfego
prejudicial/inútil.
 Permitir somente os serviços necessários nos clientes.
 Prevenir e controlar ataques e acesso não autorizado em clientes.
173
Firewall – Tratamento de conexões
• Regras do canal input
–
–
–
–
–
Descarta conexões inválidas.
Aceitar conexões estabelecidas.
Aceitar conexões relacionadas.
Aceitar todas conexões da rede interna.
Descartar o restante.
174
Firewall – Controle de serviços
• Regras do canal input
–
–
–
–
Permitir acesso externo ao winbox.
winbox
Permitir acesso externo por SSH.
Permitir acesso externo ao FTP.
Realocar as regras.
175
Firewall – Filtrando tráfego indesejável e
possíveis ataques.
• Controle de ICMP
– Internet Control Message Protocol é basicamente uma
ferramenta para diagnóstico da rede e alguns tipos de
ICMP devem ser liberados obrigatoriamente.
– Um roteador usa tipicamente apenas 5 tipos de
ICMP(type:code), que são:
• Ping – Mensagens (0:0) e (8:0)
• Traceroute – Mensagens (11:0) e (3:3)
• PMTUD – Mensagens (3:4)
• Os outros tipos de ICMP podem ser bloqueados.
177
Firewall – Filtrando tráfego indesejável
• IP’s Bogons:
– Existem mais de 4 milhões de endereços IPV4.
– Existem muitas ranges de IP restritos em rede públicas.
– Existem várias ranges reservadas para propósitos específicos.
– Uma lista atualizada de IP’s bogons pode ser encontrada em:
http://www.team-cymru.org/Services/Bogons/bogon
cymru.org/Services/Bogons/bogon-dd.html
• IP’s Privados:
– Muitos aplicativos mal configurados geram pacotes destinados a
IP’s privados e é uma boa prática filtrá-los.
filtrá
178
Firewal – Proteção básica
• Ping Flood:
– Ping Flood consiste no envio
de grandes volumes de
mensagens ICMP aleatórias.
– É possível detectar essa
condição no Mikrotik criando
uma regra em firewall filter e
podemos associá-la a uma
regra de log para monitorar a
origem do ataque.
179
Firewal – Proteção básica
• Port Scan:
– Consiste no scaneamento de portas TCP e/ou UDP.
– A detecção de ataques somente é possível para o protocolo
TCP.
– Portas baixas (0 – 1023)
– Portas altas (1024 – 65535)
180
Firewal – Proteção básica
• Ataques DoS:
– O principal objetivo do ataque de DoS é o consumo de
recursos de CPU ou banda.
– Usualmente o roteador é inundado com requisições de
conexões TCP/SYN causando resposta de TCP/SYN-ACK
TCP/SYN
e
a espera do pacote TCP/ACK.
– Normalmente não é intencional ou é causada por vírus
em clientes.
– Todos os IP’s com mais de 15 conexões com o roteador
podem ser considerados atacantes.
181
Firewal – Proteção básica
• Ataques DoS:
– Se simplesmente descartamos as conexões,
permitiremos que o atacante crie uma nova conexão.
– Para que isso não ocorra, podemos implementar a
proteção em dois estágios:
• Detecção – Criar uma lista de atacantes DoS com base em
“connection limit”.
• Supressão – Aplicando restrições aos que forem detectados.
182
Firewal – Proteção para ataques DoS
Criar a lista de atacantes
para posteriormente
aplicarmos a supressão
adequada.
183
Firewal – Proteção para ataques DoS
• Com a ação “tarpit”
aceitamos a conexão e a
fechamos, não deixando
no entanto o atacante
trafegar.
• Essa regra deve ser
colocada antes da regra de
detecção ou então a
address list irá reescrevê-la
todo tempo.
184
184
Firewal – Proteção básica
• Ataque dDoS:
– Ataque de dDoS são bastante
parecidos com os de DoS,
porém partem de um grande
número de hosts infectados.
– A única medida que podemos
tomar é habilitar a opção TCP
SynCookie no Connection
Track do firewall.
185
PPP – Definições Comuns para os
serviços
•


MTU/MRU:: Unidade máximas de transmissão/ recepção em
bytes. Normalmente o padrão ethernet permite 1500 bytes.
Em serviços PPP que precisam encapsular os pacotes, devedeve
se definir valores menores para evitar fragmentação.
Keepalive Timeout:: Define o período de tempo em segundos após o qual o
roteador começa a mandar pacotes de keepalive por segundo. Se nenhuma
reposta é recebida pelo período de 2 vezes o definido em keepalive timeout o
cliente é considerado desconectado.
Authentication: As formas de autenticação permitidas são:
 Pap:: Usuário e senha em texto plano sem criptografica.
 Chap: Usuário e senha com criptografia.
 Mschap1: Versão chap da Microsoft conf. RFC 2433
 Mschap2: Versão chap da Microsoft conf. RFC 2759
250
PPPoE – Cliente e Servidor
•
PPPoE é uma adaptação do PPP para funcionar em redes ethernet. Pelo fato da
rede ethernet não ser ponto a ponto, o cabeçalho PPPoE inclui informações
sobre o remetente e o destinatário, desperdiçando mais banda. Cerca de 2% a
mais.
•
Muito usado para autenticação de clientes com base em Login e Senha. O PPPoE
estabelece sessão e realiza autenticação com o provedor de acesso a internet.
•
O cliente não tem IP configurado, o qual é atribuido pelo Servidor
PPPoE(concentrador)
(concentrador) normalmente operando em conjunto com um servidor
Radius.. No Mikrotik não é obrigatório o uso de Radius pois o mesmo permite
criação e gerenciamento de usuários e senhas em uma tabela local.
•
PPPoE por padrão não é criptografado. O método MPPE pode ser usado desde
que o cliente suporte este método.
253
PPPoE – Cliente e Servidor
•
O cliente descobre o servidor através do protocolo
pppoe discovery que tem o nome do serviço a ser
utilizado.
•
Precisa estar no mesmo barramento físico ou os
dispositivos passarem pra frente as requisições
PPPoE usando pppoe relay.

No Mikrotik o valor padrão do Keepalive Timeout é 10, e funcionará bem na
maioria dos casos. Se configurarmos pra zero, o servidor não desconectará os
clientes até que os mesmos solicitem ou o servidor for reiniciado.
254
Configuração do Servidor PPPoE
1.
Primeiro crie um pool de IPs para o
PPPoE
PPPoE.
/ip pool add name=pool-pppoe
name=pool
ranges=172.16.0.2
ranges=172.16.0.2-172.16.0.254
2.
Adicione um perfil para o PPPoE onde:
Local Address = Endereço IP do concentrado.
Remote Address = Pool do pppoe.
/ppp profile local-address=172.16.0.1 name=perfil-pppoe remote-address=pool-pppoe
255
Configuração do Servidor PPPoE
3. Adicione um usuário e senha
/ppp secret add name=usuario password=123456
service=pppoe profile=perfil-pppoe
Obs.: Caso queira verificar o MAC-Address,, adicione em
Caller ID. Esta opção não é obrigatória, mas é um
parametro a mais para segurança.
256
Configuração do Servidor PPPoE
4. Adicione o Servidor PPoE
Service Name = Nome que os clientes vão
procurar (pppoe-discovery).
Interface = Interface onde o servidor pppoe vai
escutar.
/interface pppoe-server server add
authentication=chap, mschap1, mschap2
default-profile=perfil-pppoe disabled=no
interface=wlan1 keepalive-timeout=10 maxmru=1480 max-mtu=1480 max-sessions=50
mrru=512 one-session-per-host=yes servicename="Servidor PPPoE"
257
Mais sobre perfis
 Bridge: Bridge para associar ao perfil
 Incoming/Outgoing
Outgoing Filter: Nome do canal do
firewall para pacotes entrando/saindo.
 Address List:
List Lista de endereços IP para associar ao
perfil.
 DNS Server: Configuração dos servidores DNS a
atribuir aos clientes.
 Use Compression/Encryption/Change
Compression
TCP MSS:
caso estejam em default, vão associar ao valor que
está configurado no perfil default-profile.
258
Mais sobre perfis
 Session Timeout: Duração máxima de uma
sessão PPPoE.
 Idle Timeout: Período de ociosidade na
transmissão de uma sessão. Se não houver
tráfego IP dentro do período configurado, a
sessão é terminada.
 Rate Limit:
Limit Limitação da velocidade na forma
rx-rate//tx-rate. Pode ser usado também na
forma rx-rate/tx-rate
rx
rx-burst-rate/tx-burstrate rx--burst-threshould/tx-burst-threshould
burst-time
time priority rx-rate-min/tx-rate-min.
 Only One:
One Permite apenas uma sessão para o
mesmo usuário.
259
Mais sobre o database
 Service: Especifica o serviço disponível para este
cliente em particular.
 Caller ID: MAC Address do cliente.
 Local/Remote
Remote Address: Endereço IP Local (servidor)
e remote(cliente)
(cliente) que poderão ser atribuídos a um
cliente em particular.
 Limits Bytes IN/Out: Quantidade em bytes que o
cliente pode trafegar por sessão PPPoE.
 Routes:: Rotas que são criadas do lado do servidor
para esse cliente especifico. Várias rotas podem ser
adicionadas separadas por vírgula.
260
Mais sobre o PPoE Server
O concentrador PPPoE do Mikrotik suporta múltiplos servidores
para cada interface com diferentes nomes de serviço. Além do
nome do serviço, o nome do concentrador de acesso pode ser
usado pelos clientes para identificar o acesso em que se deve
registrar. O nome do concentrador é a identidade do roteador.
O valor de MTU/MRU inicialmente recomendado para o PPPoE é
1480 bytes. Em uma rede sem fio, o servidor PPPoE pode ser
configurado no AP. Para clientes Mikrotik, a interface de rádio
pode ser configurada com a MTU em 1600 bytes e a MTU da
interface PPPoE em 1500 bytes.
Isto otimiza a transmissão de pacotes e evita problemas associados a MTU menor que 1500 bytes.
Até o momento não possuímos nenhuma maneira de alterar a MTU da interface sem fio de
clientes MS Windows. A opção One Session Per Host permite somente uma sessão por host(MAC
Address). Por fim, Max Sessions define o número máximo de sessões que o concentrador
suportará.
261
Configuração do Lab
●
●
●
●
Dividir em grupos de quatro
Fazer a configuração de rede como ilustrado no
slide a seguir
Router R1 e R4 conectam no SSID AS100
Cada router tem sua rede local 192.168.XY.0/24
onde:
●
●
X – número do grupo
Y – número do router
Configuração do Lab
X – número do grupo
AP SSID=AS100
192.168.x1.0/24
AS100
AP
10.20.0.1/24
192.168.x2.0/24
10.20.0.x1/24
10.20.0.x4/24
R1 192.168.x.1/30
192.168.x.2/30
R4
192.168.x.5/30
192.168.x.6/30
R2
192.168.x.9/30
R3
192.168.x.10/30
192.168.x4.0/24
192.168.x3.0/24
Open Shortest Path First
(OSPF)
•
•
•
•
•
Areas
Costs
Virtual links
Route Redistribution
Aggregation
30
Protocolo OSPF
• O protocolo OSPF utiliza o estado do link e o
algoritmo de Dijkstra para construir e calcular
o menor caminho para todos destinos
conhecidos na rede;
• Os roteadores OSPF utilizam o protocolo IP 89
para comunicação entre si;
• O OSPF distribui informações de roteamento
entre roteadores pertencentes ao mesmo AS.
31
Autonomous System (AS)
●
●
Um AS é o conjunto de redes IP e roteadores
sobre o controle de uma mesma entidade
(OSPF, iBGP ,RIP) que representam uma única
política de roteamento para o restante da rede;
Um AS é identificado por um número de 16 ou
32 bits (0 – 4294967295)
– A faixa de 64512 até 65534 é de uso privado
http://www.iana.org/assignments/as-numbers/as-numbers.xml
Exemplo de um AS
Area
Area
Area
Area
33
Áreas OSPF
• A criação de áreas permite você agrupar uma
coleção de roteadores (entre 50 e 60);
• A estrutura de uma área não é visível para
outras áreas;
• Cada área executa uma cópia única do
algoritmo de roteamento ;
• As áreas OSPF são identificadas por um
número de 32 bits(0.0.0.0 – 255.255.255.255)
• Esses números devem ser únicos para o AS.
34
Tipos de Roteadores
• Um ASBR(Autonomous System Border Router ) é
um roteador que se conecta a mais de um AS;
– Um ASBR é usado para redistribuir rotas recebidas de
outros AS para dentro de seu próprio AS
• Um ABR(Area Border Router) é um roteador que se
conecta a mais de uma área;
– Um ABR mantém multiplas cópias da base de dados
dos estados dos links de cada área
• Um IR(Internal Router) é um roteador que está
conectado somente a uma área.
35
OSPF AS
ASBR
Area
ABR
Area
ABR
Area
ABR
Area
ASBR
36
Área Backbone
• A área backbone é o coração da rede OSPF. Ela
possui o ID (0.0.0.0) e deve sempre existir;
• A backbone é responsável por redistribuir
informações de roteamento entre as demais
áreas;
• A demais áreas devem sempre estar
conectadas a uma área backbone de forma
direta ou indireta(utilizando virtual link).
37
Virtual Link
• Utilizado para conectar áreas remotas ao
backbone através de áreas não-backbone;
38
Virtual Link
area-id=0.0.0.1
area-id=0.0.0.0
Virtual Link
area-id=0.0.0.2
area-id=0.0.0.3
ASBR
39
Redes OSPF
• São utilizada para
encontrar outros
roteadores OSPF
correspondentes a
área especificada;
• Você deve utilizar exatamente as redes utilizadas no
endereçamento das interfaces. Neste caso, o método
de sumarização não é permitido.
40
Neighbours OSPF
• Os roteadores OSPF encontrados estão listados
na aba Neighbours;
• Após a conexão ser estabelecida cada um irá
apresentar um status operacional conforme
descrito abaixo:
– Full: Base de dados completamente sincronizada;
– 2-way: Comunicação bi-direcional estabelecida;
– Down,Attempt,Init,Loading,ExStart,Exchange:
Não finalizou a sincronização completamente.
41
Neighbours OSPF
42
Áreas OSPF
• Crie sua própria área OSPF;
– Nome da área: area-z
– Area-id: 0.0.0.z
• Atribua uma rede a esta área;
• Verifique sua aba neighbour e tabela de
roteamento;
• Os ABRs devem configurar também a área de
backbone e as redes;
43
Tipos de LSA
●
●
●
●
Type 1: router LSA – Enviado pelo router para anunciar as
redes de suas interfaces. (Não deixa a área)
Type 2: network LSA – Enviado apenas pelo DR para seu
segmento e descreve outros routers na rede (vizinhos).
Type 3: network summary LSA – Enviado pelo ABR para
anunciar as redes da área a que ele pertence para outras
áreas.
Type 4: ASBR-summary LSA – Enviado pelo ABR, mas apenas
internamente, para descrever como alcançar o ASBR.
Tipos de LSA
●
●
●
●
●
Type 5: AS-external LSA – Usado pelo ASBR para descrever
redes (redistribuídas) externas ao AS. (Ex: rota padrão,
conectadas.)
Type 6: Group summary – Usado apenas para redes multicast
(MOSPF – Multicast OSPF). Suportado por poucos routers.
Type 7: NSSA external LSA – Usado por ASBR que participa
de area NSSA para descrever rotas redistribuídas na área
NSSA. LSA 7 é traduzido em LSA5 ao deixar a área.
Type 8: External Attributes LSA – Implementado raramente
e é usado quando informações BGP são levadas pelo OSPF.
Type 9, 10, 11 are Opaque LSAs – São destinados para uso
futuro em aplicações específicas.
OSPF - Opções
• Router ID: Geralmente o IP do
roteador. Caso não seja especificado
o roteador usará o maior IP que
exista na interface.
• Redistribute Default Route:
– Never: nunca distribui rota padrão.
– If installed (as type 1): Envia com métrica 1
se tiver sido instalada como rota estática,
dhcp ou PPP.
– If installed (as type 2): Envia com métrica 2
se tiver sido instalada como rota estática,
dhcp ou PPP.
– Always (as type 1): Sempre, com métrica 1.
– Always (as type 2): Sempre, com métrica 2.
44
OSPF - Opções
• Redistribute Connected Routes: Caso
habilitado, o roteador irá distribuir todas as
rotas relativas as redes que estejam
diretamente conectadas a ele.
• Redistribute Static Routes: Caso habilitado,
distribui as rotas cadastradas de forma
estática em /ip routes.
• Redistribute RIP Routes: Caso habilitado,
redistribui as rotas aprendidas por RIP.
• Redistribute BGP Routes: Caso habilitado,
redistribui as rotas aprendidas por BGP.
• Na aba “Metrics” é possível modificar as
métricas que serão exportadas as diversas
rotas.
45
OSPF – Distribuição de Rotas
• A rota default não é considerada uma rota estática!!
1
2
3
4
}
5
{
46
OSPF – Uso de métrica tipo 1
Custo=10
Custo=10
Custo=10
Custo Total=40
Custo=10
Origem
Custo Total=49
Custo=10
Custo=10
Destino
Custo=9
ASBR
47
OSPF – Uso de métrica tipo 2
Custo X
Cost=10
Custo X
Custo X
Custo Total=10
Origem
Custo X
Custo Total=9
Custo X
Destino
Custo=9
ASBR
48
Redistribuição de Rotas
• Habilite a re-distribuição de rotas conectadas
com type 1;
– Verifique a tabela de roteamento
• Adicione uma rota estática para a rede
172.16.XY.0/24
• Habilite a re-distribuição de rotas estáticas
com type 1;
– Verifique novamente a tabela de roteamento
49
OSPF – Custo de interfaces
• Por padrão todas interfaces tem custo 10;
• Para alterar este padrão você deve adicionar
interfaces de forma manual;
50
OSPF – Inface Lab
• Escolha o tipo de rede correta para todas interfaces
OSPF;
• Atribua custos(próx. slide) para garantir o tráfego
em uma única direção dentro da área;
• Verifique rotas ECMP em sua tabela de
roteamento;
• Atribua custos necessários para que o link backup
só seja usado caso outros links falhem;
• Verifique a redundância da rede OSPF;
• Confirme que o ABR seja o DR da sua área, mas
não na área de backbone;
51
OSPF – Custos de Interface
AP Principal
Laptop
ABR
Laptop
100
10
Laptop
BACKUP
LINK
10
100
10
Laptop
100
52
OSPF – Roteadores designados
• Para reduzir o tráfego OSPF em redes broadcast e
NBMA (Non-Broadcast Multiple Access), um único
fonte para atualização de rotas é criado – Os
roteadores designados(DR);
• Um DR mantém uma tabela completa da topologia da
rede e envia atualizações para os demais roteadores;
• O roteador com maior prioridade será eleito como DR;
• Os demais serão eleitos como roteadores backup –
BDR;
• Roteadores com prioridade 0 nunca serão DR ou BDR.
53
NBMA Neighbors
• Em redes nãobroadcast é
necessário especificar
os neighbors
manualmente;
• A prioridade
determina a chance
do neighbor ser eleito
DR;
54
Área Stub
• Uma área Stub é uma
área que não recebe
rotas de AS externos;
• Tipicamente todas rotas
para os AS externos são
substituídas por uma
rota padrão. Esta rota
será criada
automaticamente por
distribuição do ABR;
55
Área Stub – Cont.
• A opção “Inject Summary LSA” permite
especificar se os sumários de LSA da área de
backbone ou outras áreas serão reconhecidos
pela área stub;
• Habilite esta opção somente no ABR;
• O custo padrão dessa área é 1;
56
Área NSSA(Not-So-Stubby)
• Um área NSSA é um tipo de área stub que tem
capacidade de injetar transparentemente rotas
para o backbone;
• Translator role – Esta opção permite controlar
que ABR da área NSSA irá atuar como
repetidor do ASBR para a área de backbone:
– Translate-always: roteador sempre será usado
como tradutor.
– Translate-candidate: ospf elege um dos
roteadores candidatos para fazer as traduções.
57
OSPF AS
default
area-id=0.0.0.0
area-id=0.0.0.2
NSSA
default
area-id=0.0.0.1
Virtual Link
area-id=0.0.0.3
Stub
ASBR
58
Área Lab
• Modifique sua área para stub;
• Verifique as mudanças em sua tabela de rotas;
• Confirme que a distribuição de rotas default
esteja “never” no ABR;
• Marque a opção “Inject Summary LSA” no ABR
e desabilite no IR.
59
Interface Passiva
• O modo passivo
permite desativar as
mensagens de “Hello”
enviadas pelo protocolo
OSPF as interfaces dos
clientes;
• Portanto ativar este
recurso é sinônimo de
segurança;
60
Agregação de Áreas
• Utilizado para
agregar uma
range de redes
em uma única
rota;
• É possível atribuir
um custo para
essas rotas
agregadas;
61
Resumo OSPF
• Para segurança da rede OSPF:
– Use chaves de autenticação;
– Use a maior prioridade(255) para os DR;
– Use o tipo correto de rede para as áreas;
• Para aumenta a performance da rede OSPF:
– Use o tipo correto de área;
– Use agregação de áreas sempre que possível;
63
OSPF em redes VPN
• Cada interface VPN dinâmica cria uma nova
rota /32 na tabela de roteamento quando está
ativa;
• Isso causa dois problemas:
– Cada mudança dessas resulta em novas
atualizações do OSPF, caso a opção de redistribuir
rotas conectadas esteja ativada. Em grandes redes
isso causa um enorme flood!!
– OSPF vai criar e enviar LSA pra cada interface VPN,
caso a rede da VPN esteja atribuida a qualquer
área OSPF. O que diminui a performance.
64
Área PPPoE – Tipo Stub
ABR
Area1
Area tipo = stub
PPPoE
server
PPPoE
server
~250 clientes
PPPoE
~ 100 clientes
PPPoE
65
Área PPPoE – Tipo Default
ABR
Area1
PPPoE
server
~250 clientes
PPPoE
Area tipo = default
PPPoE
server
~ 100 clientes
PPPoE
66
Área PPPoE – Discussão
• Dê uma solução para o problema mencionado
anteriormente quando se utiliza área do tipo
“stub” ou Default;
67
Border Gateway Protocol
(BGP)
Autonomous System (AS)
●
●
Conjunto de routers sob um único controle
administrativo
Intercâmbio de rotas:
Routers dentro do AS usam IGP em comum
● Routers entre AS's usam EGP
Tem seu próprio número (ASN)
●
●
●
Suporta valores de 16-bit e 32-bit
(0 – 4294967295)
●
Números 64 512 a 65 534 são privados
http://www.iana.org/assignments/as-numbers/as-numbers.xml
Básico do BGP
●
●
●
●
●
Significa Protocolo de Gateway de Borda
Projetado como protocolo de roteamento
Inter-AS
A topologia da rede não é considerada,
apenas informações de sua alcançabilidade.
Único protocolo capaz de suportar redes do
tamanho da Internet
Usa algoritmo de vetor de caminho (path
vector)
Implementação do Vetor de Caminho
●
●
Trata todo o AS como um único ponto no
caminho
O prefixo é anunciado com a lista de ASs ao
longo do caminho, chamado AS Path.
●
Esconde a topologia da rede dentro do AS
●
Não garante ausência de loop dentro no AS
Implementação do Vetor de Caminho
10.1.0.0/24
Add AS100
ao AS path
AS100
AS200
Rejeita, AS100
já contido no
AS path
Add AS200
ao AS path
Add AS300
ao AS path
AS300
Recursos do BGP
●
●
●
●
O BGP Speaker (router) anuncia os códigos dos
recursos suportados
Se o recurso recebido não for suportado, o peer
remoto responde com uma notificação
O BGP Speaker tenta a sessão novamente sem os
recursos não suportados
Alguns dos recursos anunciados pelo RouterOS:
●
Route refresh
●
Multi-protocol extension
●
Suporte a AS com tamanho de 4 bytes (32 bits)
Transporte BGP
●
●
Opera com a troca de mensagens NLRI
(Network Layer Reachability Information)
A NLRI inclui um conjunto de atributos BGP e
um ou mais prefixos com estes atributos
associados
●
Usa o TCP (179) como protocolo de transporte
●
Inicialmente troca a tabela inteira entre os peers
●
Depois troca-se apenas atualizações
incrementais (mantêm a versão da tabela de
roteamento)
Tipo de mensagens BGP
●
Quatro tipos:
●
●
●
Open – Primeira mensagem enviada depois do
estabelecimento da conexão TCP, contêm a lista de
recursos. Confirmada por keepalive.
Keepalive – não contêm dados, enviada para evitar
que o hold timer expire
Update – atualização de rotas. Contêm:
–
–
●
NLRI
Path attributes
Notificação – enviada quando ocorre uma condição
de erro, contêm o código e sub-código do erro
Sessão BGP e atualizações
Open com o recurso ASN4
AS100
Notificação recurso não sup.
Open sem o recurso
AS200
Passive
BGP peer
Keepalive
AS200
AS100
Route Refresh message
Update
Networks
●
●
●
●
●
●
Indica quais redes o BGP deve originar do router.
Por padrão, a rede é anunciada apenas se ela existir
na tabela de rotas.
Essa sincronização pode ser desativada se:
●
Seu AS não oferece serviço de trânsito
●
Todos os routers de trânsito rodam BGP
Desativar o sincronismo permite o BGP converger
mais rápido.
O sincronismo pode ser danoso se as rotas estão
oscilando muito.
Configuração em /routing bgp network
Ativando o BGP
/routing bgp instance
set default as=300 router-id=10.10.10.4
/routing bgp peer
add instance=default remote-address=10.10.10.1 remoteas=3000
Se o router-id não for especificado, será usado o menor endereço IP do
router.
Verifique a conectividade do BGP. Qualquer status diferente de
established indica que os routers não se tornaram vizinhos (use print
status para mais detalhes)
[admin@R1] /routing bgp peer> print
Flags: X - disabled, E - established
#
INSTANCE
REMOTE-ADDRESS
0 E default
10.10.10.1
REMOTE-AS
3000
BGP e o connection-tracking
●
●
O connection-tracking é incapaz de manter
estados válidos de conexões com BGP multihomed.
Os pacotes relacionados a uma determinada
conexão pode viajar por diferentes caminhos
–
●
Não descarte conexões inválidas no firewall
O connection-tracking pode ser desligado
para obtermos melhor performance no router
BGP Route Reflector
●
●
●
Re-anuncia rotas iBGP para evitar full mesh
Reduz o número de mensagens de
comunicação
Minimiza o tamanho dos dados por mensagem:
●
Apenas o melhor caminho é refletido
AS200
AS200
R3
R1
R2
R3
R1
R2
RR
Configuração do Route Reflector
●
RR é configurado ao habilitar a opção “client to
client reflection”:
/routing bgp instance
set default client-to-client-reflection=yes
/routing bgp peer
add route-reflect=yes remote-peer=x.x.x.x (...)
●
●
A reflexão de rotas deve ser habilitada apenas
no router RR
O RouterOS não pode ser configurado como
um route reflector puro
BGP Lab II
●
Adicione R2 ao mesmo AS que R1
●
Adicione R3 ao mesmo AS que R4
●
Faça um peer BGP entre R2 e R3
●
Ative o OSPF entre os routers do mesmo AS
●
Configure o OSPF para anunciar as redes WAN
●
Coloque a interface WAN como passiva
BGP Lab II
X – número do grupo
AP SSID=AS100
Peer BGP
192.168.x1.0/24
AS100
AP
10.20.0.1/24
AS1x1
10.20.0.x1/24
10.20.0.x4/24
R1 192.168.x.1/30
192.168.x.2/30
R4
192.168.x.5/30
192.168.x.6/30
R2
192.168.x.9/30
R3
192.168.x.10/30
AS1x2
192.168.x40/24
192.168.x3.0/24
192.168.x2.0/24
BGP Lab II
[admin@R1] /ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
#
DST-ADDRESS
PREF-SRC
GATEWAY
DISTANCE
0 ADb 0.0.0.0/0
10.20.0.1
20
1 ADC 10.20.0.0/24
10.20.0.11
R1_AP
0
2 ADC 192.168.1.0/30
192.168.1.1
R1_R3
0
3 ADo 192.168.1.8/30
192.168.1.2
110
4 ADC 192.168.11.0/24
192.168.11.0
local
0
5 Db 192.168.11.0/24
192.168.1.2
200
6 ADb 192.168.14.0/24
192.168.1.10
200
7 Db 192.168.14.0/24
10.20.0.14
20
8 ADo 192.168.12.0/24
192.168.1.2
110
9 Db 192.168.12.0/24
192.168.1.2
200
10 ADb 192.168.13.0/24
192.168.1.10
200
11 Db 192.168.13.0/24
10.20.0.14
20
BGP Lab II
[admin@R2] /ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
#
DST-ADDRESS
PREF-SRC
GATEWAY
DISTANCE
0 ADb 0.0.0.0/0
192.168.1.1
200
1 ADo 10.20.0.0/24
192.168.1.1
110
2 ADC 192.168.1.0/30
192.168.1.2
R3_R1
0
3 ADC 192.168.1.8/30
192.168.1.9
R3_R4
0
4 ADo 192.168.11.0/24
192.168.1.1
110
5 Db 192.168.11.0/24
192.168.1.1
200
6 ADb 192.168.14.0/24
192.168.1.10
20
7 ADC 192.168.12.0/24
192.168.12.0
local
0
8 Db 192.168.12.0/24
192.168.1.1
200
9 ADb 192.168.13.0/24
192.168.1.10
20
O BGP redistribui apenas a melhor rota. Como em R1 a melhor rota é a recebida de R2, o router
R1 não redistribui .14.0/24 e .13.0/24 de volta a R2.
Interior e Exterior BGP
●
iBGP – pareamento entre routers do mesmo AS
●
eBGP – pareamento entre routers de ASs diferentes
AS200
R2
eBGP
AS100
AS300
R3
R1
R4
R5
R6
iBGP
eBGP
AS400
eBGP
●
●
●
●
Quase sempre é formado entre peers
diretamente conectados (roteadores borda do
AS).
A configuração de multi-hop é requerida se os
peers não são diretamente conectados
Adiciona seu AS no PATH dos prefixos
anunciados
Por padrão o Next-hop é alterado para “si
mesmo” (self)
Exemplo de eBGP Multihop
Lo: 10.1.1.2
Lo: 10.1.1.1
AS100
AS200
R1
172.16.1.1
Eth1
172.16.1.2
Eth1
R2
Eth2
/routing bgp peer
add remote-address=10.1.1.x remote-as=x multihop=yes \
update-source=lo
Essa configuração requer rotas estáticas ou IGP habilitado para que os
vizinhos alcancem um ao outro.
Configurando eBGP em endereço Loopback pode proteger o BGP de
ataques DoS.
iBGP
●
Next-hop não é alterado por padrão:
●
●
Usa IGP (RIP, OSPF ou estática) para garantir a
alcançabilidade dentro do AS
Atributos aprendidos via iBGP não são alterados para
evitar impactos na escolha do caminho para as redes
externas
●
O AS Path também não é manipulado
●
Provê maneiras de controlar os pontos de saída do AS
●
As rotas externas recebidas de um peer iBGP não é
propagada para outros peers iBGP:
●
Requer full mesh entre os peers iBGP.
loopback
●
●
●
Elimina a dependência de interface física para fazer a
conexão TCP.
Mais usado entre peers iBGP
No RouterOS uma bridge vazia pode ser usada como
loopback loopback: 10.1.1.2
loopback: 10.1.1.1
AS100
R2
R1
Eth1
Eth1
Eth2
/interface bridge add name=loopback
/ip address add address=10.1.1.x/32 interface=loopback
/routing bgp peer
add remote-peer=10.1.1.x remote-as=100 update-source=loopback
BGP Lab III
●
Aprimore sua configuração usando endereços
de loopback entre os peers iBGP
10.255.X.Y/32, onde
X – número do grupo
Y – número do router
●
●
Adicione o IP da loopback nas redes OSPF
Atribua o IP da loopback como router-id do
OSPF e do BGP
Distribuição de rotas
●
As rotas IGP (static, OSPF, RIP, connected)
podem ser redistribuídas
/routing bgp instance
set default redistribute-static=yes
set default redistribute-ospf=yes
●
Prefix origin fica “incomplete”
●
Risco de anunciar todas as rotas IGP
●
Sempre use filtros de rotas para evitar
anúncios indesejáveis
Exemplo de Distribuição
AS200
10.1.1.0/24
AS100
R1
R2
/ip route add dst-address=10.1.1.0/24 type=unreachable
/routing bgp instance set default redistribute-static=yes
●
●
Os pacotes serão descartados a menos que
rotas mais específicas estejam presentes
Boa maneira de anunciar redes maiores
Filtros de Rotas
●
●
●
●
Principal ferramenta para controlar e modificar
informações de roteamento
Organizadas em chains como no firewall
Especifique no peer BGP quais chains quer
usar ou na instância BGP em out filter
Os prefixos passam primeiro na chain da
instância, depois passam na chain do peer
/routing bgp peer set 0 in-filter=bgp-in out-filter=bgp-out
/routing filter add chain=bgp-out prefix=10.1.1.0/24 \
action=discard invert-match=yes
Exemplo de Filter Chain
/routing bgp instance set default out-filter=bgp-o
/routing bgp peer set peer1 out-filter=bgp-peer-o
/routing filter
add chain=bgp-o prefix=10.1.1.0/24 action=accept \
set-bgp-communities=30:30
add chain=bgp-o action=discard
add chain=bgp-peer-o prefix=10.1.1.0/24 action=passthrough \
set-out-nexthop=192.168.99.1
3 ADb dst-address=10.255.1.2/32 gateway=10.20.0.12
gateway-status=192.168.99.1 reachable ether2 distance=20 scope=40
target-scope=10 bgp-as-path="112" bgp-origin=igp
bgp-communities=30:30 received-from=peer2
Filtro de Prefixo
10.1.1.0/24
AS100
AS400
R4
AS300
R1
R3
10.1.2.0/24
AS200
R2
# config no R3
/routing bgp peer set peer1 out-filter=bgp-out
/routing filter add prefix=10.1.0.0/16 prefix-length=16-32 \
chain=bgp-out action=discard
Filtro de AS Path
●
●
Pode ser configurado para permitir atualizações
somente para/de determinado AS
Suporte expressões regulares
●
“.” - qualquer caractere simples
●
“^” - início do as-path
●
“$” - fim do as-path
●
“_” - coincide com vírgula, espaço, início e fim do as-path
# config no R3
/routing filter add chain=bgp-out action=discard \
bgp-as-path=_200_
BGP Soft Reconfiguration
●
●
Quando action=discard é usada, as rotas não são
atualizadas depois da mudança de filtros.
Solução
●
Use action=reject para manter as rotas em memória
●
Dynamic (o peer precisa suportar o recurso refresh):
–
–
–
Peer atualiza as rotas após as mudanças.
Não é usada memória adicional
Não é feito automaticamente – precisa rodar o
comando “refresh”
BGP Lab IV
●
Crie filtros de rotas de maneira que:
●
R1 não receba o prefixo 192.168.x4.0/24 via AP
●
R2 não receba o prefixo 192.168.x3.0/24 de R3
●
R3 não receba o prefixo 192.168.x2.0/24 de R2
●
R4 não receba o prefixo 192.168.x1.0/24 via AP
BGP Lab IV
Vamos analisar o R2. Se a configuração ficou correta,
o traceroute para a rede x4 deve ir por R3 e o
traceroute para x3 deve ir pelo AP
[admin@R2] /ip address> /tool traceroute 192.168.14.1 srcaddress=192.168.12.1
# ADDRESS
RT1
RT2
RT3
STATUS
1 192.168.1.6
4ms
4ms
4ms
2 192.168.14.1
3ms
4ms
4ms
[admin@R2] /ip address> /tool traceroute 192.168.13.1 srcaddress=192.168.12.1
# ADDRESS
RT1
RT2
RT3
STATUS
1 192.168.1.1
2ms
2ms
2ms
2 10.20.0.14
3ms
4ms
4ms
3 192.168.13.1
6ms
6ms
6ms
Algorítimo de decisão do BGP
●
●
●
●
BGP usa o único melhor caminho para alcançar
o destino
BGP sempre propaga o melhor caminho para
seus vizinhos
Diferentes atributos de prefixos são usados para
determinar o melhor caminho, como weight,
next-hop, as-path, local-pref etc.
Atribuir no peer o IP da loopback pode forçar o
BGP a instalar rota ECMP (para load balancing).
Escolha do melhor caminho
●
Validação do Next-hop
●
WEIGHT maior (padrão = 0)
●
LOCAL-PREF maior (padrão = 100)
●
Menor AS-PATH
●
Path originado localmente (aggregate, BGP network)
●
Menor origin type (IGP, EGP, Incomplete)
●
Menor MED (padrão = 0)
●
Prefere eBGP ao invés de iBGP
●
Prefere a rota com menor router ID ou ORIGINATOR_ID
●
Cluster de Route Reflectors mais próximo (padrão = 0)
●
Prefere o caminho que vier do vizinho de menor IP
Nexthop
●
Endereço IP usado para alcançar determinado destino
●
Para eBGP, o nexthop é o IP do vizinho
●
O nexthop anunciado via eBGP é levado no iBGP
AS100
Dst: 172.16.0.0/24
next-hop:10.1.1.1
Dst: 172.16.0.0/24
next-hop:10.1.1.1
R1 10.1.1.1
172.16.0.0/24
10.1.1.2
R3
R2
10.30.1.1
10.30.1.2
AS200
Nexthop self
Força o BGP a atribuir seu próprio IP como nexthop
# config no R2
/routing bgp peer set peer1 nexthop-choice=force-self
AS100
Dst: 172.16.0.0/24
next-hop:10.1.1.1
Dst: 172.16.0.0/24
next-hop:10.30.1.1
R1 10.1.1.1
172.16.0.0/24
10.1.1.2
R3
R2
10.30.1.1
10.30.1.2
AS200
Weight
●
Weight é atribuído localmente pelo router
●
Prefixos sem atribuição de weight tem o valor padrão 0
●
Rota com maior weight é preferida
AS200
AS100
R3
R1
172.16.0.0/24
Weight=100
R2
AS300
172.16.0.0/24
Weight=50
Local Preference
●
Indica qual caminho tem preferência para sair do AS
●
Caminho com maior Local Pref é escolhido (padrão: 100)
●
É anunciado para dentro do AS
10.1.1.0/24
AS100
AS200
R1
R5
AS300
Local-pref = 200
R4
R2
R3
Local-pref = 100
AS Path
●
Lista de números AS que um update percorreu.
AS300
R3
AS200
R2
10.1.1.0/24
AS-path:200,100
AS400
R4
AS-path: 300,200,100
AS-path:100
AS100
R1
AS-Path Prepend
A manipulação do AS-Path pode ser usada para
influenciar a escolha do melhor caminho pelo
tráfego vindo dos routers acima.
172.16.0.0/24
AS-Path: 200,300
172.16.0.0/24
AS-Path: 100,300,300
AS200
AS100
R3
R1
Prepend = 2
172.16.0.0/24
R2
AS300
Origin
●
Informação da origem da rota:
●
●
●
IGP – interna ou proveniente do AS.
EGP – rota aprendida via Exterior Gateway
protocol
Incomplete – origem é desconhecida, ocorre
quando a rota é redistribuida no BGP.
MED
●
●
●
●
Multi Exit Discriminator ou Metric – dica para o vizinho
externo sobre a preferência do caminho dentro do AS
Menor metrica é preferida (padrão = 0)
Valor trocado entre os AS e usado para tomar decisão
dentro do outro AS, não é encaminhado para terceiro AS.
Ignorado se recebido de diferentes ASs
Exemplo de MED
AS100
Med=10
AS300
Med=0
R4
R1
Med=50
Med=100
R3
R2
AS200
R1, R2 e R3 anunciam a mesma rede para R4 com valores diferentes de
MED. R4 compara apenas os MEDs vindos de R2 e R3, MED vindo de
R1 é ignorado (outros atributos são usados para seleção do melhor
caminho).
BGP Lab V
X – número do grupo
AP SSID=AS100
192.168.x1.0/24
AS100
AP
192.168.x1.0/24
AS1x1
R1
192.168.x2.0/24
192.168.x4.0/24
192.168.x2.0/24
R4
R2
192.168.x3.0/24
R3
192.168.x4.0/24
AS1x2
192.168.x3.0/24
Use as-path prepend para configurar fail-over no BGP e balanceamento de carga
como ilustrado
Community
●
●
●
Atributo para grupos de destino
Filtros podem facilmente ser aplicados para
todo o grupo
Grupos padrão:
●
No-export – não anuncia para o peer eBGP
●
No-advertise – não anuncia para qualquer peer
●
Internet – anuncia para a community Internet
●
Local-as – não anuncia para fora do AS local
(em redes não-confederadas é o mesmo que noexport)
Exemplo de Community
Assumindo que não queremos que R2 propague rotas
aprendidas de R1
10.1.1.0/24
AS100
AS300
R3
AS200
R1
R2
# config no R1
/routing filter add chain=bgp-out action=passthrough \
set-bgp-communities=no-export
Community (continuação)
●
Valor de 32-bit escrito no formato “xx:yy”
●
Dá ao cliente mais controle sobre políticas
●
●
Simplifica a configuração em “upstream*”
(*operadoras)
Pode ser usado por ISPs para:
–
–
–
Opções de prepend do AS
Restrições geográficas
Blackholing (criação de blackhole), etc.
Exemplo de Community (cont.)
●
Communities públicas definidas pelo AS 100
●
100:500 – anuncia para todos os peers
●
100:501 – anuncia para o AS 400
10.1.1.0/24 community=100:500
10.2.2.0/24 community=100:501
AS 400
ISP
AS100
AS300
AS 500
Exemplo de Community (cont.)
# config no router AS300
/routing bgp peer set toAS100 out-filter=bgp-out-as100
/routing filter
add prefix=10.1.1.0/24 action=accept\
chain=bgp-out-as100 set-bgp-communities=100:500
add prefix=10.2.2.0/24 action=accept\
chain=bgp-out-as100 set-bgp-communities=100:501
# config no router AS100
/routing bgp peer set toAS500 out-filter=bgp-out-as500
/routing filter
add bgp-communities=100:501 action=discard\
chain=bgp-out-as500
Exemplo de ISP
aut-num:
AS2588
as-name:
LatnetServiss-AS
descr:
LATNET ISP
member-of:
AS-LATVIA
remarks:
+-------------------------------------------------remarks:
|
remarks:
|
x=0 Anuncia como vier
remarks:
|
x=1 Prepend +1
remarks:
|
x=2 Prepend +2
remarks:
|
x=3 Prepend +3
remarks:
|
x=4 Prepend +4
remarks:
|
x=5 Prepend +5
remarks:
|
remarks:
|
2588:400 Latvian Nets
remarks:
|
2588:500 Anuncia para LIX (Latvian Internet Exchange)
remarks:
|
2588:666 Não anuncia (blackhole)
remarks:
|
2588:70x Anuncia para uplinks com $x prepend
remarks:
|
2588:900 Recebidas de LIX (Latvian Internet Exchange)
remarks:
|
remarks:
|
Para mais informação favor enviar e-mail para:
remarks:
|
iproute (arroba) latnet (ponto) lv
remarks:
+--------------------------------------------------
Communities estendidas
●
●
Usado para levar campos adicionais em
cenários com L2VPN e VPNv4
Alguns campos adicionais:
●
Route Targets
●
Site of Origin
●
Control flags
●
MTU
●
Encapsulation flags
Agregação de rotas
Sumarização de rotas mais específicas em redes
maiores. Pode ser usado para esconder a topologia.
Funciona apenas na mesma instância
das rotas BGP
AS400
R4
10.1.1.0/24
10.0.0.0/8
AS100
R1
AS300
R3
10.1.2.0/24
AS200
R2
# config no R3
/routing bgp aggregate add instance=default summary-only=yes \
prefix=10.0.0.0/8 action=passthrough inherit-attributes=no
BGP Multi-Protocolo
●
●
●
O formato do pacote BGP é projetado para IPv4
O atributo “address family” foi criado para levar
novos tipos de endereços.
RouterOS suporta as seguintes famílias de
endereços:
●
IPv6
●
L2VPN
●
VPN4
●
Cisco style L2VPN
Instância BGP
●
Cada instância BGP roda seu próprio
algorítimo de seleção BGP
●
●
As rotas entre instâncias são eleitas por outros
meios (como “distance”)
As rotas de uma instância não são
redistribuídas automaticamente para outra
instância
●
Necessita de:
/routing bgp instance
set <id> redistribute-other-bgp=yes
●
Os atributos BGP são herdados da outra
instância
Multi-protocol Label Switching
(MPLS)
LDP e VPLS (VPN layer2)
Configuração do MPLS Lab
●
Resetar a configuração do router
●
Configurar o cenário como ilustrado
●
●
Configurar endereço de loopback e ativar o
OSPF em todos os links
Adicionar o endereço de loopback nas redes
do OSPF
Configuração do MPLS Lab
X – número do grupo
AP SSID=AS100
192.168.x1.0/24
AS100
AP
10.20.0.1/24
192.168.x2.0/24
10.20.0.x1/24
R1 192.168.x.1/30
Lo:10.255.x.1
10.20.0.x4/24
Lo:10.255.x.4
192.168.x.2/30
R4
192.168.x.5/30
192.168.x.6/30
192.168.x4.0/24
R2 Lo:10.255.x.2
192.168.x.9/30
R3
192.168.x.10/30
Lo:10.255.x.3
192.168.x3.0/24
Básico do MPLS
●
●
●
Tecnologia usada para encaminhar pacotes,
baseada em labels (rótulos) pequenos
Objetivo inicial: encaminhamento mais eficiente
que o roteamento IP (similar ao ATM switching)
Serve de base para alguns “Serviços Avançados”:
●
Layer3 VPNs
●
Qualquer “coisa” sobre MPLS (AtoM), Layer2 VPNs
●
MPLS Traffic Engineering (engenharia de tráfego)
●
Serviços com largura de banda garantia
Básico do MPLS
●
LER – Label Edge Router ou Provider Edge router (PE)
●
LSR – Label Switch Router ou Provider router (P)
Pacotes são classificados
e rotulados no ingress
LER
MPLS
Backbone
LSRs encaminham
pacotes usando a
comutação de rótulos
Rótulo é removido no
egress LER
Básico do MPLS
●
●
Também chamado de protocolo de camada 2.5
Cabeçalho Shim (32 bit) colocado entre a camada OSI
2 e 3:
●
Label (20 bits)
●
EXP (3 bits) – CoS (classe do serviço)
●
End of Stack flag (1 bit) – se o rótulo atual é o último da pilha
●
TTL (8 bits)
L2
MPLS
Label
L3
EXP S TTL
Básico do MPLS
●
É permitido mais de um rótulo
●
Os rótulos são agrupados na pilha de rótulos
●
LSRs sempre usam o rótulo do topo da pilha
●
Existem diversos métodos de distribuição de
rótulos:
●
Static Label mapping – mapeamento estático
●
LDP – mapeia destinos IP unicast em rótulos
●
BGP – rótulos externos (VPN)
●
RSVP (46), CR-LDP – usados para engenharia de
tráfego e reserva de recursos (banda)
LDP
●
●
Significa Label Distribution Protocol
(protocolo de distribuição de rótulos)
Baseia-se na informação de roteamento
proveniente do IGP – cria rótulos locais
vinculados a cada prefixo IP e distribui a seus
Vínculos remotos
vizinhos LDP
Prefixo IGP
10.1.1.0/24
10.1.1.0/24
Label 21
Local binding
Label 21
10.1.1.0/24
Label 22
Local binding
Label 22
10.1.1.0/24
Label 23
Local binding
Label 23
Números bem conhecidos
●
●
●
LDP Hello messages – porta UDP 646
LDP transport session establishment – porta
TCP 646
Hellos são enviadas a “todos os routers da
sub-rede” pelo endereço de multicast
(224.0.0.2)
Configurando LDP
●
Pode ser configurado no menu “/mpls
ldp”
/mpls ldp set enabled=yes transport-address=x.x.x.x \
lsr-id=x.x.x.x
/mpls ldp interface add interface=ether1
●
Atribuir o endereço de transporte garante o
comportamento adequado de “penultimate hop
popping”
LDP Lab
●
●
●
●
Habilite o LDP e atribua aos lsr-id e transport
address o mesmo endereço de loopback
Adicione as interfaces LDP que conectam nos
routers vizinhos
Verifique se os vizinhos LDP são criados
/mpls ldp neighbor print
Cheque a MPLS forwarding-table
/mpls forwarding-table print
Labels Reservados
●
Labels de 0 a 15 são reservados, mas apenas
4 são usados até então:
●
0 – explicit NULL
●
1 – router alert
●
2 – Ipv6 explicit NULL
●
3 – implicit NULL
PHP
Implicit NULL
0
PHP
Explicit NULL
Penultimate Hop Popping
●
●
●
●
Este router é o ponto de saída (egress) para a
rede que está diretamente conectada a ele, o
próximo salto não é um router MPLS
Anunciado pelo rótulo “implicit null”
Penultimate hop popping garante que o último
router não precisa buscar por rótulos quando
se sabe antecipadamente que ele terá que
rotear (roteamento ip) o pacote
Este penúltimo router então retira os rótulos e o
próprio cabeçalho MPLS e encaminha o pacote
IP original para o último salto
Explicit NULL
●
●
●
●
Se configurado, o penúltimo LSR encaminha o
pacote com o label NULL (rótulo nulo), ao
invés de retirar o cabeçalho.
Útil para preservar o QoS
Não é necessário se a pilha contiver ao menos
dois rótulos (o rótulo interno ainda pode levar
o valor de QoS)
Implicit NULL é usado por padrão
Sessões LDP direcionadas
●
●
Em alguns casos é necessário estabelecer
sessões LDP direcionadas (sessão entre
LSRs remotos, não diretamente conectados)
Configuração:
/mpls ldp neighbor add transport=<remote_ip> \
send-targeted=yes
Targeted LDP
LDP
LDP
LDP
Layer 2 VPN
VPLS baseada em LDP
VPLS em LDP
●
Também chamadas de L2VPN ou EoMPLS
●
Une redes LAN individuais através do MPLS
●
Usa LDP para negociar os túneis VPLS
●
●
O campo “pseudowire demultiplexor” (rótulo
PW) é usado para identificar o túnel VPLS
O pseudowire (pseudo-cabo) tem funções de
aprendizado MAC, flooding e forwarding
VPLS em LDP
PW label
frame L2 do cliente
SN label
L2 header
Site 1
CE1
PE1
PE2
Site 3
P1
CE3
PE3
backbone MPLS
Pseudo wire
Site 2
CE2
CE - customer's edge router
PE - provider's edge router
P – provider's core router
Configurando VPLS
●
Adicione os pontos de conclusão do túnel VPLS:
/interface vpls
add remote-peer=x.x.x.x vpls-id=x:x
●
O vizinho LDP alvo é adicionado dinamicamente
●
O túnel ID deve ser único para cada VPLS
●
As informações relacionadas ao túnel VPLS
podem ser visualizadas pelo comando:
/interface vpls monitor
●
Coloque em bridge o VPLS com sua LAN para
obter conectividade transparente
Split Horizon
●
●
●
Encaminha o frame Ethernet vindo do PE para os CEs
conectados
Os pacotes não são encaminhados para as interfaces com
o mesmo valor de horizon
O valor de horizon é atribuído na configuração da porta da
bridge: /interface bridge port
add bridge=vpn interface=vpls1 horizon=1
CE1
CE3
1
PE1
PE3
1
CE2
1
1
PE2
CE4
VPLS em LDP: Lab
●
●
●
Crie túneis VPLS entre todos os routers do
grupo (VPLS ID x:x)
No seu router, coloque em bridge as interfaces
VPLS com sua LAN.
A rede da VPN é 192.168.x0.0/24 onde:
●
●
●
x – número do grupo
Configure o Split horizon para evitar loops
Teste a conectividade entre notebooks em seu
grupo
VPLS em LDP: Lab
túnel VPLS
X – número do grupo
AP SSID=AS100
192.168.x0.1/24
Site 1
AS100
AP
192.168.x0.2/24
rede VPN:
192.168.x0.0/24
R1
Site 2
Lo:10.255.x.1
Lo:10.255.x.4
Site 4
192.168.x0.4/24
R2 Lo:10.255.x.2
R4
R3
Lo:10.255.x.3
Site 3
192.168.x0.3/24
[admin@R4] /mpls ldp neighbor> print
Flags: X - disabled, D - dynamic, O - operational, T - sendingtargeted-hello, V - vpls
#
TRANSPORT LOCAL-TRANSPORT PEER SEND-TARGETED ADDRESSES
0 DOTV 10.255.0.3 10.255.0.4
10.255.0.3:0
no
10.255.0.3
192.168.1.2
1 DOTV 10.255.0.2 10.255.0.4
10.255.0.2:0
no
10.20.0.12
10.255.0.2
2 DOTV 10.255.0.1 10.255.0.4
10.255.0.1:0
yes
10.20.0.11
10.255.0.1
[admin@R4] /interface vpls> monitor 0
remote-label: 40
local-label: 28
remote-status:
transport: 10.255.0.1/32
transport-nexthop: 192.168.1.9
imposed-labels: 22,40
Importância do MTU L2/MPLS
●
MTU MPLS = MTU IP (L3) + cabeçalhos MPLS
●
MTU MPLS é ajustável no menu
/mpls interface
●
Se o MTU for muito grande e o próximo cabeçalho
for IP
●
Então gere “ICMP Need Fragment error”
●
Senão, descarte o pacote silenciosamente
Eth(14) VLAN(4) MPLS(4)
IP(20)
DATA(1480)
IP (L3) MTU
MPLS MTU
L2 MTU
Full Frame
L2MTU: 1500
Eth(14) IP(20)
DATA(1480)
R1
L2MTU: 1526
Eth(14) MPLS(4)VPLS(4) CW(4) Eth(14) IP(20)
DATA(1480)
R2
L2MTU: 1526
Eth(14) MPLS(4)VPLS(4) CW(4) Eth(14) IP(20)
DATA(1480)
R3
L2MTU: 1522
Eth(14) VPLS(4) CW(4) Eth(14) IP(20)
DATA(1480)
R4
L2MTU: 1500
Eth(14) IP(20)
DATA(1480)
VPLS Control Word
●
●
●
4-bytes para Control Word (CW) são usados
para fragmentação e remontagem dos pacotes
dentro do túnel VPLS
CW opcional é adicionado entre o rótulo PW e
o payload do pacote
O CW pode ser desativado para
compatibilidade com outros fabricantes
(algumas VPLS Cisco em BGP)
Resumo Geral
●
●
●
●
MPLS melhora a performance
Muito fácil de habilitar em configurações de
core já existentes
Muito fácil para migrar de EoIP para VPLS
Novas possibilidades para os ISPs oferecerem
novos serviços
Contatos
Leonardo Rosa
www.brauser.com.br
leonardo@brauser.com.br
71-4141-1144
71-9972-8523
Vivo
Download