BGP-Adressen von Cloud VPN gehören in den Tunnel, nicht auf eine Netzwerkkarte
Das Cloud Router BGP-Paar für HA VPN liegt im IPsec-Pfad. Folgen Sie ihm den Stack hinunter, statt eine Link-Local-Adresse an die VM-Schnittstelle zu hängen.
Öffnen Sie die Cloud Router-Seite für das VPN, und eine BGP-Sitzung mit einer Adresse in 169.254.0.0/16 starrt Ihnen entgegen. Die naheliegende Reaktion ist, diese Adresse irgendwo auf der VM zu platzieren und zu warten, dass die Sitzung hochkommt. Diese Reaktion ist auf eine bestimmte Weise falsch: Das Paar gehört zu der logischen Verbindung, die der IPsec-Tunnel herstellt, nicht zur gewöhnlichen Netzschnittstelle der Maschine. Nichts, was Sie an der NIC hinzufügen, bringt den Tunnel dazu, BGP zu transportieren.
Folgen Sie dem Paar den Stack hinunter, statt es am Host hinzuzufügen.
Beginnen Sie dort, wo die Konsole das Paar zeigt
Die Sitzungsseite listet eine BGP-Adresse des Cloud Router und eine Peer-Adresse auf, beide link-local für ein IPv4-HA-VPN. Daneben stehen die äußeren Gateway-Adressen, die die Tunnel terminieren. Das sind verschiedene Objekte: Das Link-Local-Paar lebt innen, und die Gateway-Adressen leben außen und müssen routbar sein, bevor irgendetwas anderes funktioniert.
Schreiben Sie alle drei auf, bevor Sie eine Konfigurationsdatei öffnen, denn sie zu verwechseln ist der gesamte Fehlermodus.
Gehen Sie hinunter zu dem Tunnel, der es trägt
Das Link-Local-Paar bedeutet erst etwas, wenn eine IPsec-Sicherheitsassoziation zwischen den beiden Gateways existiert. Auf Google-Seite erzeugen die HA-VPN-Tunnel sie auf den beiden Schnittstellen; auf Ihrer Seite ist es das, was der Peer ausgehandelt hat. Prüfen Sie zuerst die Datenassoziation mit swanctl --list-sas und notieren Sie, welcher Tunnel auf welcher Schnittstelle steht, denn eine gesunde BGP-Sitzung über einen toten Tunnel ist unmöglich, und ein toter Tunnel mit hoffnungsvoller Konfiguration ist Routine.
Das BGP-Paket ist innerer IP-Verkehr. Das äußere Netz sieht es nie, also braucht kein Switch beide Adressen auf einem VLAN.
Konfigurieren Sie nun den Linux-Peer passend
Wählen Sie das unterstützte Tunneldesign und lassen Sie es die inneren Adressen bestimmen. Bei einer routenbasierten Schnittstelle müssen der Routing-Eintrag und die ausgehandelten Traffic-Selektoren übereinstimmen, denn ein Schnittstellenname allein erlaubt nichts. Richten Sie BIRD auf die innere lokale Adresse und die innere Adresse des Cloud Router, setzen Sie die AS-Nummern von der Sitzungsseite und erlauben Sie TCP 179 innerhalb des geschützten Pfads. Halten Sie die Route zur fernen äußeren Adresse auf dem physischen Uplink, damit der Tunnel seinen eigenen Transport nicht abfängt.
Ein Tunnel, der sich selbst routet, ist eine Schleife mit Handshake, und er wird eine Stunde lang wie ein Firewall-Problem aussehen.
Prüfen Sie jede Stufe der Reihe nach, nicht alles auf einmal
Gehen Sie die Stufen durch: Sicherheitsassoziation oben, innerer Peer von der Tunneladresse aus erreichbar, BGP-Sitzung aufgebaut, Präfixe akzeptiert, dann ein Workload-Präfix tatsächlich genutzt. birdc show protocols beantwortet die dritte Frage und sonst nichts, und deshalb erklären Leute früh den Sieg.
Ein aufgebauter Nachbar verspricht nicht, dass beide Seiten die benötigten Präfixe angekündigt haben oder dass diese Routen als bevorzugt installiert wurden.
Wenn die Sitzung steht und der Verkehr trotzdem den falschen Weg nimmt, vergleichen Sie die angekündigten Präfixe damit, was die Routing-Tabelle mit ihnen tut. Eine spezifischere Route anderswo oder eine Präferenz für einen anderen Weg liefert Ihnen eine funktionierende BGP-Sitzung und keine nützliche Weiterleitung.
Hören Sie auf, bevor Sie das auf Router Appliance anwenden
Network Connectivity Center Router Appliance ist ein anderes Anbindungsmodell. Seine Cloud Router-Peers verwenden interne Adressen aus der VPC- und Subnetz-Anordnung statt des HA-VPN-Link-Local-Paars. Wenn das eigentliche Ziel BGP mit einer Routing-VM ist, folgen Sie den Schnittstellenanforderungen dieses Produkts, statt eine Link-Local-Sitzung zu kopieren.
Link-Local-Geltungsbereich bedeutet weiterhin, was er sagt. Der logische Tunnel liefert diese Nachbarschaft, und er erlaubt nicht, beliebige Link-Local-Ziele über die VPC zu routen.