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.

Pusti komentar

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.

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.

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.

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č