Het is alweer enige tijd geleden dat we over ons serverpark schreven. We hebben in de tussentijd echter niet stilgezeten. Zo zijn onder andere de webservers vervangen, is het videoplatform van een update en nieuwe servers voorzien en zijn de nosql- en search-databaseservers vervangen.
De laatste tijd zijn we echter vooral bezig geweest met het aanpakken van de infrastructuur in onze racks. We hebben de stroomvoorziening aangepast en een begin gemaakt om ons core-netwerk om te bouwen naar een hybride van 10Gbit en 1Gbit. Voor dat laatste hebben we nieuwe switches en firewalls geplaatst.
De oude situatie
Toen we ons rack inrichtten kozen we voor zogenaamde 'zero-U' verticale pdu's. Die pdu's waren links en rechts achter het rack geplaatst. Daarmee bespaarden we ruimte in de racks, maar ze zorgden ervoor dat we achter de racks erg weinig werkruimte hadden en ook kabels lastig weg konden werken. In de praktijk bleek dat we die ruimtebesparing in de racks niet nodig hadden. We hebben daarom per rack de twee zero-U pdu's vervangen door vier "standaard" 1U horizontale pdu's.
Op de eerste foto hieronder zie je met enige moeite de zero-U pdu's. Ook zie je een ongebruikte switch onderin, deze konden we niet verwijderen door het gebrek aan werk- en manouvreerruimte.
De oude en nieuwe pdu-situatie en de chaos die je krijgt als je elke server met 5x ethernet aansluit
Ook in het netwerk was verbetering mogelijk. De switches waren onderling allemaal met 10Gbit-links verbonden, maar ze hadden niet genoeg 10Gbit-poorten om ook de servers zo aan te sluiten. Voor meer dan 1Gbit bandbreedte moesten we losse 1Gbit-verbindingen via channel bonding laten samenwerken. Zoals je op de laatste foto kunt zien zorgt dat voor aardig wat netwerkkabels per server. Ook onze uplink naar True werkte op die manier; door twee keer twee 1Gbit-verbindingen redundant aan te sluiten konden we maximaal 4Gbit/s gebruiken.
Daarnaast was de beveiliging van ons netwerk niet optimaal. Bij gebrek aan een 'echte' firewall, maakten we gebruik van functionaliteit in onze loadbalancers. Voor de enkele server die direct aan het internet hing moesten we bovendien een eigen iptables-firewall inrichten. Het was niet netjes, maar met ipv4 werkte het nog best goed doordat nat de toegang tot het interne netwerk zo goed als onmogelijk maakt. Met ipv6 was die opzet niet praktisch en hadden we een extra reden om te zoeken naar wat anders.
Het nieuwe netwerk
Door de toenemende populariteit van onze video's zijn we af en toe tegen de 4Gbit-grens aangelopen. Een snellere verbinding stond dus op de wenslijst. Nog meer 1Gbit-aansluitingen bundelen vonden we niet erg handig, dus we hebben ervoor gekozen om over te stappen naar een redundante 10Gbit-verbinding. True, onze hostingsponsor, vond dit geen probleem. Helaas konden we met de bestaande opstelling niet overstappen omdat onze switches niet over genoeg 10Gbit-aansluitingen beschikten.
Met 10Gbit-uplinks willen we natuurlijk ook dat de loadbalancers en servers 10Gbit kunnen uitsturen, waardoor switches met meer dan vier 10Gbit-poorten - zoals in onze oude switches - ook hoog op de wenslijst kwamen. Verder wilden we de beveiliging nu goed regelen, wat firewalls met 10Gbit-capaciteit noodzakelijk maakte.
Op aanraden van onze leverancier Quanza hebben we twee Arista 7150S 24-poorts 10Gbit-switches aangeschaft. Deze switches combineren zeer goede performance met uitgebreide functionaliteit en flexibiliteit. We kunnen met deze switches het netwerk in onze hoofdlocatie redundant opzetten en we hebben bovendien voldoende poorten om in de toekomst ook de servers op 10Gbit aan te sluiten. Het netwerk in de uitwijklocatie blijft vooralsnog gewoon 1Gbit.
Het nieuwe netwerk
De nieuwe firewalls
Het vinden van passende firewalls was nog best lastig. Zo hadden maar weinig firewalls binnen ons budget 10Gbit-aansluitingen. Die firewalls konden bovendien niet allemaal de 10Gbit-aansluitingen daadwerkelijk filteren. Sommige kwamen - volgens hun specificaties - zelfs niet verder dan een throughput van 2Gbit/s.
Uiteindelijk kwamen we, ook via Quanza, bij cyber-securityleverancier Fortinet terecht. De Fortigat 800C heeft voor onze hoofdlocatie alles wat wij wilden: twee 10Gbit-netwerkpoorten - waarbij wij met behulp van mlag en vlan's beide poorten gelijktijdig kunnen gebruiken voor zowel inkomend als uitgaand verkeer - een lage latency van 6μs en een ruime throughput van 20Gbit/s.
De firewalls gebruiken een "Network Processor"-asic om hardwarematig de basis firewall-functionaliteit te verwerken, wat die lage latency oplevert en dat ook nog eens voorspelbaar houdt. Bovendien kunnen twee van die asics in een high-availability-modus samen het netwerk beschermen. En dat alles past ook nog in een compacte 1U-behuizing, waar sommige concurrenten dezelfde capaciteit in 4U of meer stoppen.
Fortinet bood ook een geschikte firewall voor de uitwijklocatie. Daar hebben we geen 10Gbit en geen uitgebreide redundatie in het netwerk, dus hier konden we met een eenvoudiger model toe. Maar het liefst zou die natuurlijk wel op dezelfde manier bediend moeten kunnen worden; we kwamen uit op de Fortinet 300D.
De nieuwe netwerklayout, een firewall in het rack en de ipv6 firewall policies
We hebben in de hoofdlocatie twee Fortinet 800C's als active/passive-paar draaien. Als een firewall uitvalt, dan neemt de andere het over. Verder zijn ze ingesteld in een transparante mode 'layer 2' waardoor al het tcp/ip-verkeer kan worden gefiltered, zonder dat we het verkeer specifiek naar de firewall moeten sturen. De firewall kan ook in een 'layer 3'-modus werken, waarbij hij als nat-gateway fungeert, maar dan zouden we allerlei configuratie moeten dupliceren - zoals port-forwards - op zowel de firewalls als de loadbalancers en op alle servers de default gateway moeten aanpassen.
De firewalls zijn ondertussen al geconfigureerd en laten alleen nog verkeer door naar de ingestelde adressen, waarbij we zowel aan ipv4 als ipv6 hebben gedacht. Overigens bieden de firewalls ook nog aardig wat geavanceerdere features die we op dit moment ook niet gebruiken. We maken bijvoorbeeld geen gebruik van ips, vpn, Application filtering, ssl/ssh-inspectie, web-filtering en antivirus-functies. Van ieder van die functies gaan we natuurlijk wel nader bekijken of ze zinvol voor ons zijn
En de oude servers staan in Vraag & Aanbod