Roteamento Avançado em MikroT 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.
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 MikroTik RouterOS –
●
OSPF –
●
Áreas, Custos, Redistribuição e Agregação
MPLS – –
●
Interfaces, Internet, Hotspot e PPPoE
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
ikrotik ?
7
Nivelamento de conhecimentos ecimentos TCP/IP TCP/IP
37
Modelo OSI (Open System Int rconnection) CAMADA 7 – Aplicação: Comunicação com os programas. SNMP e TELNET TELNE T. CAMAD CAMADA A 6 – Aprese Apresent ntaçã ação: o: Camada Camada de tradu tradução ção. Compressão e criptografia criptografia CAMADA CAMADA 5 – Sessão: Sessão: Estabe Estabelecim leciment ento o das sessõe sessões TCP. CAMADA 4 – Transporte: Co Controle de flu fluxo, ord orde ação dos pacotes e correção de erros CAMADA 3 – Rede: Associa endereço físico físico ao en ereço ereço lógico lógico CAMA CA MAD DA 2 – Enla Enlace ce:: End Ender ereç eçam amen ento to físi físico co.. Det Detee ta e corrige erros da camada 1 CAMADA CAMADA 1 – Física: Física: Bits Bits de dados dados 38
Camada I – Ca ada Física •
•
A camada física define as características técnicas dos dispositivos létricos. É nesse nível que são def nidas as especificações de cabea ento estruturado, fibras ópticas, etc... No c so da wireless é a camada I que define as odulações, frequências e largura de anda das portadores. 39
Camada II - Enlace •
•
•
Camada responsável pelo end reçamento físico, controle de acesso ao meio e orreções de erros da camada I. Endereçamento físico se faz p los endereços MAC (Controle de Acesso ao Meio) que são únicos no mundo e que são atribuídos aos disp sitivos 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 M C: 00:0C:42:00:00:00
41
Camada III - Rede •
•
•
Responsável pelo endere amento lógico dos pacotes. Transforma endereços ló icos(endereços IPs) em endereços físicos de rede. Determina que rota os p cotes 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 u
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 ivide as redes em segmentos
•
Exemplo de sub rede: 255.255.25 .0 ou /24
•
O endereço de REDE é o primeiro IP da sub rede
•
O endereço de BROADCAST é o úl imo 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 co endereços físicos. Faz a intermediação entre a c mada II e a camada III da seguinte forma: 1. O solicitante de ARP manda u 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 destin 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 camad s superiores e dividir em pacotes para que sejam transmitidos para a camada de rede. No lado do destinatário pe a pega os pacotes recebidos da camada de rede, remonta os dados originais e os envia para à amada superior.
Estão na camada IV: TCP,
U P, RTP 47
Camada IV - Transporte Protocolo
TCP:
O TCP é um protocolo de
ransporte 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
UDP é um protocolo nã orientado a conexão e portanto é mais rápido qu o TCP. Entretanto não garante a entrega dos dad s. 48
Características do protocolo TCP
Garante a entrega de data gramas IP.
Executa a segmentação e reagrupament de grande blocos de dados enviados pelos programas e garante o seqüencia ento adequado e a entrega ordenada de dados segmentados.
Verifica a integridade dos dados transmi idos usando cálculos de soma de verificação.
Envia mensagens positivas dependendo do recebimento bem-sucedido 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 baseado em sessões, como banco de dados cliente/servidor por exemplo. 49
Diferenças básicas ntre TCP e UDP TCP
UDP
Serviço orientado por conexão.
erviç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 CP Protocol TCP
FTP
SSH
Telnet
WEB
Porta 21
Porta 22
Porta 23
Porta 80
O uso de portas, permite o funciona ento de vários serviços, ao mesmo tempo, no mesmo computad r, 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 o Router •
Adicione os ips as interfa es
Obs.: Atente para selecionar as interfaces corretas. 55
Configuração o Router •
Adicione a rota padrão 3 1 4
2
56
Configuração o Router •
Configuração da interfac wireless
58
Teste de con conectividade •
•
•
•
•
Pingar a partir da RouterBo RouterBoard o seguinte ip: 192.168.X.254 Pingar a partir da RouterBo RouterBoard o seguinte endereço: www.mikrotik.com; Pingar a partir do notebook noteboo o seguinte ip: 192.168.X.254 Pingar a partir do notebook noteboo o seguinte endereço: www.mikrotik.com; Analisar os resultados 59
Corrigir o problema e conectividade •
Diante do cenário aprese tado quais soluções podemos apresentar? –
Adicionar rotas estáticas;
–
Utilizar protocolos de roteamento dinâmico;
–
Utilizar NAT(Network Add ess Translation). 60
Utilização o 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 M krotik o mascaramento é feito através do Firewall na fu cionalidade do NAT. Todo e qualquer pacote de da os de uma rede possui um endereço IP de origem e destino. Para mascarar o endereço, o NAT faz a troca d 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 con ctividade •
Efetuar os testes de ping a artir do notebook;
•
Analisar os resultados;
•
Efetuar os eventuais repar s.
Após a
confirmação de qu tudo está funcionando, faça o backup da routerboard e armazene-o no notebook. Ele será usado ao longo do curso. 63
Firewall no
ikrotik
152
Firew ll •
•
•
O firewall é normalmente usado co o ferramenta de segurança para prevenir o acesso não autorizado a r de interna e/ou acesso ao roteador em si, bloquear diversos tipos de ata ues 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 fir wall pode ser baseada em vários classificadores como endereços MAC, endereços IP, tipos de endereços IP, portas, TOS, tamanho do pacotes, et ... 153
Firewall - pções
Filter
Rules: Regras para filtro de pacote .
NAT: Onde é feito a tradução de endere os e portas.
Mangle: Marcação de pacotes, conexão Service
roteamento.
Ports: Onde são localizados os N T Helpers.
Connections: Onde
são localizadas as co exões existentes. Address List: Lista de endereços ips inse idos de forma dinâmica ou estática e que podem ser utilizadas em várias part s do firewall.
Layer 7 Protocols: Filtros de camada 7.
154
Firewall – Can is default •
•
O Firewall opera por meio e regras. Uma regra é uma expressão lógica que diz ao roteador o que fazer com um tipo particular de paco e. Regras são organizadas em canais(chain) e existem 3 canais “default”. –
INPUT: Responsável pelo tráfego que CHEGA no router;
–
OUTPUT: Responsável pelo ráfego que SAI do router;
–
FORWARD: Responsável pel 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 For ard Para maiores informações acesse: http://wiki.mikrotik.com/wiki/Manual:Packet Flow •
156
Firewall – Princ pios gerais
1. As regras de firewall são sem re processadas por canal, na ordem que são listadas de cima pra baixo. 2. As regras de firewall funcion m como expressões lógicas condicionais, ou seja: “se
então ”. 3. Se um pacote não atende TO AS condições de uma regra, ele passa para a regra seguin e. 157
Firewall – Princ pios gerais 4. Quando um pacote atend 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çõ s de: “passthrough”, log e “add to address list”. 6. Um pacote que não se en uadre em qualquer regra do canal, por padrão será ceito. 158
Firewall – Filters Rules
•
As regras de filtro pode ser organizadas e mostradas da seguinte for a: –
–
–
–
all: Mostra todas as regras. dynamic: Regras criadas din micamente 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 t madas nos filtros de firewall: passthrough : Contabiliza
e passa drop: Descarta o pacote silencios reject: Descarta o pacote e respo tcp reset. tarpit : Responde com SYN/ACK a aloca recursos.
diante. mente. de com uma mensagem de icmp ou pacote TCP SYN entrante, mas não
160
Filter Rules – Canais criados pelo usuário
•
•
• •
Além dos canais padrão o ad inistrador pode criar canais próprios. Esta prática ajuda n organização do firewall. Para utilizar o canal criado de emos “desviar” o fluxo através de uma ação JUMP. No exemplo acima podemos ver 3 novos canais criados. Para criar um novo canal bast adicionar uma nova regra e dar o nome desejado ao canal. 161
Firewall – Filters Rules •
Ações relativas a canais c iados pelo usuário: jump: Salta para um canal
–
definido em jump-target jump target: Nome do ca al para onde se deve saltar
–
return: Retorna para o ca al que
–
chamou o jump 162
Como funciona o can l 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 can l 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 – Co Conn ction Track Refere-se a habilidade do roteador em manter o estado da inform informaçã ação o rela relativ tivaa as conex conexões ões,, ta tais como endereços IP de origem e dest destin ino o, as respe espect ctiv ivas as port portas as,, est estaa o da conexão, conexão, tipo de protocolos e timeouts. Firewalls que fazem co nection nection track track são chamados chamados de “statefull” “statefull” e são mais seguros que s que fazem processamentos processamentos “stateless”.
168
Firewall – Co Conn ction Track O sistema de connection tr
ck é o cor coração ação do do firewall. Ele obtém e mant m informações sobre todas conexões ativas. Quando se desabilita a fun ão “connection “connection tracking” tracking ” são perdidas as funcionalidades NAT NAT e as marcações marcaçõe s de pacotes que dependam de conexão. No entanto, pacotes podem ser marcados de forma direta. Connec ecti tion on trac trackk é exi exiggent ent de recursos de Conn hardware. Quando o equip mento trabalha somente como bridge é aconselháv l desabilitá-la. 169
Localização da Con ection ection Tracking racking 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 For ard 170
Firewall – Co Conn ction ction Track 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 part partee de uma uma cone conexxão que que ain ainda da n o trafegou pacotes em ambas direções. related: Sign Signifi ifica ca que que o pacote pacote inici inicia uma nova conexão, porém está associada a uma conexão existente. invalid: Significa Significa que o pacote não pertence a nenhuma conexão existente existente e nem está iniciando out a. 171 –
–
–
–
Firewall – Ad ress List
•
•
A address list contém uma lista de endereços IP que pode ser utilizada em várias partes do firewall. Pode-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 d “knock knock”
166
Firewall – Técnica d “knock knock” •
•
A técnica do “knock knock” consiste em pe rmitir acesso ao roteador somente após ter seu endereço IP em uma determinada add ess 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=a d-src-to-address-list address-list=knock \ address-list-timeout=15s comment="" disabled=no add chain=input protocol=tcp dst-port=7127 src-address-list=knock action= add-src-to-address-list \ address-list=libera_winbox address-list-timeout=15m comment="" disabled=no add chain=input protocol=tcp dst-port=8291 src-address-list=libera_winbox action=accept disabled=no add chain=input protocol=tcp dst-port=8291 action=d op disbled=no 167
Firew ll Protegendo o Rotea or e os Clientes
172
Princípios básico de proteção
Proteção do próprio roteador Tratamento das conexões e eli inação de tráfego prejudicial/inútil. Permitir somente serviços necessários no próprio roteador. Prevenir e controlar ataques e cessos não autorizado ao roteador .
Proteção da rede interna Tratamento das conexões e eli inação de tráfego prejudicial/inútil. Permitir somente os serviços n cessários nos clientes. Prevenir e controlar ataques e cesso não autorizado em clientes. 173
Firewall – Tratamento Tratame 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 iinterna. Descartar o restante.
174
Firewall – Controle Contro de serviços
•
Regras do canal input – – – –
Permitir acesso externo ao winbox. winb Permitir acesso externo por SSH. Permitir acesso externo ao FTP. Realocar as regras.
175
Firewall – Filtrando rá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 o rigatoriamente. Um roteador usa tipicamente apenas 5 tipos de ICMP(type:code), que são: • • •
•
Ping – Mensagens (0:0) e (8:0 Traceroute – Mensagens (11: ) e (3:3) PMTUD – Mensagens (3:4)
Os outros tipos de ICMP p dem ser bloqueados. 177
Firewall – Filtrando tráfego indesejável •
IP’s Bogons: Existem mais de 4 milhões de ndereç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 bo ons pode ser encontrada em: http://www.team-cymru.org/Ser vices/Bogons/bogon-dd.html – – – –
•
IP’s Privados: Muitos aplicativos mal configu rados geram pacotes destinados a IP’s privados e é uma boa prática filtrá-los. –
178
Firewal – Prot çã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 criand uma regra em firewall filter podemos associá-la a uma regra de log para monitorar a origem do ataque. 179
Firewal – Prot ção básica •
Port Scan: Consiste no scaneamento de portas TCP e/ou UDP. A detecção de ataques somen e é possível para o protocolo TCP. Portas baixas (0 – 1023) Portas altas (1024 – 65535) – –
– –
180
Firewal – Prot ção básica •
Ataques DoS: O principal objetivo do ataq e de DoS é o consumo de recursos de CPU ou banda. Usualmente o roteador é in ndado com requisições de conexões TCP/SYN causand resposta de TCP/SYN-ACK e a espera do pacote TCP/ACK. Normalmente não é intenci nal ou é causada por vírus em clientes. Todos os IP’s com mais de 1 conexões com o roteador podem ser considerados atacantes. –
–
–
–
181
Firewal – Prot ção básica •
Ataques DoS: –
–
Se simplesmente descarta os 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 d 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 – Prot ção básica •
Ataque dDoS: –
–
Ataque de dDoS são bastante parecidos com os de DoS, porém partem de um grand número de hosts infectados. A única medida que podem s tomar é habilitar a opção TCP SynCookie no Connection Track do firewall. 185
PPP – Definições C muns para os serviç s •
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 s pacotes, devese definir valores menores para evitar frag entação.
Keepalive Timeout: Define o período de te po em segundos após o qual o
roteador começa a mandar pacotes de kee alive 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 s m criptografica. Chap: Usuário e senha com criptografi . Mschap1: Versão chap da Microsoft conf. RFC 2433 Mschap2: Versão chap da Microsoft conf. RFC 2759
250
PPPoE – Client e Servidor •
•
•
•
PPPoE é uma adaptação do PPP para fun cionar em redes ethernet. Pelo fato da rede ethernet não ser ponto a ponto, o abeçalho PPPoE inclui informações sobre o remetente e o destinatário, des erdiçando mais banda. Cerca de 2% a mais. Muito usado para autenticação de client s 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) normalmente ope ando em conjunto com um servidor Radius. No Mikrotik não é obrigatório o so de Radius pois o mesmo permite criação e gerenciamento de usuários e s nhas em uma tabela local. PPPoE por padrão não é criptografado. que o cliente suporte este método.
método MPPE pode ser usado desde 253
PPPoE – Client e Servidor •
•
O cliente descobre o servidor através do p otocolo 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 Ti eout é 10, e funcionará bem na maioria dos casos. Se configurarmos pra ze o, o servidor não desconectará os clientes até que os mesmos solicitem ou o ervidor for reiniciado.
254
Configuração do Servidor PPPoE 1.
P imeiro crie um pool de IPs para o P PoE.
/ip po l add name=pool-pppoe 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=1234 6 service=pppoe profile=perfil-pppoe Obs.: Caso queira verificar o MAC-Address, adicione em Caller ID. Esta opção não é obrigatória, mas é u 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 v i 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 sobr perfis
Bridge: Bri ge para associar ao perfil
Incoming/ utgoing Filter: Nome do canal do firewall pa a pacotes entrando/saindo.
Address List: Lista de endereços IP para associar ao perfil.
DNS Serve : Configuração dos servidores DNS a atribuir ao clientes.
Use Compression/Encryption/Change TCP MSS: caso estejam em default, vão associar ao valor que está config rado no perfil default-profile.
258
Mais sobr perfis
Sessio Timeout: Duração máxima de uma sessão PPPoE. Idle Ti eout: Período de ociosidade na transmissão de uma sessão. Se não houver tráfeg IP dentro do período configurado, a sessão é terminada. Rate Limit: Limitação da velocidade na forma rx-rate/tx-rate. Pode ser usado também na forma x-rate/tx-rate rx-burst-rate/tx-burstrate rx burst-threshould/tx-burst-threshould burst-time priority rx-rate-min/tx-rate-min. Only One: Permite apenas uma sessão para o mesm usuário. 259
Mais sobre o database
Service: Especifica o serviço disponível para este cliente em articular.
Caller ID: MAC Address do cliente.
Local/Remote Address: Endereço IP Local (servidor) e remote(cl ente) que poderão ser atribuídos a um cliente em articular.
Limits Bytes IN/Out: Quantidade em bytes que o cliente pod trafegar por sessão PPPoE.
Routes: Rot s 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 P PoE do Mikrotik suporta múltiplos servidores para cada interfac com diferentes nomes de serviço. Além do nome do serviço, nome do concentrador de acesso pode ser usado pelos client s para identificar o acesso em que se deve registrar. O nome o concentrador é a identidade do roteador. O valor de MTU/ RU inicialmente recomendado para o PPPoE é 1480 bytes. Em u a 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 e 1500 bytes. Isto otimiza a transmissão de pacotes e evita proble as associados a MTU menor que 1500 bytes. Até o momento não possuímos nenhuma maneira d alterar a MTU da interface sem fio de clientes MS Windows. A opção One Session Per Hos 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 a gor mo e s ra para cons ru r e ca cu ar o menor caminho para todos destinos conhecidos na rede; Os roteadores OSPF utilizam o protocolo IP 89 ara 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 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 ABR(Area Border Router) é um roteador que se conecta a mais de uma área; –
•
Um ASBR é usado para redistribuir rotas recebidas de outros AS para dentro de seu próprio AS
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 possu o . . . e eve sempre ex s r; A backbone é responsável por redistribuir informações de roteamento entre as demais áreas;
•
conectadas a uma área backbone de forma direta ou indireta(utilizando virtual link). 37
Virtual Link •
Utilizado para conectar áreas remotas ao ac one a rav s e reas n o- ac one;
38
Virtual Link
area-id=0.0.0.0
area-id=0.0.0.1
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 Após a conexão ser estabelecida cada um irá apresentar um status operacional conforme descrito abaixo: –
–
–
Full: Base de dados completamente sincronizada; -way: omun caç o
- rec ona esta e ec a; 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 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 .
•
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. –
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. a o, e s r u e ou es: aso a 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
} 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 us o Custo Total=9
Custo X Destino
Custo=9
ASBR 48
Redistribuição de Rotas •
Habilite a re-distribuição de rotas conectadas com ype ; –
•
•
Verifique a tabela de roteamento
Adicione uma rota estática para a rede 172.16.XY.0/24 com type 1; –
Verifique novamente a tabela de roteamento 49
OSPF – Custo de interfaces •
•
Por padrão todas interfaces tem custo 10; ara a erar es e pa r o voc eve a c onar 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 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 OSPF – Custo Custoss de Inte Interf rface ace AP Principal
Laptop
ABR
Laptop 100
10
Laptop
BACKUP LINK 10
10 Laptop
100 52
OSPF OSPF – Rot otead eador ores es design designado adoss •
•
•
•
•
Para reduzir o tráfego OSPF em redes broadcast e NBMA Non-Broadcast Multi le Access um único fonte fonte para para atualização atualização de rotas 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 emais mais ser serão e eit eitos como omo rot otea ea ores ores ac up – 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 neigh neighbor bor ser elei eleito to DR; 54
Área Stub •
•
Uma área Stub é uma 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 espec car se os sum r os e a rea e backbone ou outras áreas serão reconhecidos pela área stub; Habilite esta opção somente no ABR;
•
56
Área NSSA(Not-So-Stubby) •
•
Um área NSSA é um tipo de área stub que tem 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: –
–
- w y: o o p o como tradutor. Translate-candidate: ospf elege um dos roteadores candidatos para fazer as traduções. 57
OSPF AS default
e au area-id=0.0.0.0
area-id=0.0.0.1 Virtual Link
area- = . . .
area-id=0.0.0.2
NSSA
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 .
59
Interface Passiva •
•
O modo passivo mensagens de “Hello” enviadas pelo protocolo OSPF as interfaces dos clientes; or an o a var es e recurso é sinônimo de segurança; 60
Agregação de Áreas •
Utilizado para
•
range de redes em uma única rota; É possível atribuir 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 agregação de áreas sempre que possível;
63
OSPF em redes VPN •
Cada interface VPN dinâmica cria uma nova
•
ativa; Isso causa dois problemas: –
–
Cada mudança dessas resulta em novas atualizações do OSPF, caso a opção de redistribuir . 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
PPPoE
Area1
~250 clientes
server
PPPoE
Area tipo = stub PPPoE
PPPoE
server
65
Área PPPoE – Tipo Default
PPPoE
Area1
~250 clientes
server
PPPoE
Area tipo = default
~ 100 clientes PPPoE
PPPoE
server
66
Área PPPoE – Discussão •
Dê uma solução para o problema mencionado an er ormen e quan o se u za rea o po “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
AS100
Route Refresh message Update
AS200
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 10.20.0.x1/24
10.20.0.x4/24
AS1x1 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.1
Lo: 10.1.1.2
AS100
R1
172.16.1.1 Eth1
AS200 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
R2
172.16.0.0/24 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
192.168.x1.0/24 AP
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
AS1x2 192.168.x4.0/24 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 AS100 das rotas BGP AS400
10.1.1.0/24 10.0.0.0/8
R4
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 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= \
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 SN label L2 header
Site 1 CE1
frame L2 do cliente
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
CE4 PE2
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: local-label: remote-status: transport: transport-nexthop: imposed-labels:
40 28 10.255.0.1/32 192.168.1.9
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