Előfeltételek
A szoftver telepítése
Telepítés - Node Paris
Telepítés - Node Miami
Telepítés - Node Sydney
Következtetés
Az N2N egy nyílt forráskódú 2/3-as VPN-alkalmazás. Sok más VPN-programtól eltérően az N2N olyan számítógépeket tud csatlakoztatni, amelyek NAT-útválasztó mögött helyezkednek el. Ez óriási előnyt jelent a felhőkörnyezethez való csatlakozáshoz anélkül, hogy speciális protokollokra kellene hagyatkoznia, mint például az ESP protokoll (az ipsec által használt). Ennek a kapcsolatnak az eléréséhez az N2N egy szupercsomópontot használ, amely képes irányítani az információkat a NAT-os csomópontok között. Ez a VPN-kapcsolat használható több Vultr-példány összekapcsolására régiók között.
Előfeltételek
Ebben a példában három csomópontot fogunk használni több zónában:
A szoftver telepítése
A következő parancsok minden példányon végrehajtásra kerülnek.
Kezdje azzal, hogy telepítse a build-essentialrepóból és a libssl-dev, mivel a legújabb forráskódból fogunk építeni.
apt-get install -y build-essential libssl-dev
Ezután töltse le a forráskódot a githubról.
cd /tmp
git clone https://github.com/ntop/n2n.git
Fordítsa le az összes bináris fájlt.
cd n2n
make
make install
A make installparancs létrehozza a supernodeés a edgebinárisokat a /usr/sbinkönyvtárban. Fejezze be a fájlok törlésével.
rm -rf /tmp/n2n
Telepítés - Node Paris
Az első csomópont az úgynevezett szupercsomópontunk lesz. Ez a szupercsomópont elindítja a szupercsomópont szolgáltatást, amely az UDP porton figyel 1200. Alapértelmezés szerint az N2N alkalmazás nem hoz létre szolgáltatásfájlt. Tehát a magunkét kell biztosítanunk.
Hozza létre az 'n2n_supernode' szolgáltatásfájlt:
nano /etc/systemd/system/n2n_supernode.service
Adja hozzá a következő tartalmat:
[Unit]
Description=n2n supernode
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/sbin/supernode -l 1200
[Install]
WantedBy=multi-user.target
Az '-l' direktíva határozza meg az UDP portot 1200. Ez az a port, amelyen a szupercsomópont figyelni fog. Annak érdekében, hogy minden működjön, indítsa el a szupercsomópont szolgáltatást:
systemctl start n2n_supernode
Ellenőrizze a szupercsomópont állapotát.
systemctl status n2n_supernode
Ez a következőhöz hasonló állapotot fog mutatni.
● 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
Ezután létrehozzuk az élszolgáltatást. Ez az élszolgáltatás privát IP-címet igényel a többi Vultr zóna többi éle közötti kommunikációhoz.
A szupercsomópont-szolgáltatáshoz hasonlóan ennek is szüksége lesz egy saját szolgáltatásfájlra.
nano /etc/systemd/system/n2n_edge.service
Adja hozzá a következő tartalmat:
[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
Ebben a szolgáltatásfájlban a következő parancssori beállításokat határoztuk meg:
-l localhost:1200: Ez csatlakozik a localhosthoz az UDP porton 1200.
-c Vultr: Ez az a közösség, amelyhez az él csatlakozni fog. Ugyanazon a közösségen belül minden él ugyanazon a LAN-on jelenik meg (2. rétegű hálózati szegmens). A nem ugyanabban a közösségben lévő élek nem kommunikálnak egymással.
-a 192.168.1.1: Az interfészhez rendelt IP. Ez az N2N virtuális LAN IP-cím, amelyet igényelnek.
-k mypassword: Az egyes élekhez használt jelszó. Minden kommunikáló élnek ugyanazt a kulcsot és közösségnevet kell használnia.
-f: Letiltja a démon módot, és az élt az előtérben futja. Ez szükséges a szolgáltatásfájlhoz, ellenkező esetben systemctla szolgáltatás nem indul el.
Annak érdekében, hogy minden működjön, indítsa el a szolgáltatást.
systemctl start n2n_edge
Ezután kérdezze le a szolgáltatás állapotát.
systemctl status n2n_edge
A kimenet hasonló lesz a következőhöz.
● 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
Ha bejelöljük az 'ifconfig'-et, látni fogja, hogy az N2N virtuális IP-t igényli az edge0interfész.
ifconfig
A kimenet hasonló lesz a következőhöz.
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)
Ha ez megtörtént, engedélyezze és hozza létre a tűzfalszabályokat. Cserélje ki a node_miami_ipés node_sydney_ipszöveget a Sydney és Miami példány nyilvános IP-címére. (Ezeket a későbbiekben fogjuk használni.)
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
Az utolsó teendő ezzel a csomóponttal az, hogy mindkét szolgáltatást engedélyezni kell a rendszerindításkor.
systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service
Telepítés - Node Miami
A Miami csomópont csatlakozni fog a szupercsomóponthoz, amely jelenleg a párizsi zónában fut. Ennek eléréséhez csak egy szolgáltatásfájlt kell létrehoznunk az edgealkalmazáshoz.
Kezdje egy edge service fájl létrehozásával.
nano /etc/systemd/system/n2n_edge.service
Adja hozzá a következő tartalmat.
[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
Megjegyzés : Cserélje ki a node_paris_ipcímet a Párizsban futó példány nyilvános IP-címére
Ez csatlakozik a párizsi csomóponthoz az UDP porton 1200, csatlakozik a " Vultr" közösséghez , igényli az IP-címet, 192.168.1.2és hitelesít a következővel: " mypassword".
Ezután indítsa el a szolgáltatást.
systemctl start n2n_edge
Ellenőrizze az állapotot, hogy jelezze-e, hogy a szolgáltatás megfelelően elindult és fut.
systemctl status n2n_edge
Ezután győződjön meg arról, hogy az edge0IP-címet igényelték.
ifconfig
Meg fogja mutatni az 192.168.1.2IP-címet.
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)
A következő teendő a szolgáltatás engedélyezése rendszerindításkor.
systemctl enable n2n_edge.service
Opcionálisan engedélyezze a tűzfalat, és adja hozzá az SSH-szabályokat.
ufw allow 22/tcp
ufw enable
Mostantól képesek leszünk pingelni mindkét példányunkban futó élt.
Párizsban pingelni a Vultr példányt Miamiban
ping 192.168.1.2
Miamiban, pingelni Párizsban
ping 192.168.1.1
Telepítés - Node Sydney
Végül az utolsó kontinensünket is hozzáadjuk a keverékhez: Ausztráliát. Kezdje újra egy élszolgáltatás létrehozásával, ez az élszolgáltatás is csatlakozni fog az előzőleg konfigurált párizsi szupercsomóponthoz.
nano /etc/systemd/system/n2n_edge.service
Adja hozzá a következő tartalmat.
[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
Megjegyzés : Cserélje ki a node_paris_ipcímet a Párizsban futó példány nyilvános IP-címére.
Ez csatlakozik a párizsi csomóponthoz az UDP porton 1200, csatlakozik a " Vultr" közösséghez , igényli az IP-címet, 192.168.1.3és hitelesít a következővel: " mypassword".
systemctl start n2n_edge
Ellenőrizze az állapotot, hogy megbizonyosodjon arról, hogy a szolgáltatás elindult.
systemctl status n2n_edge
Győződjön meg arról, hogy az edge0IP-címet igényelték.
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)
Ismét engedélyezze ezt a szolgáltatást rendszerindításkor.
systemctl enable n2n_edge.service
Opcionálisan engedélyezze a tűzfalat, és adja hozzá az SSH-szabályokat.
ufw allow 22/tcp
ufw enable
Mostantól minden Vultr-példányt megpingelhetünk minden csomópontról.
ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3
Ha tesztelni szeretné az egyes csomópontélek közötti kapcsolatot, engedélyezze a tűzfalszabályokat Miami és Párizs példányain. Ez lehetővé teszi az élek közötti kommunikációt.
Miamiban adja hozzá a következő szabályokat. (Győződjön meg arról, hogy a node_paris_ipés a node_sydney_ipszöveget cserélje ki a Sydney és a Paris példány nyilvános IP-címére.)
ufw allow from node_paris_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200
Sydneyben adja hozzá a következő szabályokat.
ufw allow from node_paris_ip to any port 1200
ufw allow from node_miami_ip to any port 1200
Most leállíthatja vagy újraindíthatja a szupercsomópontot. A hálózati kapcsolatok továbbra is fennállnak. Csak az új élek szenvednek csatlakozási problémákat, amíg a szupercsomópont-szolgáltatás nem működik.
Következtetés
Sikeresen konfiguráltunk egy VPN-kapcsolatot több zóna között. Ez elég sok új lehetőséget kínál a magas rendelkezésre állású forgatókönyvekhez az újonnan konfigurált környezetünkben.