Technologie VPN wordt al geruime tijd in de zakelijke omgeving gebruikt voor externe connectiviteit, en hoewel het een zeer nuttige oplossing is, zijn er enkele problemen die in de loop van de tijd steeds meer aan het licht zijn gekomen. Het centraliseren van al het verkeer op de VPN-server vereist bijvoorbeeld te veel werk van de VPN-server om twee VPN-clients met elkaar te laten communiceren, wat na verloop van tijd de bottleneck van de server kan worden en de prestaties van de VPN in het algemeen kan beperken.
Om dit te corrigeren is dat er een zeer interessante variant naar voren is gekomen en die van is Peer-to-peer VPN of P2P VPN, een model dat is gebaseerd op P2P-technologie om te verbeteren wat wordt aangeboden door traditionele VPN's door decentraliseer al het verkeer dat er doorheen gaat, die niet langer wordt beheerd door een enkele server, maar wordt gedistribueerd via alle clients die er verbinding mee maken. Zodat, elk knooppunt dat onderdeel wordt van een VPN kan optreden als client en server, om verkeer van en naar andere clients te helpen distribueren.
In de Linux-wereld hebben we, zoals je zou verwachten, verschillende P2P VPN-opties, en een daarvan is n2n Het is een gratis alternatief dat beschikbaar is onder de GPLv3-licentie, waardoor we dat kunnen bouw een versleuteld peer-to-peer VPN-netwerk en 'NAT-vriendelijk'Met andere woorden, als twee gebruikers die deel uitmaken van dit netwerk zijn verbonden vanaf verschillende routers, kan de communicatie probleemloos via de VPN worden uitgevoerd.
Laten we dan eens kijken, hoe n2n op Ubuntu te installeren:
$ sudo apt-get install subversion build-essentiële libssl-dev
$svn co https://svn.ntop.org/svn/ntop/trunk/n2n
$ cd n2n / n2n_v2
$ Make
$ sudo maak installatie
Nu configureren we het P2P-netwerk met n2n, en hiervoor moeten we eerst onderscheid maken tussen superknooppunten en standaardknooppunten: een superknooppunt is een knooppunt dat een openbaar IP-adres biedt, dat wil zeggen, het zal worden vastgesteld en bekend bij degenen die het netwerk configureren, terwijl een standaardknooppunt iedereen is die dat er dynamisch mee verbonden is.
Elke P2P VPN heeft minimaal één superknooppunt nodig, dat is 10.0.0.1 voor het voorbeeld dat we hier gaan laten zien, en op die computer gaan we het volgende uitvoeren om aan te geven op welke poort deze P2P VPN gaat werken :
$supernode -l 5000
Vervolgens gaan we vanaf elk standaardknooppunt als volgt verbinding maken met het netwerk (we geven 2 voorbeelden, voor 2 verschillende knooppunten):
$ sudo edge -d edge0 -a 10.0.0.10 -c miredvpn -u 1000 -g 1000 -k wachtwoord -l 10.0.0.1:5000 -m ae: e0: 4f: e5: 40: 5a
$ sudo edge -d edge0 -a 10.0.0.11 -c miredvpn -u 1000 -g 1000 -k wachtwoord -l 10.0.0.1:5000 -m ae: e0: 4f: e5: 40: 5b
Enkele aspecten waarmee u rekening moet houden, zijn de volgende:
We stellen het wachtwoord bij het configureren van de VPN in, in dit geval achter de parameter -k (voor ons voorbeeld hebben we het woord 'wachtwoord' gebruikt, wat we zeker niet aanbevelen voor praktisch gebruik).
Met de parameter -d kunnen we de virtuele interface specificeren die verbinding maakt met elke VPN, en het interessante is dat we er zoveel kunnen configureren als we willen, één voor elk netwerk, zodat dezelfde computer deel kan uitmaken van een oneindig aantal VPN Peernetwerken -to-peer.
Met de parameter -u kunnen we de gebruiker en groep specificeren.
Met de parameter -m kunnen we het MAC-adres specificeren dat we aan elke virtuele interface gaan toewijzen, iets wat ten zeerste wordt aanbevolen om 'met de hand' te doen in plaats van het netwerk het dynamisch en willekeurig te laten toewijzen, aangezien we op deze manier dat verkeer naar en van een bepaald knooppunt wordt vertraagd terwijl de netwerkinformatietabellen worden bijgewerkt.
Met de parameter -l kunnen we het IP-adres en de poort specificeren van het superknooppunt waarmee we verbinding gaan maken.
Nu gaan we het netwerk testen en als volgt een ping van de ene computer naar de andere sturen:
ping 10.0.0.10
ping 10.0.0.11
Als alles goed gaat, zouden we de pakketten moeten zien die van de ene computer naar de andere worden gestuurd, wat betekent dat we de Peer-to-peer VPN perfect hebben geconfigureerd.
Hallo een vraag, is het mogelijk om via smartphones verbinding te maken met dit type VPN?
bedankt
Ik zou geïnteresseerd zijn in het antwoord op de vraag van collega Delgado, aangezien ik een mobiele telefoon en een tablet gebruik met Android.
groeten
José en Alejandro, er is een client voor Android:
https://play.google.com/store/apps/details?id=org.zhoubug.n2n_gui&hl=es_419
Precies daar in de Play Store beschrijven ze de stappen die moeten worden gevolgd om het te configureren.
Groeten!
Heel erg bedankt Willy, we zullen het testen. Bedankt voor al je bijdragen. Groeten
Overigens gebruik ik Mint met Cinammon en ik stel me voor dat de installatie en configuratie hetzelfde zullen zijn als in Ubuntu ...
Ik gebruik Debian met Cinnamon op mijn computer en ik kon het zonder problemen installeren, daarna probeerde ik het op een Ubuntu-image in VMWare en het werkte ook perfect, dus ik denk niet dat je tegenslagen zult hebben.
Hopelijk helpt de Android-client je, en als het goed voor je werkt, zou het interessant zijn als je hier een opmerking achterlaat zodat deze als referentie voor anderen kan dienen.
Groeten!
Ik citeer: $ sudo edge -d edge0 -a 10.0.0.10 -c miredvpn -u 1000 -g 1000 -k wachtwoord -l 10.0.0.1:5000 -m ae: e0: 4f: e5: 40: 5a
wat betekent dat de parameter -c miredvpn en -a 10.0.0.10, zoals voor -d edge0, edge0 de virtuele interface is die verbinding maakt met de vpn; Kan het worden gewijzigd of moet het dit met geweld zijn?, En zoals voor -u 1000 en -g 1000 zijn beide respectievelijk gebruiker en groep? ;;; kunnen ze worden gewijzigd ??
En hoe weet ik dat het ip-adres van het superknooppunt 10.0.0.1 is als je in de opdracht die je invoert om de ip aan de supernode toe te wijzen (supernode -l 5000) alleen de poort specificeert ...
En wat is de parameter die aangeeft tot welk VPN-netwerk ik behoor?
sorry voor dit alles, maar ik denk dat ik deze twijfels had, bij voorbaat dank