Upload
jorge-matias
View
16
Download
0
Embed Size (px)
Citation preview
Implementação na rede da ex-UTL
Jorge Matias Israel Lugo
Ligação à RCTS com peering BGP sobre routers baseados em servidores Linux
11/02/2015 Jornadas FCCN 2015 1
Sumário
• Motivação • Computador vs router em hardware • Implementação na rede da ex-UTL
– Ligação à RCTS (antes e depois) • Router Linux a 10 Gigabit • Peering BGP com software livre (Quagga)
11/02/2015 Jornadas FCCN 2015 2
Motivação • Em 2003…
– Router Cisco 7204 (com 22.5Mbps ocupava 70% de CPU) • Má performance em IPv4 • Não suportava IPv6
– Instalaram-se dois HP DL360G3 em 2013 com 2 portas Gigabit • Projectos IPv6 a arrancarem no IST e ligação IPv6 com RCTS em 18-Jun-2003 • Experiência anterior com routers Linux
– Router de fronteira do IST – Rede Wireless do IST – Rede de serviços administrativos do IST
• Falta de performance para o preço pago • Implementação de firewall com ACLs muito limitada
11/02/2015 Jornadas FCCN 2015 3
Computador vs Router em hardware
Vantagens (1/2) • Custo de aquisição e manutenção mais baixo • Flexibilidade
• Túneis de toda a espécie e feitio • HTTP Proxy transparante
• Funcionalidades de Firewall • Bugs de sistema operativo diagnosticados e corrigidos mais depressa 11/02/2015 Jornadas FCCN 2015 4
Computador vs Router em hardware
Vantagens (2/2) • Software de Routing actualizado mais depressa • Diversidade de software para Routing (Quagga, OpenBGPd, BIRD,
XoRP, Vyatta) • …e ferramentas de análise de rede (tcpdump, tshark, ifstat, iftop,
nettop) • Também se pode usar OpenFlow, sFlow, etc… 11/02/2015 Jornadas FCCN 2015 5
Computador vs Router em hardware
Desvantagens • Tempo de instalação e configuração mais demorado • Requer escolha criteriosa dos componentes • Necessária optimização para obter performance máxima do hardware • Resistência a DDoS • Não é uma solução chave na mão
11/02/2015 Jornadas FCCN 2015 6
Implementação na rede da ex-UTL
Hardware: • 2 computadores HP Proliant DL360G6
– 2 CPUs 64bit 4-core @ 2.66GHz – 12GB RAM – 2 portas Ethernet 10G SFP+
• SolarFlare SFN5162F (Chip SFC9020)
11/02/2015 Jornadas FCCN 2015 7
Implementação na rede da ex-UTL
Software: • Linux Debian/Wheezy
– Linux Kernel v3.16 a 64bit (amd64 / x86_64) • Software para Routing
– KeepAlived – VRRP – Quagga – MP-BGP – XoRP – PIMSMv2 (Routing Multicast) – Firewall – iptables / ip6tables
11/02/2015 Jornadas FCCN 2015 8
Implementação na rede da ex-UTL
Diagrama de Arquitectura (anterior)
11/02/2015 Jornadas FCCN 2015 9
Implementação na rede da ex-UTL
Arquitectura de rede (anterior) • Comunicação entre routers da RCTS e da ex-UTL baseada em VRRP
– Simples de implementar – Failover muito rápido (3 ~ 6 secs) – Mas não sabe lidar com:
• Split brain • NICs que deixam de receber. Não é visível no VRRP
– Não permite encaminhar tráfego por múltiplos routers de fronteira em simultâneo – Não tira partido de múltiplos links para optimização de tráfego – Continua a requerer rotas estáticas
11/02/2015 Jornadas FCCN 2015 10
Implementação na rede da ex-UTL
Diagrama de Arquitectura (actual)
11/02/2015 Jornadas FCCN 2015 11
Implementação na rede da ex-UTL
Arquitectura de rede (actual) Comunicação entre routers da RCTS e da ex-UTL baseada em BGP
• Tolerante a mais tipos de falhas dependendo da topologia • Split-Brain na rede da ex-UTL ou da FCCN deixaram de ser um problema para estas rotas • Permite fazer Traffic Engeneering tirando partido de múltiplos links para optimização de tráfego
No entanto,… • Obrigou a alguma formação sobre o protocolo BGP • Failover é mais lento (20 secs ~ 1 min)
11/02/2015 Jornadas FCCN 2015 12
Router Linux a 10 Gigabit
Aspectos de optimização • 1 CPU core incapaz de fazer 10Gpbs • São necessários vários “cores” • Não basta qualquer NIC de 10Gb e esperar milagres
– Receive Side Scaling – SMP IRQ to CPU affinity – Latência interna da NIC e qualidade do driver
• Routing Cache vs No Routing Cache – Routing Cache “poisening” attack – Linux 3.6 e posteriores
• Firewall “statefull” – Problemas de coerência de cache entre CPU “cores” ou CPUs -> muito menos performance
11/02/2015 Jornadas FCCN 2015 13
Peering BGP com software livre
Software Quagga • Software livre • Ficheiros de configuração de texto • Linha de comandos:
– local (vtysh) – Remota (1 porto tcp por cada módulo de routing)
• Síntaxe Cisco “like” • Suporta BGP, OSPF, RIP e IS-IS • Suporta AS Numbers de 32 bits • Suporta IPv6 através de OSPFv3, MP-BGP e RIPng • Suporta praticamente todas as funcionalidades de operação de traffic engeneering disponíveis em routers
Cisco.
11/02/2015 Jornadas FCCN 2015 14
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 15
router bgp 65107 bgp router-id 193.136.134.10 bgp log-neighbor-changes bgp graceful-restart aggregate-address 193.136.96.0/21 aggregate-address 193.136.128.0/20 ... aggregate-address 194.210.234.0/24 redistribute kernel redistribute connected redistribute static route-map rm-static-to-bgp timers bgp 6 20
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 16
router bgp 65107 ... neighbor FCCN peer-group neighbor FCCN remote-as 1930 neighbor FCCN password TalvezSejaEsta neighbor FCCN capability dynamic neighbor FCCN remove-private-AS neighbor FCCN soft-reconfiguration inbound neighbor FCCN prefix-list pl-fccn-in in neighbor FCCN prefix-list pl-fccn-out out neighbor FCCN route-map rm-fccn-out out neighbor 193.136.1.93 peer-group FCCN neighbor 193.136.1.93 description "FCCN1"
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 17
router bgp 65107 ... neighbor UTL peer-group neighbor UTL remote-as 65107 neighbor UTL capability dynamic neighbor UTL next-hop-self neighbor UTL soft-reconfiguration inbound neighbor UTL allowas-in neighbor UTL route-map rm-utl-in in ... neighbor 193.136.134.11 peer-group UTL neighbor 193.136.134.11 description "UTL2"
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 18
router bgp 65107 ... ! address-family ipv6 aggregate-address 2001:690:2100::/48 aggregate-address 2001:690:2138::/48 redistribute kernel redistribute connected redistribute static route-map rm-static-to-bgp exit-address-family !
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 19
router bgp 65107 ... no neighbor 2001:690:810:a::1 activate ! address-family ipv6 ... neighbor FCCN activate neighbor FCCN remove-private-AS neighbor FCCN soft-reconfiguration inbound neighbor FCCN prefix-list pl-fccn-in in neighbor FCCN prefix-list pl-fccn-out out neighbor 2001:690:810:a::1 peer-group FCCN ... exit-address-family !
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 20
router bgp 65107 ... no neighbor 2001:690:2100:ffff::11 activate ! address-family ipv6 neighbor UTL activate neighbor UTL next-hop-self neighbor UTL soft-reconfiguration inbound neighbor UTL route-map rm-utl-in in neighbor 2001:690:2100:ffff::11 peer-group UTL exit-address-family !
Peering BGP com software livre
Quagga: Configuração
11/02/2015 Jornadas FCCN 2015 21
ip prefix-list pl-fccn-in description IPv4 prefixes allowed from FCCN ip prefix-list pl-fccn-in seq 10 permit 0.0.0.0/0 ip prefix-list pl-fccn-out description prefixes announced to FCCN ip prefix-list pl-fccn-out seq 10 permit 193.136.96.0/21 ... ip prefix-list pl-fccn-out seq 90 permit 194.210.156.0/22 ! ipv6 prefix-list pl-fccn-in description IPv6 prefixes allowed from FCCN ipv6 prefix-list pl-fccn-in seq 10 permit ::/0 ipv6 prefix-list pl-fccn-out description IPv6 prefixes announced to FCCN ipv6 prefix-list pl-fccn-out seq 10 permit 2001:690:2100::/48 ipv6 prefix-list pl-fccn-out seq 20 permit 2001:690:2138::/48 !
Referências
• Choosing a 10G NIC for x86 server https://wpneteng.wordpress.com/2013/12/03/on-choosing-a-10g-nic-for-intel-servers/
• Interrupts and IRQ tunning https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-cpu-irq.html
• Removing The Linux Routing Cache http://vger.kernel.org/~davem/columbia2012.pdf
• Quagga Routing Suite http://www.nongnu.org/quagga/
11/02/2015 Jornadas FCCN 2015 22
Questões...
11/02/2015 Jornadas FCCN 2015 23