Encaminhamento exterior BGP-4 (quarto trabalho laboratorial) FEUP/DEEC Redes de Banda Larga MIEEC 2009/10 José Ruela
Bancada de trabalho
Topologia genérica (OSPF e BGP)
Objectivo e descrição sumária Os dois trabalhos sobre encaminhamento têm como objectivo a familiarização com os conceitos de Sistema Autónomo (Autonomous System AS), encaminhamento interior e exterior e utilização de protocolos representativos de cada tipo A topologia genérica é usada para estudar e analisar estes protocolos Um protocolo de encaminhamento interior (IGP Interior Gateway Protocol) é necessário em cada AS OSPF (Open Shortest Path First) é usado neste contexto Um protocolo de encaminhamento exterior (EGP Exterior Gateway Protocol) é executado entre ASs BGP-4 (Border Gateway Protocol version 4) é usado com este objectivo Neste trabalho é usado o protocolo BGP-4 entre Sistemas Autónomos (e OSPF em cada AS) Uma vez que estão envolvidos vários ASs é necessária cooperação entre grupos (em alternativa, um grupo terá de configurar mais do que um AS) As configurações OSPF usadas no trabalho anterior deverão ser mantidas
Encaminhamento intra e inter domínio (IGP e EGP) AS A R R IGP R EGP IGP R R EGP R AS C R IGP R AS B
Descrição genérica Deverão ser configurados seis Sistemas Autónomos AS65001 a AS65006 (um por bancada ) A configuração de cada AS deve ser feita de acordo com os detalhes apresentados na topologia genérica Os servidores GNUyi devem ser configurados para desempenhar o papel de routers OSPF (devendo também ser activado IP forwarding no GNUy2) Todos os routers no mesmo AS (C1841 e GNUyi) executam processos OSPF e estão na mesma área (OSPF 0) Os routers Cisco C1841 devem ser ligados por meio de interfaces série E1 (2 Mbit/s) Os routers Cisco C1841 são Area Border Routers (ABR) e trocam informação de encaminhamento com outros ASs por meio de BGP-4
OSPF aspectos de configuração (revisão) Cada grupo deve configurar em cada bancada duas subredes IP associadas a duas VLANs configuradas no comutador (CAT 2960) Os endereços IP devem ser atribuídos às interfaces conforme representado na topologia genérica O pacote de encaminhamento Quagga ( zebra e daemon OSPF) deve ser instalado em cada servidor GNUyi O router Cisco (C1841) deve ser configurado como gateway para a default network e fazer os anúncios correspondentes por meio de OSPF A largura de banda de referência nos servidores GNU e no router Cisco deve ser configurada de modo que seja atribuído o mesmo custo às ligações Fast Ethernet em cada sistema
BGP aspectos de configuração Os routers C1841 desempenham o papel de Area Border Routers (ABR) e trocam informação de encaminhamento com outros ASs por meio de BGP-4 Com o objectivo de verificar algumas propriedades do BGP sugere-se a ligação de pelo menos quatro bancadas; na configuração máxima podem ligar-se as seis bancadas (ilustra-se uma possível interligação) Bancada AS Peering 1 65001 AS65002, AS 65004 2 65002 AS65001, AS 65006 3 65003 AS65005, AS 65006 4 65004 AS65001, AS 65005 5 65005 AS65003, AS 65004 6 65006 AS65003, AS 65002 As redes ponto a ponto que ligam duas bancadas devem ter endereços do tipo 192.168.1.(xz*4)/30, em que x e z são os números das bancadas, por ordem crescente (x < z), e o endereço IP mais baixo é atribuído à interface do router da bancada x (exemplo para as bancadas 1 e 2 192.168.1.48/30)
Testes 1. Activar o peering BGP entre os vários ASs, permitindo apenas o anúncio das redes indicadas no guião (não devem aparecer nas tabelas de encaminhamento quaisquer outras redes existentes no laboratório) Apresentar as tabelas de encaminhamento (IP e BGP) do ABR de cada AS 2. Testar a conectividade entre o GNUy3 de um AS e os correspondentes dos ASs vizinhos Apresentar o resultado do traceroute entre os sistemas em causa 3. Apenas os ABR de cada AS devem conhecer todas as rotas Os routers interiores a um AS somente conhecem as rotas do seu AS e fazem encaminhamento por omissão para o respectivo ABR (que será a gateway para a rede 0.0.0.0) Configurar o processo de encaminhamento BGP de modo a garantir que o tráfego do AS com os seus vizinhos é feito usando o vizinho com maior AS # Apresentar as tabelas de encaminhamento (IP e BGP) do ABR de cada AS, repetir os testes de conectividade (passo 2) e apresentar o resultado do traceroute respectivo
Relatório Deve ser produzido um relatório no prazo de dez dias após a conclusão do trabalho Deve ser enviada uma versão electrónica para jruela@fe.up.pt A entrega de cópia em papel é opcional O relatório deve incluir, para cada teste A(s) figura(s) correspondente(s) ao cenário de comunicação testado As configurações dos sistemas (para além das realizadas no trabalho anterior) Testes de conectividade e rotas (ping, traceroute), documentados com a análise de capturas de tráfego relevantes e o conteúdo de tabelas (e.g., informação BGP, tabelas de encaminhamento, etc.) quando apropriado Interpretação e comentários dos resultados
Anexo
Quagga instalação Instalação do software nos servidores GNUyi apt-get update apt-get install quagga Copiar os templates fornecidos pelo Quagga cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf Editar o ficheiro onde são declarados os daemons (/etc/quagga/daemons) Alterar parâmetros zebra e ospfd para yes Reiniciar o serviço /etc/init.d/quagga restart Configuração do zebra telnet localhost 2601 Configurar interfaces (eth0 / eth1) e endereços IP Configuração do OSPF telnet localhost 2604 Configurar daemon OSPF (redes / área, prioridades, etc.)
Quagga configuração de interfaces (zebra) telnet localhost 2601 User Access Verification Password: Router> enable Password: Router# configure terminal Router (config)# interface eth0 Router (config-if)# ip address address / mask Router (config-if)# no shutdown Router (config-if)# end Router# write (Configuration saved to /etc/quagga/zebra.conf) Router# show ip route
Quagga configuração de OSPF telnet localhost 2604 Password: ospfd> enable ospfd# configure terminal ospfd (config)# router ospf ospfd (config-router)# network network address / mask area 0.0.0.0 ospfd (config-router)# end ospfd (config)# interface eth0 ospfd (config-if)# ip ospf priority priority value ospfd# write (Configuration saved to /etc/quagga/ospfd.conf) ospfd# show ip ospf / show ip ospf route / show ip ospf database ospfd# show ip ospf interface [interface] / show ip ospf neighbor [interface]
Router C1841 configuração de OSPF Criação de processo OSPF rtr(config)#router ospf process-id Configuração de rede rtr(config-router)#network ip-address wildcard-mask area area-id Anúncio de default route rtr(config-router)#default-information originate always Criação e configuração de interface de loopback rtr(config)#interface loopback 0 rtr(config-if)#ip address ip-address mask Alteração de largura de banda de referência rtr(config-router)#auto-cost reference-bandwidth ref-bw Alteração do parâmetro de prioridade rtr(config-router)#interface interface type interface-number (e.g. fastethernet 0/0.x) rtr(config-if)#ip ospf priority value Display de informação geral sobre processos OSPF rtr#show ip ospf [process-id] rtr#show ip ospf neighbor rtr#show ip ospf.. Display da tabela de encaminhamento rtr#show ip route
Router C1841 configuração de BGP Criação de um processo BGP rtr(config)#router bgp AS-number Configuração do router ID (identificador do router BGP local opcional) rtr(config-router)#bgp router-id ip-address Especificação de uma rede (interna) a anunciar por BGP rtr(config-router)#network network-number mask network-mask Adição do endereço IP de um vizinho no AS especificado rtr(config-router)# neighbor ip-address remote-as AS-number Configuração do parâmetro Weight (específico da Cisco) rtr(config-router)# neighbor ip-address weight value Display da tabela de encaminhamento BGP rtr#show ip bgp [network] [network-mask] Display da tabela de encaminhamento rtr#show ip route
Router C1841 interfaces série E1 Configuração dos controladores gnu-rtr(config)#card type e1 subslot gnu-rtr(config)#controller E1 slot/port gnu-rtr(config-controller)#channel-group channel-group-no timeslots timeslot-list gnu-rtr(config-controller)#no shutdown (activa o controlador) Exemplo gnu-rtr(config)#card type e1 0 0 gnu-rtr(config)#controller E1 0/0/0 gnu-rtr(config-controller)#channel-group 0 timeslots 1-31 gnu-rtr(config)#controller E1 0/0/1 gnu-rtr(config-controller)#channel-group 0 timeslots 1-31 Após configuração dos controladores, as interfaces série podem ser configuradas gnu-rtr(config)#interface serial slot/port:channel group (e.g., 0/0/0:0, 0/0/1:0) gnu-rtr(config-if)# ip address ip-address mask
Ligações E1 Cabo crossover para as ligações E1
BGP tipos de pacotes OPEN KEEPALIVE NOTIFICATION UPDATE
OPEN 0 8 16 24 31 Marker Length Type: OPEN Version My autonomous system Hold time BGP identifier Optional parameters length Optional parameters Optional parameters
KEEPALIVE 0 16 24 31 Marker Length Type: KEEPALIVE
NOTIFICATION 0 8 16 24 31 Marker Length Type: NOTIFICATION Error code Error subcode Data
UPDATE Unfeasible routes length (two octets) Withdrawn routes (variable) Total path attribute length (two octets) Path attributes (variable) Network layer reachability information (variable)
BGP-4 critérios de selecção (Cisco)
Links úteis Documentação online dos routers Cisco http://cisco.com Configuração das interfaces WAN, HWIC T1/E1, do Cisco 1841 http://cisco.com/univercd/cc/td/doc/product/access/acs_mod/1700/1700cnts/t1e11700.pdf Cisco IOS IP Routing Protocols Configuration Guide http://cisco.com/en/us/docs/ios/iproute/configuration/guide/12_4/irp_12_4_book.pdf BGP overview, basic configuration http://www.cisco.com/en/us/docs/ios/iproute_bgp/configuration/guide/irg_overview.pdf http://www.cisco.com/en/us/docs/ios/iproute_bgp/configuration/guide/irg_basic_net.pdf OSPF configuration http://www.cisco.com/en/us/docs/ios/iproute_ospf/configuration/guide/iro_cfg.pdf Quagga / Zebra http://www.quagga.net http://www.openmaniak.com/quagga.php http://www-106.ibm.com/developerworks/linux/library/l-emu/?ca=dgr-lnxw02zebra