Hur du konfigurerar WireGuard VPN-server i pfSense

WireGuard VPN-server i pfSense

WireGuard VPN är ett nytt robust och mycket snabbt protokoll för att skapa virtuella privata nätverk, i den här artikeln har vi sett hur den kan fördubbla och till och med tredubbla OpenVPN eller IPsec i hastighet. Detta nya VPN-protokoll är perfekt för fjärråtkomstkonfigurationer med mobila klienter, oavsett om det är smartphones, surfplattor eller bärbara datorer, eftersom det förbrukar mycket få resurser och anslutningen är riktigt snabb. Operativsystemet pfSense i version 2.5.0 har officiellt införlivat denna nya VPN, tillsammans med IPsec, L2TP och OpenVPN. Idag ska vi visa dig hur du konfigurerar WireGuard VPN från grunden i pfSense 2.5.0 för att fjärransluta.

WireGuard VPN-funktioner

WireGuardVPN är en mycket lätt mjukvara som gör att vi snabbt och enkelt kan konfigurera en VPN-tunnel, som standard använder den den mest moderna kryptografi, utan att behöva välja olika asymmetriska, asymmetriska eller hash-krypteringsalgoritmer, som standard har vi en säker svit som standard, till skillnad från andra VPN-protokoll. WireGuards mål är att bli bästa VPN för både hem- och företagsanvändare, och det är framgångsrikt eftersom det redan har integrerats i Linux Kärna för att ge oss bästa möjliga prestanda.

När det gäller kryptografi som används har vi ChaCha20 för symmetrisk kryptering, autentiserad med Poly1305 , så vi har AEAD. Det använder också Curve25519 för ECDH, BLAKE2 för hasning, SipHash24 för hashtabla nycklar och HKDF för nyckelhantering. Som du har sett har vi de mest moderna kryptografiska algoritmerna som används som standard, och vi kan inte ändra det för andra just nu, de måste vara dessa ja eller ja.

Med denna nya VPN behöver vi inte hantera anslutningarna eller göra svåra konfigurationer, den fungerar bara i tunnelläge eftersom den är en L3 VPN och använder UDP-protokollet som ett transportlager och tillåter inte att välja TCP, vad vi kan göra är att ändra lyssningsporten för vem vi vill. Naturligtvis kan WireGuard-servern stå bakom NAT utan problem, bara en portvidarebefordran måste göras. Andra intressanta funktioner är att det gör att roaming mellan nätverk snabbt och enkelt kan alltid anslutas från valfri WiFi eller 4G / LTE-nätverk utan att anslutningen avbryts. Dessutom kan vi också aktivera Kill-Switch för att förhindra dataläckage om VPN går ner.

Slutligen är denna nya VPN kompatibel med flera operativsystem som Windows, Linux, MacOS, FreeBSD, Android, och även iOS . Nu har utvecklingsgruppen pfSense 2.5.0 införlivat WireGuard i sitt system som standard, även om vi tidigare också kunde installera det, men vi hade inte officiellt stöd.

WireGuard VPN-serverkonfiguration

Innan släppet av pfSense 2.5.0, om vi ville ha WireGuard på detta komplett brandvägg, vi var tvungna att installera det manuellt på systemet genom att ladda ner några FreeBSD-kompatibla paket. Tack vare utvecklingsgruppen för pfSense är den redan från version 2.5.0 integrerad i det grafiska användargränssnittet som standard.

Det första vi måste göra är att gå till ” VPN / WireGuard ”Avsnitt för att ange konfigurationen för detta nya VPN-protokoll. Så snart vi går in i menyn klickar vi på «Lägg till tunnel».

I tunnelkonfigurationen måste vi aktivera tunneln, ge den en beskrivning och ange följande:

  • Adress: IPv4- eller IPv6-adress för VPN-servern för tunnelgränssnittet.
  • Port: som standard är det 51820 UDP, men vi kan byta till vilken UDP-port som helst.

pfSense innehåller en offentlig / privat nyckelgenerator för VPN-servern med WireGuard, vår rekommendation är att du genererar några nycklar för VPN-klienten, och att vi klickar igen på "Generera" så att de andra som genereras är de för VPN server. Till exempel är följande nycklar de som vi kommer att använda senare i VPN-klienten. Du kan hjälpa dig själv med ett anteckningsblock eller Notepad ++ för att spela in konfigurationen.

För att underlätta konfigurationen av WireGuard med offentliga och privata nycklar kan du också använda wireguardconfig-verktyg som gör det möjligt för oss att automatiskt generera både servern och klienterna, för att senare anpassa den till pfSense.

Och de andra som genereras är de för själva VPN-servern med WireGuard.

När vi väl har nycklarna måste vi klicka på "Spara" och vi har skapat VPN-servern med den tidigare konfigurationen:

När vi väl har det, måste vi nu registrera ”kamraterna”, det vill säga VPN-klienterna. Vi går tillbaka till WireGuard-serverkonfigurationen och klickar på “Lägg till peer” som är grönt. Här måste vi fylla i några inställningar, men det är inte nödvändigt att fylla dem alla.

Nu ska vi förklara vad var och en av alternativen är för:

  • Beskrivning: vi lägger en beskrivning till den här klienten, till exempel vårt namn.
  • Slutpunkt: vi lägger VPN-klientens offentliga IP-adress.
  • Slutpunktsport: vi placerar VPN-klientens port.

Om du ska konfigurera en VPN-klient där klientens offentliga IP och port ändras, då vi måste lämna alternativen "Endpoint" och "Endpoint Port" tomma . Dessa alternativ måste fyllas i om vi ska konfigurera en webbplats-till-plats-VPN, men vid fjärråtkomst (Roadwarrior) är det inte nödvändigt att fylla i dem.

  • Håll dig vid liv: ett värde i sekunder, varje gång verifierar det att tunneln fortfarande är uppe, som standard är den inaktiverad.

Nu kommer de viktigaste inställningarna:

  • Offentlig nyckel: vi måste sätta VPN-klientens offentliga nyckel, tidigare har du sett hur den genereras för klienten, för här lägger vi den offentliga nyckeln.
  • Tillåtna IP-adresser: om vi vill att det ska finnas omdirigering på internet och tillgång till alla nätverk, lägger vi 0.0.0.0/0. Det mest normala är att VPN-klienter med fjärråtkomst går till Internet via själva VPN, men här kan vi konfigurera specifik åtkomst till olika nätverk.
  • Peer WireGuard-adress: IP-adressen till den registrerade kollegan.
  • Fördelad nyckel: valfritt, du kan lägga till en fördelad nyckel för att ytterligare förbättra säkerheten.

I vårt fall har vi inte lagt in en fördelad nyckel, men om du lägger den, både i pfSense och i VPN-klienten, måste den vara exakt densamma, och vi måste skapa den här nyckeln med den blå knappen som kommer i pfSense. Vi kan inte sätta den fördelade nyckeln "12345678" till exempel, vi måste använda pfSense-generatorn.

När vi väl har konfigurerat WireGuard VPN-servern korrekt i pfSense 2.5.0, kommer vi att konfigurera brandväggsdelen, eftersom den som standard alltid är i block-läge.

Brandväggskonfiguration på WAN och WireGuard

Innan vi ansluter den första VPN-klienten måste vi gå till ”Firewall / Rules” och lägga till en ny regel på Internet WAN-gränssnittet. Vi lägger till en ny regel med följande information:

  • Åtgärd: Pass
  • Gränssnitt: WAN
  • Adressfamilj: IPv4, IPv6 eller båda
  • Protokoll: UDP
  • Källa: någon (om du ska skapa en plats-till-plats med WireGuard, kan du lägga källans offentliga IP här för att förbättra säkerheten).
  • Destination: WAN-adress på port 51820

När vi väl har konfigurerat klickar vi på «Spara» för att spara denna regel och tillämpar ändringar, som alltid när vi lägger till en ny regel i brandväggen.

När detta är gjort måste vi nu gå till «WireGuard» -gränssnitt som har skapats automatiskt i « Brandvägg / regler «Avsnitt, här måste vi tillåta all kommunikation när den har anslutits, eller bara vad vi vill, precis som OpenVPN eller IPsec.

I följande konfiguration kan du se att vi har en regel med följande konfiguration:

  • Åtgärd: Pass
  • Gränssnitt: WireGuard
  • Adressfamilj: IPv4, IPv6 eller båda
  • Protokoll: Alla
  • Källa: någon
  • Destination: någon

Vi klickar på ”Spara” och tillämpar ändringar som vanligt. Vid denna tidpunkt är vi redo att konfigurera VPN-klienterna med WireGuard.

Konfigurera WireGuard VPN-klienter och anslut till pfSense

Konfigurationen av VPN-klienterna med WireGuard är densamma på alla plattformar, vi behöver exakt samma information. I vårt fall har vi använt en Android-smartphone, du kan ladda ner den officiella WireGuard-appen för Android och iOS nedan:

Men vi har det också för andra operativsystem som Windows, direkt från den officiella webbplatsen för detta VPN-protokoll. När vi har installerat det kommer vi att kunna konfigurera klienten enkelt.

Som vi har sagt tidigare är vår rekommendation att när du genererar nycklarna i pfSense, kopierar du dessa nycklar till ett anteckningsblock, både den offentliga och den privata nyckeln. Dessutom måste du också kopiera serverns offentliga nyckel. När detta är klart öppnar vi WireGuard och fortsätter att lägga till en ny VPN-tunnel, vi har tre alternativ:

  • Importera all konfiguration från filen, om du ska konfigurera flera klienter som Windows, Linux etc, är det normalt att ha en mall med olika konfigurationer.
  • Skanna från QR-kod: om vi använder WireGuardConfig-verktyget kan vi göra det enkelt.
  • Skapa från grunden: detta är det alternativ vi har valt.

När vi lägger till en ny VPN måste vi fylla i all eller nästan all information som den frågar oss, det är VPN-klienten:

  • Namn: vi lägger en beskrivning till VPN-tunneln, ett beskrivande namn om vi har flera.
  • Privat nyckel: vi lägger den privata nyckeln som vi tidigare har kopierat från anteckningsblocket.
  • Offentlig nyckel: när du anger den privata nyckeln genereras den automatiskt
  • Adresser: klientens IPv4 eller IPv6, i det här fallet har vi tidigare konfigurerat 10.9.0.2/32, vi sätter detta.
  • Hamn: vi lämnar det tomt
  • DNS-servrar: vi kan sätta en specifik DNS-server, eller direkt som löser tunneln.
  • MTU: vi lämnar det tomt.

Nu klickar vi på lägg till par, och fler konfigurationer kommer att visas, dessa konfigurationer är de för VPN-servern.

  • Peers - Den offentliga nyckeln till VPN-servern.
  • Fördelad nyckel: om vi inte har konfigurerat lämnar vi den tom, om vi har konfigurerat kopierar vi den exakt samma.
  • Ihållande underhåll: håll vid liv, det rekommenderas att lämna det tomt.
  • Slutpunkt: vi måste sätta syntaxen "IP: port", därför kan vi lägga: "vpn.redeszone.net:51820".
  • Tillåtna IP: er: om vi vill lägga dem alla sätter vi 0.0.0.0/0. Vi har också en knapp för att utesluta privata IP-adresser.

När vi har gjort det klickar vi på spara så kan vi se alla inställningar som gjorts.

När vi väl har lagt till och verifierat att allt är korrekt fortsätter vi att ansluta och vi ser att det finns trafikutbyte och att VPN fungerar perfekt.

Om vi ​​inte har fått paket betyder det att det är något fel och WireGuard VPN-tunneln har inte upprättats korrekt. Om detta händer dig måste du granska alla konfigurationer som gjorts och granska pfSense-loggarna för att se vad som händer.

Vi hoppas att du med den här guiden har kunnat konfigurera WireGuard VPN-servern i din magnifika pfSense 2.5.0