Hur man skapar ett lättvikts P2P-mesh VPN med Tinc

Tinc är en öppen källkods VPN-adapter som skapar ett flexibelt peer-to-peer meshnätverk. Lär dig installera och konfigurera Tinc för Linux, Windows och macOS.
Tinc är en öppen källkods Virtual Private Network (VPN) adapter som erbjuder ett enkelt sätt att skapa ett privat peer-to-peer (P2P) meshnätverk i Linux, Windows och macOS. Likt OpenVPN och Wireguard kan den koppla samman flera datorer över olika nätverkstopologier till ett enda virtuellt LAN. Här visar vi dig fördelarna med att använda Tinc och hur du installerar och skapar ett enkelt Tinc-baserat meshnätverk.
Varför använda Tinc istället för Wireguard och OpenVPN?
En unik försäljningspunkt för Tinc jämfört med andra VPN-daemoner är att den är designad för att vara ett meshnätverk. Detta innebär att den, till skillnad från Wireguard, enkelt kan anpassa sig till förändringar i nätverksförhållanden. Detta gör den mer motståndskraftig, särskilt för datorer med dålig nätverksuppkoppling.
Förutom det så har Tinc de flesta av de funktioner som du skulle förvänta dig av en traditionell VPN som OpenVPN. Detta inkluderar förmågan att traversera NAT-miljöer, skapa krypterade tunnlar och koppla samman endast LAN-applikationer.
Slutligen strävar Tinc också efter att göra varje anslutning du gör inom nätverket P2P. Detta kan ske genom automatisk peer-upptäckte eller samordning med en offentligt tillgänglig Tinc-server. Som ett resultat är anslutningar inom en Tinc VPN inte bara motståndskraftiga utan också snabba och responsiva.
Bra att veta: fortfarande osäker på vilken VPN du ska välja? Kolla in vår artikel där vi jämför hur Wireguard och OpenVPN står emot varandra.
Installera Tinc på Linux
Det första steget för att installera Tinc är att säkerställa att ditt system är uppdaterat. I Ubuntu, kör följande kommando:
sudo apt update && sudo apt upgrade -y
Ladda ner och installera Tinc direkt från Ubuntus paketförråd:
sudo apt install tinc
För att installera Tinc på andra Linux-distributioner, använd den lämpliga paketförvaltaren för det systemet. Till exempel, jag måste köra sudo dnf install tinc
för att hämta programmet i Fedora.
Bekräfta att du har installerat Tinc korrekt genom att öppna en terminalsession och köra tincd --version
.
Skapa ett grundläggande meshnätverk med Tinc
Med Tinc på din maskin kan du nu konfigurera ditt första Tinc-baserade nätverk. Skapa en ny mapp inuti "/etc/tinc." Detta kommer att innehålla alla filer relaterade till din Tinc-nod:
sudo mkdir -p /etc/tinc/mynetwork/hosts
Skapa en ny konfigurationsfil med din favorit textredigerare:
sudo nano /etc/tinc/mynetwork/tinc.conf
Klistra in följande kodblock i din nya konfigurationsfil:
Name = mynode Device = /dev/net/tun
Notera: vissa Linux-distributioner kan ändra platsen för tun-adaptern inom "/dev." För att hitta den exakta sökvägen för ditt system, kör:
find /dev -name *tun* -type c
Skapa en textfil under "hosts"-mappen med namnet på din Tinc-nod och klistra in följande inuti den:
Subnet = 192.168.11.1/32 Address = DITT-MASKIN-IP-ADRESS-HÄR Port = 655
Ersätt värdet på "Address"-variabeln med IP-adressen för din maskin. Du kan hitta detta genom att köra ip addr
.
Notera: du måste ange din maskins offentliga IP-adress om du vill skapa en offentligt tillgänglig VPN.
Spara din maskins värdfil, och skapa sedan två filer under "/etc/tinc/mynetwork:"
sudo touch /etc/tinc/mynetwork/tinc-{up,down} sudo chmod +x /etc/tinc/mynetwork/tinc-(up,down}
Öppna "tinc-up"-filen och klistra in följande Bash-kod i den. Detta skapar det virtuella nätverksgränssnittet för Tinc och tilldelar IP-adressen till det gränssnittet:
#!/bin/sh ip link set $INTERFACE up ip addr add 192.168.11.1/32 dev $INTERFACE ip route add 192.168.11.0/24 dev $INTERFACE
Spara filen, öppna sedan "tinc-down"-filen och klistra in följande också. Detta gör det omvända av "tinc-up:" det tar bort IP-adressen från ditt Tinc-gränssnitt och tar bort det gränssnittet från din maskin:
#!/bin/sh ip route del 192.168.11.0/24 dev $INTERFACE ip addr del 192.168.11.1/32 dev $INTERFACE ip link set $INTERFACE down
Generera ett nyckelpar för din Tinc-nod genom att köra tincd:
sudo tincd -n mynetwork --generate-keys=4096
Tryck Enter två gånger för att acceptera den förvalda lagringsplatsen för både privata och offentliga nycklar på din Tinc-nod.
Lägg till första Tinc-klienten
För att lägga till en ny Tinc-klient,.
Börja med att se till att du har installerat Tinc korrekt på din andra maskin.
Skapa mappstrukturen för din Tinc-konfiguration med mkdir -p
.
Använd din favorittextredigerare för att skapa konfigurationsfilen för din Tinc-klient:
sudo nano /etc/tinc/mynetwork/tinc.conf
Klistra in följande kodrader i din andra maskins konfigurationsfil:
Namn = myclient Enhet = /dev/net/tun AnslutTill = mynode
Skapa en fil med namnet på din Tinc-maskin under “/etc/tinc/mynetwork/hosts.” I detta fall har jag kallat min andra maskin “myclient,” så jag kommer att skapa en fil med namnet “myclient:”
sudo nano /etc/tinc/mynetwork/hosts/myclient
Klistra in följande kodblock i din nya värdfil. Liksom för din första nod bestämmer detta nätverkskonfigurationen för din Tinc-daemon:
Subnet = 192.168.11.2/32 Port = 655
Spara din nya värdfil och skapa sedan ett “tinc-up” och “tinc-down” skript på din andra maskin:
sudo touch /etc/tinc/mynetwork/tinc-{up,down} sudo chmod +x /etc/tinc/mynetwork/tinc-{up,down}
Öppna tinc-up-filen med din favorittextredigerare och klistra in följande kodblock i den:
#!/bin/sh ip link set $INTERFACE up ip addr add 192.168.11.2/32 dev $INTERFACE ip route add 192.168.11.0/24 dev $INTERFACE
Spara din tinc-up-fil och öppna sedan tinc-down och klistra in följande kodrader i den också:
#!/bin/sh ip route del 192.168.11.0/24 dev $INTERFACE ip addr del 192.168.11.2/32 dev $INTERFACE ip link set $INTERFACE down
Slutför din Tinc-klientkonfiguration genom att generera dess nyckelpar:
sudo tincd -n mynetwork --generate-keys=4096
Körning av Tinc Mesh-nätverket
Vid det här laget har du nu två korrekt konfigurerade Tinc-daemoner. Men du behöver fortfarande koppla ihop dessa två Tinc-daemoner för att skapa din P2P VPN i Linux. För det måste du kopiera värdarnas konfigurationsfil från din Tinc-nod till din klient och vice versa.
Börja med att öppna din nods terminalsession och navigera till dess “/etc/tinc/mynetwork/hosts”-mapp:
cd /etc/tinc/mynetwork/hosts
Kopiera konfigurationsfilen i denna mapp och överför den till din klient. I mitt fall kommer jag att använda scp för att skicka denna fil via ssh:
scp ./mynode YOUR-CLIENT-IP-ADDRESS:~
Notera: Även om jag har använt scp i detta exempel kan du också manuellt överföra dem med hjälp av flash-enheter.
Gå till din klientmaskin och kopiera värdfilen som du just överförde till klientens “/etc/tinc/mynetwork/hosts”-mapp:
sudo cp -v ~/mynode /etc/tinc/mynetwork/hosts/
Därefter kör scp på klientmaskinens sida för att överföra dess värdfil tillbaka till din nod:
scp /etc/tinc/mynetwork/hosts/myclient YOUR-NODE-IP-ADDRESS:~
Kopiera din klients värdfil till din noder värdmapp:
sudo cp ~/myclient /etc/tinc/mynetwork/hosts/
En sidkommentar: Orolig för din personliga integritet på internet? Lär dig hur du kan förbättra integriteten och säkerheten på din Linux-PC.
Starta Tinc Mesh-nätverket
Starta ditt helt konfigurerade Tinc-nätverk genom att köra följande kommando på var och en av dina värdar:
sudo tincd -n mynetwork
Bekräfta att du kan kommunicera med dina noder genom Tinc-gränssnittet genom att göra en enkel ping:
ping -c 5 192.168.11.2
Slutligen, aktivera Tinc-tjänsten för att säkerställa att din VPN fungerar vid systemstart:
sudo systemctl enable --now tinc@mynetwork.service
Att lära sig hur man skapar sin egen P2P mesh VPN i Linux med Tinc är bara det första steget i att utforska denna underbara värld av datornätverk. Dyk djupare i detaljerna kring denna teknik genom att kolla in vår omfattande översikt över VPN-er.
Nyt kun olet lukenut Hur man skapar ett lättvikts P2P-mesh VPN med Tinc loppuun, kutsumme sinut tutustumaan lisää Linux-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!
Vastaa