Verbinden mehrerer Vultr-Zonen mit N2N

N2N ist eine Open Source Layer 2/3 VPN-Anwendung. Im Gegensatz zu vielen anderen VPN-Programmen kann N2N Computer verbinden, die sich hinter einem NAT-Router befinden. Dies bietet einen großen Vorteil für die Verbindung zu einer Cloud-Umgebung, ohne auf spezielle Protokolle wie das von ipsec verwendete ESP-Protokoll angewiesen zu sein. Um diese Verbindung herzustellen, verwendet N2N einen Superknoten, der die Informationen zwischen NAT-Knoten weiterleiten kann. Diese VPN-Verbindung kann verwendet werden, um mehrere Vultr-Instanzen über Regionen hinweg miteinander zu verbinden.

Voraussetzungen

In diesem Beispiel werden drei Knoten in mehreren Zonen verwendet:

  • Paris
  • Miami
  • Sydney

Installation der Software

Die folgenden Befehle werden für jede Instanz ausgeführt.

Beginnen Sie mit der Installation des build-essentialaus dem Repo und auch libssl-dev, da wir aus dem neuesten Quellcode bauen werden.

apt-get install -y build-essential libssl-dev

Laden Sie als Nächstes den Quellcode von github herunter.

cd /tmp
git clone https://github.com/ntop/n2n.git

Kompilieren Sie alle Binärdateien.

cd n2n 
make
make install

Der make installBefehl hat die supernodeund edge-Binärdateien im /usr/sbinVerzeichnis erstellt. Zum Abschluss bereinigen Sie die Dateien.

rm -rf /tmp/n2n

Installation - Knoten Paris

Der erste Knoten wird unser sogenannter Superknoten sein. Dieser Superknoten startet den Superknoten-Dienst, der den UDP-Port überwacht 1200. Standardmäßig erstellt die N2N-Anwendung keine Servicedatei. Also müssen wir unsere eigenen zur Verfügung stellen.

Erstellen Sie die Servicedatei 'n2n_supernode':

nano /etc/systemd/system/n2n_supernode.service

Fügen Sie den folgenden Inhalt hinzu:

[Unit]
Description=n2n supernode
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/supernode -l 1200

[Install]
WantedBy=multi-user.target

Die '-l'-Direktive definiert den UDP-Port 1200. Dies ist der Port, an dem der Superknoten empfangsbereit ist. Starten Sie den Superknoten-Dienst, um sicherzustellen, dass alles funktioniert:

systemctl start n2n_supernode

Überprüfen Sie den Status des Superknotens.

systemctl status n2n_supernode

Dies zeigt einen Status ähnlich dem folgenden an.

● n2n_supernode.service - n2n supernode
   Loaded: loaded (/etc/systemd/system/n2n_supernode.service; disabled; vendor prese
   Active: active (running) since Wed 2018-08-15 17:07:46 UTC; 5s ago
 Main PID: 4711 (supernode)
    Tasks: 1
   Memory: 80.0K
      CPU: 1ms
   CGroup: /system.slice/n2n_supernode.service
           └─4711 /usr/sbin/supernode -l 1200

Als nächstes erstellen wir den Edge-Service. Dieser Edge-Service beansprucht eine private IP für die Kommunikation zwischen den anderen Edge in anderen Vultr-Zonen.

Wie beim Superknoten-Dienst benötigt auch dieser eine eigene Dienstdatei.

nano /etc/systemd/system/n2n_edge.service

Fügen Sie den folgenden Inhalt hinzu:

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target n2n_supernode.service

[Service]
ExecStart=/usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypassword -f

[Install]
WantedBy=multi-user.target

In dieser Servicedatei haben wir die folgenden Befehlszeilenoptionen definiert:

  • -l localhost:1200: Dadurch wird eine Verbindung zu localhost am UDP-Port hergestellt 1200.
  • -c Vultr: Dies ist die Community, der sich der Rand anschließen wird. Alle Kanten innerhalb derselben Community werden im selben LAN (Layer 2-Netzwerksegment) angezeigt. Kanten, die sich nicht in derselben Community befinden, kommunizieren nicht miteinander.
  • -a 192.168.1.1: Die dieser Schnittstelle zugewiesene IP. Dies ist die beanspruchte virtuelle N2N-LAN-IP-Adresse.
  • -k mypassword: Das für jede Kante verwendete Passwort. Alle Kanten, die kommunizieren, müssen denselben Schlüssel und denselben Community-Namen verwenden.
  • -f: Deaktiviert den Daemon-Modus und bewirkt, dass die Kante im Vordergrund ausgeführt wird. Dies wird für die Servicedatei benötigt, andernfalls systemctlwird der Service nicht gestartet.

Starten Sie den Dienst, um sicherzustellen, dass alles funktioniert.

systemctl start n2n_edge

Fragen Sie dann den Servicestatus ab.

systemctl status n2n_edge   

Die Ausgabe ähnelt der folgenden.

● n2n_edge.service - n2n edge
   Loaded: loaded (/etc/systemd/system/n2n_edge.service; disabled; vendor preset: en
   Active: active (running) since Wed 2018-08-15 17:10:46 UTC; 3s ago
 Main PID: 4776 (edge)
    Tasks: 1
   Memory: 396.0K
      CPU: 8ms
   CGroup: /system.slice/n2n_edge.service
           └─4776 /usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypass

Wenn wir 'ifconfig' aktivieren, wird die virtuelle N2N-IP von der edge0Schnittstelle beansprucht .

ifconfig

Die Ausgabe ähnelt der folgenden.

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

Aktivieren und erstellen Sie anschließend die Firewall-Regeln. Stellen Sie sicher, dass Sie den Text node_miami_ipund node_sydney_ipdurch die öffentliche IP-Adresse der Instanz in Sydney und Miami ersetzen . (Wir werden diese später verwenden).

ufw allow 22/tcp
ufw allow from node_miami_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200
ufw enable

Das Letzte, was Sie mit diesem Knoten tun müssen, ist, beide Dienste beim Booten zu aktivieren.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

Installation - Knoten Miami

Der Miami-Knoten stellt eine Verbindung zum Superknoten her, der derzeit in der Pariser Zone ausgeführt wird. Um dies zu erreichen, müssen wir nur eine Servicedatei für die edgeAnwendung erstellen .

Erstellen Sie zunächst eine Edge-Service-Datei.

nano /etc/systemd/system/n2n_edge.service

Fügen Sie den folgenden Inhalt hinzu.

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.2 -k mypassword -f

[Install]
WantedBy=multi-user.target

Hinweis : Ersetzen Sie die node_paris_ipIP-Adresse der in Paris ausgeführten Instanz durch die öffentliche IP-Adresse

Dadurch wird eine Verbindung zum Knoten in Paris über den UDP-Port hergestellt 1200, der Community ' Vultr' beigetreten, die IP beansprucht 192.168.1.2und mit ' mypassword' authentifiziert .

Starten Sie als Nächstes den Dienst.

systemctl start n2n_edge

Überprüfen Sie den Status auf Anzeichen dafür, dass der Dienst ordnungsgemäß gestartet wurde und ausgeführt wird.

systemctl status n2n_edge   

Stellen Sie als Nächstes sicher, dass die edge0IP beansprucht wird.

ifconfig

Es wird die 192.168.1.2IP-Adresse angezeigt.

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

Als Nächstes müssen Sie den Dienst beim Booten aktivieren.

systemctl enable n2n_edge.service

Aktivieren Sie optional die Firewall und fügen Sie die SSH-Regeln hinzu.

ufw allow 22/tcp
ufw enable

In unseren Instanzen können wir jetzt beide Kanten anpingen.

Pingen Sie in Paris die Vultr-Instanz in Miami an

ping 192.168.1.2

In Miami ping die Kante in Paris

ping 192.168.1.1

Installation - Knoten Sydney

Schließlich werden wir unseren letzten Kontinent hinzufügen: Australien. Beginnen Sie erneut, indem Sie einen Edge-Service erstellen. Dieser Edge-Service stellt auch eine Verbindung zum zuvor konfigurierten Superknoten in Paris her.

nano /etc/systemd/system/n2n_edge.service

Fügen Sie den folgenden Inhalt hinzu.

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.3 -k mypassword -f

[Install]
WantedBy=multi-user.target

Hinweis : Ersetzen Sie die node_paris_ipIP-Adresse der in Paris ausgeführten Instanz durch die öffentliche IP-Adresse.

Dadurch wird eine Verbindung zum Knoten in Paris über den UDP-Port hergestellt 1200, der Community ' Vultr' beigetreten, die IP beansprucht 192.168.1.3und mit ' mypassword' authentifiziert .

systemctl start n2n_edge

Überprüfen Sie den Status, um sicherzustellen, dass der Dienst gestartet wird.

systemctl status n2n_edge   

Stellen Sie sicher, dass die edge0IP beansprucht wird.

edge0     Link encap:Ethernet  HWaddr 46:56:b0:e9:8f:8a
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
        inet6 addr: fe80::4456:b0ff:fee9:8f8a/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

Aktivieren Sie diesen Dienst erneut beim Booten.

systemctl enable n2n_edge.service

Aktivieren Sie optional die Firewall und fügen Sie die SSH-Regeln hinzu.

ufw allow 22/tcp
ufw enable

Wir können jetzt jede Vultr-Instanz von jedem Knoten aus anpingen.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

Wenn Sie die Verbindung zwischen den einzelnen Knotenkanten testen möchten, aktivieren Sie die Firewall-Regeln für die Instanzen von Miami und Paris. Dies ermöglicht die Kommunikation zwischen Kanten.

Fügen Sie in Miami die folgenden Regeln hinzu. (Stellen Sie sicher, dass Sie den Text node_paris_ipund node_sydney_ipdurch die öffentlichen IPs der Instanzen in Sydney und Paris ersetzen .)

ufw allow from node_paris_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200

Fügen Sie in Sydney die folgenden Regeln hinzu.

ufw allow from node_paris_ip to any port 1200
ufw allow from node_miami_ip to any port 1200

Jetzt können Sie den Superknoten herunterfahren oder neu starten. Netzwerkverbindungen bestehen weiterhin. Nur bei neuen Kanten treten Konnektivitätsprobleme auf, während der Superknoten-Dienst nicht verfügbar ist.

Fazit

Wir haben erfolgreich eine VPN-Verbindung zwischen mehreren Zonen konfiguriert. Dies sollte unserer neu konfigurierten Umgebung viele neue Möglichkeiten für Hochverfügbarkeitsszenarien bieten.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.