Povezovanje več con Vultr z N2N

N2N je odprtokodna aplikacija 2/3 VPN. Za razliko od mnogih drugih programov VPN lahko N2N poveže računalnike, ki se nahajajo za usmerjevalnikom NAT. To ponuja veliko prednost pri povezovanju z okoljem v oblaku, ne da bi se morali zanašati na posebne protokole, kot je protokol ESP (ki ga uporablja ipsec). Za dosego te povezave N2N uporablja supervozlišče, ki lahko usmerja informacije med NAT vozlišči. To povezavo VPN lahko uporabite za povezovanje več primerkov Vultr v različnih regijah skupaj.

Predpogoji

  • Trije primerki strežnika Ubuntu 16.04 LTS x64. (Kakršna koli velikost bo delovala)
  • Uporabnik sudo (ali root račun) .

V tem primeru bomo uporabili tri vozlišča v več conah:

  • Pariz
  • Miami
  • Sydney

Namestitev programske opreme

Naslednji ukazi se bodo izvajali na vsakem primerku.

Začnite z namestitvijo build-essentializ repo in tudi libssl-dev, saj bomo gradili iz najnovejše izvorne kode.

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

Nato prenesite izvorno kodo iz githuba.

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

Prevedi vse binarne datoteke.

cd n2n 
make
make install

make installUkaz se bo ustvarjena supernodein edgebinarne datoteke v /usr/sbinimeniku. Zaključite s čiščenjem datotek.

rm -rf /tmp/n2n

Namestitev - Node Paris

Prvo vozlišče bo naše tako imenovano supervozlišče. To supervozlišče bo zagnalo storitev supervozlišča, ki bo poslušala vrata UDP 1200. Aplikacija N2N privzeto ne ustvari storitvene datoteke. Zato bomo morali zagotoviti svoje.

Ustvarite datoteko storitve 'n2n_supernode':

nano /etc/systemd/system/n2n_supernode.service

Dodajte naslednjo vsebino:

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

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

[Install]
WantedBy=multi-user.target

Direktiva '-l' definira vrata UDP 1200. To so vrata, na katerih bo supervozlišče poslušalo. Če želite zagotoviti, da vse deluje, zaženite storitev supernode:

systemctl start n2n_supernode

Preverite stanje supervozlišča.

systemctl status n2n_supernode

To bo prikazalo stanje, podobno naslednjemu.

● 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

Nato bomo ustvarili storitev edge. Ta robna storitev bo zahtevala zasebni IP za komunikacijo med drugimi robovi v drugih območjih Vultr.

Tako kot pri storitvi supernode bo tudi ta potrebovala lastno storitveno datoteko.

nano /etc/systemd/system/n2n_edge.service

Dodajte naslednjo vsebino:

[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 tej servisni datoteki smo definirali naslednje možnosti ukazne vrstice:

  • -l localhost:1200: To se bo povezalo z lokalnim gostiteljem na vratih UDP 1200.
  • -c Vultr: To je skupnost, ki se ji bo pridružil rob. Vsi robovi znotraj iste skupnosti se pojavijo v istem LAN-u (segment omrežja 2. sloja). Robovi, ki niso v isti skupnosti, ne bodo komunicirali med seboj.
  • -a 192.168.1.1: IP, dodeljen temu vmesniku. To je naslov IP navideznega LAN N2N, ki se zahteva.
  • -k mypassword: Geslo, uporabljeno za vsak rob. Vsi robovi, ki komunicirajo, morajo uporabljati isti ključ in ime skupnosti.
  • -f: Onemogoči način demona in povzroči, da rob teče v ospredju. To je potrebno za servisno datoteko, sicer systemctlse storitev ne bo zagnala.

Če želite zagotoviti, da vse deluje, zaženite storitev.

systemctl start n2n_edge

Nato poizvedi o statusu storitve.

systemctl status n2n_edge   

Izhod bo podoben naslednjemu.

● 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

Če preverimo 'ifconfig', boste videli, da vmesnik zahteva navidezni IP N2N edge0.

ifconfig

Izhod bo podoben naslednjemu.

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)

Ko je to storjeno, omogočite in ustvarite pravila požarnega zidu. Ne pozabite zamenjati besedila node_miami_ipin node_sydney_ipz javnim naslovom IP primerka Sydney in Miami. (Te bomo uporabili pozneje).

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

Zadnja stvar, ki jo lahko storite s tem vozliščem, je omogočiti obe storitvi ob zagonu.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

Namestitev - Node Miami

Vozlišče Miami se bo povezalo s super vozliščem, ki trenutno deluje v coni Pariza. Da bi to dosegli, moramo samo ustvariti servisno datoteko za edgeaplikacijo.

Začnite z ustvarjanjem datoteke storitve edge.

nano /etc/systemd/system/n2n_edge.service

Dodajte naslednjo vsebino.

[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

Opomba : Zamenjajte node_paris_ipz javnim IP primerka, ki se izvaja v Parizu

To se bo povezalo z vozliščem v Parizu na vratih UDP 1200, se pridružilo skupnosti " Vultr", zahtevalo IP 192.168.1.2in preverilo pristnost z " mypassword".

Nato zaženite storitev.

systemctl start n2n_edge

Preverite stanje za indikacijo, da se je storitev pravilno zagnala in deluje.

systemctl status n2n_edge   

Nato zagotovite, da je edge0IP zahtevan.

ifconfig

Pokazal bo 192.168.1.2naslov 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)

Naslednja stvar je omogočiti storitev ob zagonu.

systemctl enable n2n_edge.service

Po želji omogočite požarni zid in dodajte pravila SSH.

ufw allow 22/tcp
ufw enable

Zdaj bomo lahko pingali oba roba, ki se izvajata v naših primerih.

V Parizu pokličite primerek Vultr v Miamiju

ping 192.168.1.2

V Miamiju ping na rob v Parizu

ping 192.168.1.1

Namestitev - Node Sydney

Končno bomo mešanici dodali še našo zadnjo celino: Avstralijo. Začnite znova z ustvarjanjem robne storitve, ta robna storitev se bo povezala tudi s prejšnjim konfiguriranim supervozliščem v Parizu.

nano /etc/systemd/system/n2n_edge.service

Dodajte naslednjo vsebino.

[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

Opomba : Zamenjajte node_paris_ipz javnim IP primerka, ki se izvaja v Parizu.

To se bo povezalo z vozliščem v Parizu na vratih UDP 1200, se pridružilo skupnosti " Vultr", zahtevalo IP 192.168.1.3in preverilo pristnost z " mypassword".

systemctl start n2n_edge

Preverite stanje in se prepričajte, da je storitev zagnana.

systemctl status n2n_edge   

Prepričajte se, da bo edge0IP zahtevan.

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)

Ponovno omogočite to storitev ob zagonu.

systemctl enable n2n_edge.service

Po želji omogočite požarni zid in dodajte pravila SSH.

ufw allow 22/tcp
ufw enable

Zdaj bomo lahko pingali vsak primerek Vultr iz vsakega vozlišča.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

Če želite preizkusiti povezavo med vsakim robom vozlišča, omogočite pravila požarnega zidu na primerkih Miami in Paris. To bo omogočilo komunikacijo med robovi.

V Miamiju dodajte naslednja pravila. (Ne pozabite zamenjati besedila node_paris_ipin node_sydney_ipz javnimi IP-ji primerkov Sydney in Paris.)

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

V Sydneyju dodajte naslednja pravila.

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

Zdaj lahko izklopite ali znova zaženete supervozlišče. Omrežne povezave bodo še naprej obstajale. Samo novi robovi bodo imeli težave s povezljivostjo, medtem ko storitev supernode ne deluje.

Zaključek

Uspešno smo konfigurirali povezavo VPN med več območji. To bi moralo ponuditi precej novih možnosti za scenarije visoke razpoložljivosti našemu na novo konfiguriranemu okolju.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Uvod Lets Encrypt je storitev overitelja potrdil, ki ponuja brezplačna potrdila TLS/SSL. Certbot poenostavlja postopek namestitve,

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Uporaba drugega sistema? Če kupite strežnik Debian, morate vedno imeti najnovejše varnostne popravke in posodobitve, ne glede na to, ali spite ali ne

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

PHP in sorodni paketi so najpogosteje uporabljene komponente pri uvajanju spletnega strežnika. V tem članku se bomo naučili, kako nastaviti PHP 7.0 ali PHP 7.1 o

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

1. Virtualmin/Webmin Virtualmin je zmogljiva in prilagodljiva nadzorna plošča za spletno gostovanje za sisteme Linux in UNIX, ki temelji na dobro znani odprtokodni spletni bazi

Nastavitev aplikacije Yii na Ubuntu 14.04

Nastavitev aplikacije Yii na Ubuntu 14.04

Yii je okvir PHP, ki vam omogoča hitrejši in preprostejši razvoj aplikacij. Namestitev Yii na Ubuntu je enostavna, saj se boste naučili natančno

Uporaba zaslona v Ubuntu 14.04

Uporaba zaslona v Ubuntu 14.04

Screen je aplikacija, ki omogoča večkratno uporabo terminalskih sej v enem oknu. To vam omogoča simulacijo več terminalskih oken, kjer je ma

Nastavite svoj DNS strežnik na Debian/Ubuntu

Nastavite svoj DNS strežnik na Debian/Ubuntu

Ta vadnica pojasnjuje, kako nastaviti strežnik DNS z uporabo Bind9 v Debianu ali Ubuntuju. V celotnem članku ustrezno nadomestite your-domain-name.com. Ob th

Uporaba Logrotate za upravljanje dnevniških datotek

Uporaba Logrotate za upravljanje dnevniških datotek

Uvod Logrotate je pripomoček za Linux, ki poenostavlja upravljanje dnevniških datotek. Običajno se izvaja enkrat na dan prek opravila cron in upravlja bazo dnevnikov

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Nastavite Red5 Media Server na Ubuntu 16.04

Nastavite Red5 Media Server na Ubuntu 16.04

Uporaba drugega sistema? Red5 je odprtokodni medijski strežnik, implementiran v Javi, ki vam omogoča zagon večuporabniških aplikacij Flash, kot je prenos v živo

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

V tem članku bomo videli, kako prevesti in namestiti Nginx mainline iz uradnih virov Nginxa z modulom PageSpeed, ki vam omogoča

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Vanilla Forum na Ubuntu 16.04

Kako namestiti Vanilla Forum na Ubuntu 16.04

Uporaba drugega sistema? Vanilla forum je odprtokodna forumska aplikacija, napisana v PHP. Je popolnoma prilagodljiv, enostaven za uporabo in podpira zunanjost

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več