Connessione di più zone Vultr con N2N

N2N è un'applicazione VPN di livello 2/3 open source. A differenza di molti altri programmi VPN, N2N può connettere computer che si trovano dietro un router NAT. Ciò offre un enorme vantaggio per la connessione a un ambiente cloud senza dover fare affidamento su protocolli speciali come il protocollo ESP (utilizzato da ipsec). Per ottenere questa connessione, N2N utilizza un supernodo che può instradare le informazioni tra i nodi NAT. Questa connessione VPN può essere utilizzata per connettere più istanze Vultr tra regioni diverse.

Prerequisiti

  • Tre istanze del server Ubuntu 16.04 LTS x64. (Qualsiasi dimensione funzionerà)
  • Un utente sudo (o account root) .

In questo esempio utilizzeremo tre nodi in più zone:

  • Parigi
  • Miami
  • Sydney

Installazione del software

I seguenti comandi verranno eseguiti su ogni istanza.

Inizia installando build-essentialdal repository e anche libssl-dev, poiché costruiremo dal codice sorgente più recente.

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

Quindi, scarica il codice sorgente da github.

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

Compila tutti i binari.

cd n2n 
make
make install

Il make installcomando avrà creato i binari supernodee edgenella /usr/sbindirectory. Termina pulendo i file.

rm -rf /tmp/n2n

Installazione - Nodo Parigi

Il primo nodo sarà il nostro cosiddetto supernodo. Questo supernodo avvierà il servizio di supernodi che ascolterà sulla porta UDP 1200. Per impostazione predefinita, l'applicazione N2N non crea un file di servizio. Quindi dovremo fornire il nostro.

Creare il file di servizio 'n2n_supernode':

nano /etc/systemd/system/n2n_supernode.service

Aggiungi il seguente contenuto:

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

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

[Install]
WantedBy=multi-user.target

La direttiva '-l' definisce la porta UDP 1200. Questa è la porta su cui il supernodo ascolterà. Per assicurarsi che tutto funzioni, avviare il servizio di supernodi:

systemctl start n2n_supernode

Controlla lo stato del supernodo.

systemctl status n2n_supernode

Questo mostrerà uno stato simile al seguente.

● 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

Successivamente creeremo il servizio perimetrale. Questo servizio perimetrale rivendica un IP privato per la comunicazione tra gli altri contorni in altre zone Vultr.

Come per il servizio supernodi, anche questo avrà bisogno del proprio file di servizio.

nano /etc/systemd/system/n2n_edge.service

Aggiungi il seguente contenuto:

[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 questo file di servizio abbiamo definito le seguenti opzioni della riga di comando:

  • -l localhost:1200: Questo si connetterà a localhost sulla porta UDP 1200.
  • -c Vultr: Questa è la community alla quale si unirà il bordo. Tutti i bordi all'interno della stessa comunità vengono visualizzati sulla stessa LAN (segmento di rete di livello 2). I bordi che non fanno parte della stessa comunità non comunicheranno tra loro.
  • -a 192.168.1.1: L'IP assegnato a questa interfaccia. Questo è l'indirizzo IP della LAN virtuale N2N richiesto.
  • -k mypassword: La password utilizzata per ciascun bordo. Tutti i bordi che comunicano devono utilizzare la stessa chiave e lo stesso nome di comunità.
  • -f: Disabilita la modalità demone e causa l'esecuzione di edge in primo piano. Ciò è necessario per il file di servizio, altrimenti systemctlil servizio non verrà avviato.

Per assicurarsi che tutto funzioni, avviare il servizio.

systemctl start n2n_edge

Quindi, interrogare lo stato del servizio.

systemctl status n2n_edge   

L'output sarà simile al seguente.

● 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

Se controlliamo 'ifconfig', vedrai l'IP virtuale N2N rivendicato edge0dall'interfaccia.

ifconfig

L'output sarà simile al seguente.

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)

Fatto ciò, abilitare e creare le regole del firewall. Assicurati di sostituire il node_miami_ipe il node_sydney_iptesto con l'IP pubblico dell'istanza di Sydney e Miami. (Li useremo più avanti).

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

L'ultima cosa da fare con questo nodo è abilitare entrambi i servizi all'avvio.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

Installazione - Nodo Miami

Il nodo Miami si collegherà al super nodo attualmente in esecuzione nella zona di Parigi. Per raggiungere questo obiettivo, dobbiamo solo creare un file di servizio per l' edgeapplicazione.

Inizia creando un file di servizio perimetrale.

nano /etc/systemd/system/n2n_edge.service

Aggiungi il seguente contenuto.

[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

Nota : sostituire il node_paris_ipcon l'IP pubblico dell'istanza in esecuzione a Parigi

Questo si connetterà al nodo di Parigi sulla porta UDP 1200, si unirà alla comunità ' Vultr', rivendicherà l'IP 192.168.1.2e si autenticherà con ' mypassword'.

Quindi, avviare il servizio.

systemctl start n2n_edge

Controllare lo stato per un'indicazione che il servizio è stato avviato correttamente ed è in esecuzione.

systemctl status n2n_edge   

Quindi, assicurarsi che l' edge0IP venga richiesto.

ifconfig

Mostrerà l' 192.168.1.2indirizzo IP.

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)

La prossima cosa da fare è abilitare il servizio all'avvio.

systemctl enable n2n_edge.service

Facoltativamente, abilitare il firewall e aggiungere le regole SSH.

ufw allow 22/tcp
ufw enable

Ora saremo in grado di eseguire il ping di entrambi i bordi in esecuzione nelle nostre istanze.

A Parigi, esegui il ping dell'istanza Vultr a Miami

ping 192.168.1.2

A Miami, fai un rumore metallico a Parigi

ping 192.168.1.1

Installazione - Nodo Sydney

Alla fine aggiungeremo il nostro ultimo continente al mix: l'Australia. Ricominciare creando un servizio perimetrale, questo servizio perimetrale si connetterà anche al precedente supernodo configurato a Parigi.

nano /etc/systemd/system/n2n_edge.service

Aggiungi il seguente contenuto.

[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

Nota : sostituire il node_paris_ipcon l'IP pubblico dell'istanza in esecuzione a Parigi.

Questo si connetterà al nodo di Parigi sulla porta UDP 1200, si unirà alla comunità ' Vultr', rivendicherà l'IP 192.168.1.3e si autenticherà con ' mypassword'.

systemctl start n2n_edge

Controllare lo stato per assicurarsi che il servizio sia avviato.

systemctl status n2n_edge   

Assicurarsi che l' edge0IP venga richiesto.

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)

Ancora una volta, abilitare questo servizio all'avvio.

systemctl enable n2n_edge.service

Facoltativamente, abilitare il firewall e aggiungere le regole SSH.

ufw allow 22/tcp
ufw enable

Ora saremo in grado di eseguire il ping di ogni istanza Vultr da ciascun nodo.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

Se si desidera testare la connessione tra ciascun bordo del nodo, abilitare le regole del firewall sulle istanze di Miami e Parigi. Ciò consentirà la comunicazione tra i bordi.

A Miami, aggiungi le seguenti regole. (Assicurati di sostituire il node_paris_ipe il node_sydney_iptesto con gli IP pubblici delle istanze di Sydney e Parigi.)

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

A Sydney, aggiungi le seguenti regole.

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

Ora puoi arrestare o riavviare il supernodo. Le connessioni di rete continueranno ad esistere. Solo i nuovi edge subiranno problemi di connettività mentre il servizio di supernodi è inattivo.

Conclusione

Abbiamo configurato correttamente una connessione VPN tra più zone. Ciò dovrebbe offrire molte nuove possibilità per scenari ad alta disponibilità al nostro ambiente appena configurato.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.