Express Route: BGP

Auf der Seite Express Route Circuits und VLANs habe ich etwas zu den Verbindungen geschrieben und auf Express Route: IP-Routing die verschiedenen Subnetze erläutert. Niemand will aber all die Leitwege von Hand pflegen und mit Express Route müssen Sie auf jeden Fall auch ein BGP-Routing konfigurieren. Das ist das Thema dieser Seite.

BGP Kurzbeschreibung

Wer bislang eher im internen Firmen-LAN unterwegs war, wird mit BGP vielleicht nicht viel anfangen können. Klassische Administratoren haben in der Regel ein ziemlich zentrales Netzwerk und der wichtigste Eintrag ist das Default Gateway und auf den Routern gibt es ebenfalls einen "Next Hop" für die Default Route. Wer kein Netzwerk mit mehreren Routern, redundanten Pfaden oder verschiedenen externen Anbindungen hat, kommt damit meist über die Runden und macht sogar einen Bogen um RIP oder OSPF.

Selbst mit dem Einsatz eines MPLS überlassen viele Firmen die Verwaltung der Leitwege dem MPLS-Anbieter. Jeder Niederlassen pflegt dann quasi auch nur die Routen zu privaten Adressen Richtung MPLS und eine Route zum Internet. Um den Rest kümmert sich der MPLS-Anbieter.

Sie wissen sicherlich, wie eine Routingtabelle aussieht. Hier sind Subnetze und der dazugehörige "Nexthop" verzeichnet.

So eine Tabelle skaliert natürlich nicht bei vielen Subnetzen sondern ist eher für kleine Umgebungen und eignet sich nicht zum Austausch bei Netzwerkkopplungen. Als Standard hat sich heute BGP etabliert, wozu ich hier ganz grob etwas sagen will.

  • BGP ist für Router, nicht für Clients
    Die Routingtabelle, die Sie auf einem Client sehen, bleibt wie bisher erhalten. Ihr Client muss ja auch nur den "Next Hop" kennen. BGP ist also nur etwa für "Router", die damit untereinander ihre Leitwege austauschen
  • BGP nutzt "Autonome Systeme"
    Unter einem "Autonomen System" (AS) versteht man eine Gruppen von Subnetzen, die z.B. einem Provider gehören. Die Nummer das AS ist 16bittig, d.h. kann den Wert von 0-65535 annehmen wovon aber nicht alle verfügbar sind.
  • Berechtigung und Routing anhand AS
    Interessant ist nun, dass ein Router von seinem Gegenüber quasi das AS mit den Subnetzen lernt. Intern muss er sich die Zuordnung einmal merken aber für das Routing muss er dann sich nur merken, welche AS über welchen Link wie erreichbar sind.

Vielleicht wird es durch ein Bild deutlicher:

  • Das grüne Netzwerk ist das Firmennetzwerden mit privaten Adressen. Microsoft sieht für eigene Netzwerke z.B. ASN 65533 und andere vor. Dieses ASNs sind nicht routbar aber für Verbindungen in privaten Netzwerken durchaus nutzbar.
  • Gelb ist der ExpressRoute-Link
    Hier habe ich ein Beispiel gewählt, bei dem der Provider ein öffentliches Subnetz zugewiesen hat. Die IP-Adressen sind natürlich nur Beispiele und so nicht in Gebrauch
  • Blau = Office
    Microsoft veröffentlicht bei Express Route als ASN 12076 die Office 365 Subnetze. Sie sehen aber dahinter noch Teilgruppierungen. 12076:5010 ist das ASN für Exchange Online. Auf den Grund hierfür komme ich später noch
  • Orange: Internet
    Auch die Internet-Verbindung der Firma hat natürlich öffentliche IP-Adressen und diese sind auch einem ASN (hier 15000 als Beispiel) zugeordnet.

Diese ASNs sehen Sie nun gleich in der Konfiguration von ExpressRoute

BGP in Azure

Hier habe ich exemplarisch zwei Bildschirmfotos veröffentlicht, von denen jedes ein Peering beschreibt.

  • Private Peering
    Der Circuit für die private Peering zwischen einem internen LAN und einem privaten Netzwerk in Azure wird über diese Connection hergestellt. Die Subnetze bezeichnen die Transfer-Netze zwischen Microsoft und Kunden-Router und die 65533 sagt hier Microsoft, dass dieses ASN Daten per BGP sendet.
  • Azure Public Peering
    Der zweite Link stellt das Public Peering bereit. Hier über öffentliche IP-Adressen, was aber nicht sein muss, wenn Sie anderweitig ausgehende Pakete umschreiben. Dies hier ist auch nur ein Transfer-Netzwerk. Aber auch hier können Sie per BGP entsprechende Leitwege (z.B.: zu lokalen DMZ-Systemen mit öffentlichen IP-Adressen übermitteln.

Ihr Router kann dann seine Netzwerke, insbesondere die privaten Subnetze in Richtung des Gateway für Azure Private senden. Damit lernen dann ihre AzureVMs auch, welche Subnetze On-Prem zur Verfügung stehen.

Diese Information ist wichtig, denn alle VMs in Azure haben als "Default Gateway" natürlich das Internet.

Umgekehrt sendet natürlich auch Office 365 entsprechende BGP-Routen zu ihren lokalen Routern. Diese kommen immer mit dem ASN 12076 an. Über Route-Filter können Sie mittlerweile steuern, welche Subnetze per BGP zu ihnen gemeldet und von ihnen dann intern weiter verbreiten werden sollen.

Wenn Sie also eine Express-Route-Verbindung in Deutschland haben und diese nur für Azure nutzen wollen, aber Outlook-Verkehr (MAPI, nicht Echtzeit, große Datenmengen) lieber über das Internet routen, dann schließen Sie einfach Exchange Online (12076:5010) aus.

Etwas suspekt finde ich, dass Microsoft das ASN 12076 nutze aber in RIPE dazu nur sehr wenig steht

Microsoft scheint diese ASN für ExpressRoute zu nutzen, um so Leitwege zu Office 365 und Azure Public zu Kunden zu melden aber nicht analog zum Internet zu melden. Dort ist das ASN 8057 in Gebrauch.

Lokale Konfiguration

Was ihnen nun natürlich noch fehlt ist die Konfiguration auf ihrem lokalen Endpunkt der ExpressRoute-Verbindung. Wenn Sie dies selbst verwalten, müssen Sie hier nun einstellen, dass Sie ihre Subnetze per BGP zu Azure senden und auch dass Sie von Azure die eingehenden Routen entsprechend übernehmen.

Sie haben ja sicher schon auf Office 365 Netzwerkziele und Office 365 und Proxy Server gelesen, dass Office 365 Ziele idealerweise direkt erreicht werden. Wenn Sie so aber z.B. "öffentliche IP-Adressen" als Leitwege im internen LAN verteilen, dann werden diese nicht mehr über die Default Route Richtung Internet gesendet, sondern über Express Route. Allerdings natürlich nur, wenn Sie diese Ziele auch als Ausnahmen in den HTTPProxy-Regeln aufgeführt haben.

Da ich in der Regel nicht an den Routern selbst Hand anlege, habe ich hier ein Beispiel der Konfiguration an einer Watchgaurd-Firewall. Auf der Karteikarte BGP wird BGP erst einmal erlaubt und der Router selbst bekommt die ASN 65533.

Zudem werden hier die beiden Netzwerke, über die BGP gemacht wird und die "Nachbarrouter" mit deren ASN eingetragen. Die IP-Adresse der Gegenseite und die Angabe des ASN ist zugleich auch die Legitimation. Das können Sie im Log der Firewall auch sehen. Ohne den Eintrag kommen zwar die BGP-Pakete an aber werden von der Firewall verworfen

Nach dem Eintrag sind die Log-Zeilen grün

Zusammenfassung

Ich bin wahrlich kein BGP-Fachmann und daher habe ich einige Zeit gebraucht zu verstehen, was Microsoft hier macht. Es ist schon eine etwas "spezielle" Art der Anbindung aber wenn Sie die Konfiguration in der Cloud als auch On-Prem einmal richtig eingestellt haben, dann ist BGP eine feine Sache. Sie bekommen von der Cloud über Express Route quasi "dynamisch" die Subnetze in ihre Netzwerk veröffentlicht. In die Gegenrichtung können Sie ihre eigenen öffentlichen Subnetze, die Client über ExpressRoute Als Source-IP nutzen auch wieder über Express Route zurück leiten lassen. Das müssen Sie sogar tun, denn Split-Routing ist ja nicht erlaubt, d.h. dass Sie übe ExpressRoute die Pakete hin senden aber diese dann "über Internet" zurück kommen oder umgedreht.

Sie können per BGP aber auch ihre privaten IP-Netzwerke an ein Azure Gateway übermitteln, damit es die Daten der VMs und Dienste in "Azure Private" auch den Rückweg kennen.

Express Route und BGP ist aber primär "Netzwerktechnik", d.h. Routing, Firewalls, Proxy, Subnetze und das ist nun erst mal gar nicht das primäre Wirkungsfeld von Windows Administratoren. Mir hat hier geholfen, dass ich allein durch mein Alter schon sehr lange mit IP unterwegs bin und quasi seit den 80er Jahren auch den Wechsel von NetBEUI, IPX zu IP durchlebt habe und daher viele Sachverhalte schnell abrufbar sind.

Sie können sich diese Arbeit und Komplexität natürlich komplett sparen, wenn Sie ein Layer-3 Express Route beauftragen. Dann "sollte" ihr Provider die gesamte Konfiguration übernehmen und die Office 365 und Azure Subnetze einfach in ihr LAN einbinden.

Eine "Firewall" brauchen sie natürlich dennoch. Express-Route ist zwar "ihre private Verbindung" zu Office 365 und Azure aber nur hinsichtlich Azure Private sind sind sie segmentiert. Wenn jemand anderes ein Azure-System in "Azure Public" einrichtet und dann ihre öffentliche IP-Adresse für diesen Circuit anspricht, dann sollten Sie diese externen "fremden" Anfragen natürlich auch ablehnen können.

Weitere Links