Prepojenie viacerých zón Vultr s N2N

N2N je open source 2/3 VPN aplikácia. Na rozdiel od mnohých iných VPN programov dokáže N2N pripojiť počítače, ktoré sú umiestnené za NAT routerom. To ponúka obrovskú výhodu pripojenia do cloudového prostredia bez toho, aby ste sa museli spoliehať na špeciálne protokoly, ako je protokol ESP (používaný spoločnosťou ipsec). Na dosiahnutie tohto spojenia používa N2N supernode, ktorý môže smerovať informácie medzi uzlami NAT. Toto pripojenie VPN možno použiť na spojenie viacerých inštancií Vultr naprieč regiónmi.

Predpoklady

V tomto príklade budeme používať tri uzly vo viacerých zónach:

  • Paríž
  • Miami
  • Sydney

Inštalácia softvéru

Nasledujúce príkazy sa vykonajú v každej inštancii.

Začnite inštaláciou build-essentialz repo a tiež libssl-dev, pretože budeme vytvárať z najnovšieho zdrojového kódu.

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

Ďalej si stiahnite zdrojový kód z github.

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

Kompilujte všetky binárne súbory.

cd n2n 
make
make install

make installPríkaz bude mať vytvorený supernodea edgebinárne súbory v /usr/sbinadresári. Dokončite vyčistením súborov.

rm -rf /tmp/n2n

Inštalácia - Node Paris

Prvým uzlom bude náš takzvaný supernode. Tento supernode spustí službu supernode, ktorá bude počúvať na UDP porte 1200. Aplikácia N2N štandardne nevytvára súbor služby. Budeme si teda musieť zabezpečiť vlastné.

Vytvorte súbor služby 'n2n_supernode':

nano /etc/systemd/system/n2n_supernode.service

Pridajte nasledujúci obsah:

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

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

[Install]
WantedBy=multi-user.target

Direktíva '-l' definuje port UDP 1200. Toto je port, na ktorom bude supernode počúvať. Aby ste sa uistili, že všetko funguje, spustite službu supernode:

systemctl start n2n_supernode

Skontrolujte stav superuzla.

systemctl status n2n_supernode

Zobrazí sa stav podobný nasledujúcemu.

● 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

Ďalej vytvoríme okrajovú službu. Táto okrajová služba si vyžiada súkromnú IP pre komunikáciu medzi ostatnými okrajmi v iných zónach Vultr.

Rovnako ako služba supernode, aj táto bude potrebovať vlastný súbor služby.

nano /etc/systemd/system/n2n_edge.service

Pridajte nasledujúci obsah:

[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

V tomto súbore služby sme definovali nasledujúce možnosti príkazového riadku:

  • -l localhost:1200: Toto sa pripojí k localhost na porte UDP 1200.
  • -c Vultr: Toto je komunita, ku ktorej sa pripojí okraj. Všetky okraje v rámci tej istej komunity sa objavujú v rovnakej sieti LAN (segment siete 2. vrstvy). Hrany, ktoré nie sú v rovnakej komunite, spolu nebudú komunikovať.
  • -a 192.168.1.1: IP priradená tomuto rozhraniu. Toto je požadovaná IP adresa virtuálnej LAN siete N2N.
  • -k mypassword: Heslo používané pre každú hranu. Všetky komunikujúce okraje musia používať rovnaký kľúč a názov komunity.
  • -f: Zakáže režim démona a spôsobí spustenie edge v popredí. Toto je potrebné pre súbor služby, inak systemctlsa služba nespustí.

Aby ste sa uistili, že všetko funguje, spustite službu.

systemctl start n2n_edge

Potom sa opýtajte na stav služby.

systemctl status n2n_edge   

Výstup bude podobný nasledujúcemu.

● 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

Ak zaškrtneme 'ifconfig', uvidíte virtuálnu IP N2N nárokovanú edge0rozhraním.

ifconfig

Výstup bude podobný nasledujúcemu.

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)

Once this is done, enable and create the firewall rules. Make sure to replace the node_miami_ip and node_sydney_ip text with the public IP of the Sydney and Miami instance. (We will use these later on).

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

The last thing to do with this node is to enable both services at boot.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

Installation - Node Miami

The Miami node will connect to the super node which is currently running in the Paris zone. To achieve this we only need to create a service file for the edge application.

Start by creating an edge service file.

nano /etc/systemd/system/n2n_edge.service

Add the following content.

[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

Note: Replace the node_paris_ip with the public IP of the instance running in Paris

This will connect to the node in Paris on UDP port 1200, join community 'Vultr', claim IP 192.168.1.2 and authenticate with 'mypassword'.

Ďalej spustite službu.

systemctl start n2n_edge

Skontrolujte, či stav signalizuje, že sa služba správne spustila a je spustená.

systemctl status n2n_edge   

Ďalej sa uistite, že edge0sa nárokuje IP.

ifconfig

Zobrazí sa 192.168.1.2adresa 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)

Ďalšia vec, ktorú musíte urobiť, je povoliť službu pri zavádzaní.

systemctl enable n2n_edge.service

Voliteľne povoľte bránu firewall a pridajte pravidlá SSH.

ufw allow 22/tcp
ufw enable

Teraz budeme môcť pingovať obe hrany spustené v našich inštanciách.

V Paríži ping na inštanciu Vultr v Miami

ping 192.168.1.2

V Miami, ping na hrane v Paríži

ping 192.168.1.1

Inštalácia - Node Sydney

Nakoniec do mixu pridáme náš posledný kontinent: Austráliu. Začnite znova vytvorením okrajovej služby, táto okrajová služba sa tiež pripojí k predchádzajúcemu nakonfigurovanému superuzlu v Paríži.

nano /etc/systemd/system/n2n_edge.service

Pridajte nasledujúci obsah.

[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

Poznámka : Nahraďte reťazec node_paris_ipverejnou IP inštanciou spustenou v Paríži.

Týmto sa pripojíte k uzlu v Paríži na porte UDP 1200, pripojíte sa ku komunite „ Vultr“, požiadate o IP 192.168.1.3a overíte sa pomocou „ mypassword“.

systemctl start n2n_edge

Skontrolujte stav, aby ste sa uistili, že je služba spustená.

systemctl status n2n_edge   

Uistite sa, že je edge0IP nárokovaná.

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)

Opäť povoľte túto službu pri zavádzaní.

systemctl enable n2n_edge.service

Voliteľne povoľte bránu firewall a pridajte pravidlá SSH.

ufw allow 22/tcp
ufw enable

Teraz budeme môcť pingovať každú inštanciu Vultr z každého uzla.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

Ak chcete otestovať spojenie medzi každým okrajom uzla, povoľte pravidlá brány firewall na inštanciách Miami a Paríža. To umožní komunikáciu medzi hranami.

V Miami pridajte nasledujúce pravidlá. (Uistite sa, že ste text node_paris_ipa nahradili node_sydney_ipverejnými adresami IP inštancií v Sydney a Paríži.)

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

V Sydney pridajte nasledujúce pravidlá.

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

Teraz môžete supernode vypnúť alebo reštartovať. Sieťové pripojenia budú naďalej existovať. Iba nové okraje budú mať problémy s pripojením, kým bude služba supernode mimo prevádzky.

Záver

Úspešne sme nakonfigurovali pripojenie VPN medzi viacerými zónami. To by malo ponúknuť pomerne veľa nových možností pre scenáre vysokej dostupnosti pre naše novo nakonfigurované prostredie.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Install Lets Encrypt SSL on One-Click WordPress App

Install Lets Encrypt SSL on One-Click WordPress App

Introduction Lets Encrypt is a certificate authority service that offers free TLS/SSL certificates. The process of installation is simplified by Certbot,

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver

Creating a Jekyll Blog on Ubuntu 16.04

Creating a Jekyll Blog on Ubuntu 16.04

Using a Different System? Jekyll is a great alternative to WordPress for blogging or sharing content. It doesnt require any databases and it is very easy i

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

PHP a súvisiace balíky sú najčastejšie používané komponenty pri nasadzovaní webového servera. V tomto článku sa naučíme, ako nastaviť PHP 7.0 alebo PHP 7.1 o

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

1. Virtualmin/Webmin Virtualmin je výkonný a flexibilný ovládací panel webhostingu pre systémy Linux a UNIX založený na známej webovej základni Open Source

Nastavenie aplikácie Yii na Ubuntu 14.04

Nastavenie aplikácie Yii na Ubuntu 14.04

Yii je rámec PHP, ktorý vám umožňuje rýchlejšie a jednoduchšie vyvíjať aplikácie. Inštalácia Yii na Ubuntu je jednoduchá, ako sa presne dozviete

Používanie obrazovky na Ubuntu 14.04

Používanie obrazovky na Ubuntu 14.04

Screen je aplikácia, ktorá umožňuje viacnásobné použitie terminálových relácií v rámci jedného okna. To vám umožňuje simulovať viacero okien terminálu, kde je to možné

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Používanie Logrotate na správu protokolových súborov

Používanie Logrotate na správu protokolových súborov

Úvod Logrotate je nástroj pre Linux, ktorý zjednodušuje správu protokolových súborov. Zvyčajne beží raz denne prostredníctvom úlohy cron a spravuje základňu protokolov

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používate iný systém? Red5 je mediálny server s otvoreným zdrojom implementovaný v jazyku Java, ktorý vám umožňuje spúšťať aplikácie Flash pre viacerých používateľov, ako napríklad živé vysielanie

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Používate iný systém? Vanilla forum je open source aplikácia fóra napísaná v PHP. Je plne prispôsobiteľný, ľahko použiteľný a podporuje externé

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac