Connexió de diverses zones Vultr amb N2N

N2N és una aplicació VPN de capa 2/3 de codi obert. A diferència de molts altres programes VPN, N2N pot connectar ordinadors que es troben darrere d'un encaminador NAT. Això ofereix un gran avantatge per connectar-se a un entorn de núvol sense haver de dependre de protocols especials com el protocol ESP (utilitzat per ipsec). Per aconseguir aquesta connexió, N2N utilitza un supernode que pot encaminar la informació entre nodes NAT. Aquesta connexió VPN es pot utilitzar per connectar diverses instàncies de Vultr entre regions juntes.

Requisits previs

  • Tres instàncies del servidor Ubuntu 16.04 LTS x64. (Qualsevol mida funcionarà)
  • Un usuari sudo (o compte root) .

En aquest exemple farem servir tres nodes en diverses zones:

  • París
  • Miami
  • Sydney

Instal·lació del programari

Les ordres següents s'executaran a cada instància.

Comenceu instal·lant build-essentialdes del repo i també libssl-dev, ja que construirem des del codi font més recent.

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

A continuació, descarregueu el codi font de github.

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

Compileu tots els binaris.

cd n2n 
make
make install

L' make installordre haurà creat els binaris supernodei edgeal /usr/sbindirectori. Acabeu netejant els fitxers.

rm -rf /tmp/n2n

Instal·lació - Node París

El primer node serà el nostre anomenat supernode. Aquest supernode iniciarà el servei de supernode que escoltarà al port UDP 1200. Per defecte, l'aplicació N2N no crea un fitxer de servei. Per tant, haurem d'aportar el nostre.

Creeu el fitxer de servei "n2n_supernode":

nano /etc/systemd/system/n2n_supernode.service

Afegiu el contingut següent:

[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 directiva '-l' defineix el port UDP 1200. Aquest és el port on escoltarà el supernode. Per assegurar-vos que tot funciona, inicieu el servei de supernode:

systemctl start n2n_supernode

Comproveu l'estat del supernode.

systemctl status n2n_supernode

Això mostrarà un estat similar al següent.

● 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

A continuació, crearem el servei Edge. Aquest servei perifèric reclamarà una IP privada per a la comunicació entre les altres vores d'altres zones Vultr.

Igual que amb el servei de supernode, aquest també necessitarà el seu propi fitxer de servei.

nano /etc/systemd/system/n2n_edge.service

Afegiu el contingut següent:

[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

En aquest fitxer de servei hem definit les opcions de línia d'ordres següents:

  • -l localhost:1200: Això es connectarà a localhost al port UDP 1200.
  • -c Vultr: Aquesta és la comunitat a la qual s'unirà l'edge. Totes les vores de la mateixa comunitat apareixen a la mateixa LAN (segment de xarxa de capa 2). Les vores que no es troben a la mateixa comunitat no es comunicaran entre elles.
  • -a 192.168.1.1: La IP assignada a aquesta interfície. Aquesta és l'adreça IP de la LAN virtual N2N que es reclama.
  • -k mypassword: la contrasenya utilitzada per a cada vora. Totes les vores que es comuniquen han d'utilitzar la mateixa clau i nom de comunitat.
  • -f: desactiva el mode dimoni i fa que l'edge s'executi en primer pla. Això és necessari per al fitxer de servei, en cas contrari systemctlno s'iniciarà el servei.

Per assegurar-vos que tot funciona, inicieu el servei.

systemctl start n2n_edge

A continuació, consulteu l'estat del servei.

systemctl status n2n_edge   

La sortida serà similar a la següent.

● 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

Si marquem 'ifconfig', veureu que la edge0interfície reclama la IP virtual N2N .

ifconfig

La sortida serà similar a la següent.

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)

Un cop fet això, habiliteu i creeu les regles del tallafoc. Assegureu-vos de substituir el text node_miami_ipi node_sydney_ipper la IP pública de la instància de Sydney i Miami. (Aquests els utilitzarem més endavant).

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'últim que cal fer amb aquest node és habilitar els dos serveis a l'arrencada.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

Instal·lació - Node Miami

El node de Miami es connectarà al supernode que s'està executant actualment a la zona de París. Per aconseguir-ho només hem de crear un fitxer de servei per a l' edgeaplicació.

Comenceu creant un fitxer de servei perifèric.

nano /etc/systemd/system/n2n_edge.service

Afegeix el següent contingut.

[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 : substituïu la node_paris_ipIP pública de la instància que s'executa a París

Això es connectarà al node de París al port UDP 1200, s'unirà a la comunitat ' Vultr', reclamarà la IP 192.168.1.2i s'autenticarà amb ' mypassword'.

A continuació, inicieu el servei.

systemctl start n2n_edge

Comproveu l'estat per a una indicació que el servei s'ha iniciat correctament i s'està executant.

systemctl status n2n_edge   

A continuació, assegureu-vos que la edge0IP es reclama.

ifconfig

Mostrarà l' 192.168.1.2adreça 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)

El següent que cal fer és habilitar el servei a l'arrencada.

systemctl enable n2n_edge.service

Opcionalment, activeu el tallafoc i afegiu les regles SSH.

ufw allow 22/tcp
ufw enable

Ara podrem fer ping a les dues vores en execució a les nostres instàncies.

A París, feu ping a la instància Vultr a Miami

ping 192.168.1.2

A Miami, ping a la vora a París

ping 192.168.1.1

Instal·lació - Node Sydney

Finalment, afegirem a la barreja el nostre últim continent: Austràlia. Comenceu de nou creant un servei perifèric, aquest servei perifèric també es connectarà al supernode configurat anteriorment a París.

nano /etc/systemd/system/n2n_edge.service

Afegeix el següent contingut.

[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 : substituïu la node_paris_ipIP pública de la instància que s'executa a París.

Això es connectarà al node de París al port UDP 1200, s'unirà a la comunitat ' Vultr', reclamarà la IP 192.168.1.3i s'autenticarà amb ' mypassword'.

systemctl start n2n_edge

Comproveu l'estat per assegurar-vos que el servei s'ha iniciat.

systemctl status n2n_edge   

Assegureu-vos que la edge0IP es reclama.

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)

De nou, activeu aquest servei a l'arrencada.

systemctl enable n2n_edge.service

Opcionalment, activeu el tallafoc i afegiu les regles SSH.

ufw allow 22/tcp
ufw enable

Ara podrem fer ping a cada instància de Vultr des de cada node.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

Si voleu provar la connexió entre cada vora de node, activeu les regles del tallafoc a les instàncies de Miami i París. Això permetrà la comunicació entre les vores.

A Miami, afegiu les regles següents. (Assegureu-vos de substituir el text node_paris_ipi node_sydney_ipper les IP públiques de les instàncies de Sydney i París.)

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

A Sydney, afegiu les regles següents.

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

Ara podeu apagar o reiniciar el supernode. Les connexions de xarxa continuaran existint. Només les vores noves patiran problemes de connectivitat mentre el servei de supernode estigui inactiu.

Conclusió

Hem configurat correctament una connexió VPN entre diverses zones. Això hauria d'oferir un munt de possibilitats noves per a escenaris d'alta disponibilitat al nostre entorn recentment configurat.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació