International Support > Swedish

Guide till en OpenVPN klient mot ovpn.se under pfSense 2.1.5

(1/9) > >>

nialc:
Här är en guide till hur jag fick OpenVPN via ovpn.se att fungera med pfSense.
(Uppdaterat 2015-12-17, med rättelser & förenklingar efter förslag i tråden)

Mycket av denna information kommer från andra guider som jag använt mig av för att få till en fungerande konfiguration av ovpn.se i pfSense.
Jag har sammanställt, översatt och kompletterat med det som behövts för att få denna konfiguration att fungera tillfredsställande.
Tanken med detta var även för min egen skull, så att jag skulle ha en "dummie" att falla tillbaka på ifall jag behöver göra om processen nån gång när minnet börjat svikta.  ::)

Hittar ni felaktigheter eller har tips på förbättringar så mottages dessa tacksamt.



Jag utgår från att:

Det finns en fungerande grundinstallation av pfSense (i mitt fall version 2.1.5)
En WAN anslutning till din ISP
En LAN (Local Area Network) anslutning.
Ett konto hos ovpn.se.


Först av allt bör du ladda ner konfigurationsfilerna från ovpn.se.
Dessa kommer inte i sig att behöva importeras i pfSense, men med en textredigerare kan du öppna dem för att få fram de uppgifter som används i guiden.


Börja därefter med att logga in i pfSenses webbgränssnitt genom att ange dess IP (normalt sett 192.168.0.1) i din webbläsare.
Därefter kan vi köra igång med inställningarna.


1. Byt DNS-servrar (OBS! Uppdaterade servrar men gammal exempelbild)

1. Navigera till menyn: "System" > "General Setup"
2. Skriv följande i första rutan under DNS Servers: 46.227.67.134
3. Skriv följande i andra rutan under DNS Servers: 46.227.67.135
4. Ändra sedan Use Gateway i drop-down-listen till höger om varje server till OVPNOPENVPN_VPNV4


(I mitt exempel ovan heter gateway OVPNOPENVPN_VPNV4 OPT6, medan det sannolikt heter OPT1 i normala fall)

5. Klicka på "Save"



2. Skapa CA Certifikat

1. Navigera till menyn: "System" > "Cert Manager"
2. Se till att du står under "CAs" fliken.
3. Klicka på plus "+" symbolen för "Add or Import CA".
4. Konfigurera som följande:

Descriptive name = OVPN
Method = Import an existing Certificate Authority
Certificate data = (klistra in texten från den ovpn-ca.crt fil du laddade hem tidigare)
—–BEGIN CERTIFICATE—–
.
.
.
—–END CERTIFICATE—–
Certificate Private Key = (lämna tomt)
Serial for next certificate = (lämna tomt)

5. Klicka på "Save"




Så här bör det se ut när certifikatet är skapat:




3. Skapa fil med inloggningsuppgifter

1. Navigera till menyn: "Diagnostics" > "Edit file"
2. Skriv följande i rutan "Save / Load from path": /conf/openvpn-auth.conf
3. I textrutan under skriver du ditt användarnamn & lösenord hos ovpn.se, på en varsin rad.
4. Klicka på "Save"





4. Skapa fil med nyckel för TLS Autentisering

1. För att inte röra till det, navigera återigen till menyn: "Diagnostics" > "Edit file"
2. Skriv följande i rutan "Save /Load from path": /conf/ovpn-tls.key
3. I textrutan under, klistra in texten från den ovpn-tls.key fil du laddade hem tidigare.
-----BEGIN OpenVPN Static key V1-----
.
.
.
-----END OpenVPN Static key V1-----

4. Klicka på "Save"





5. Skapa OpenVPN Klient

1. Navigera till menyn: "VPN: > "OpenVPN"
2. Välj fliken "Client"
3. Klicka på plus "+" symbolen för "Add client".
4. Konfigurera som följande:

Disabled = Ska EJ klickas för
Server Mode = Peer To Peer (SSL/TLS)
Protocol = UDP
Device Mode = tun
Interface = WAN
Local Port  = (Lämna tomt)
Server host or address = pool.prd.se.ovpn.se
Server Port = 1194
Proxy host or address = (Lämna tomt)
Proxy port = (Lämna tomt)
Proxy authentication extra options = none
Server host name resolution = Klicka för, "Infinitely resolve server"
Description = OVPN OpenVPN (Valfritt enligt din smak)
TLS Authentication = Ska EJ klickas för, "Enable authentication of TLS packets"
Peer Certificate Authority = OVPN
Client Certificate = webConfigurator default *In use
Encryption algorithm = AES-256-CBC (256-bit)
Hardware Crypto = No Hardware Crypto Acceleration
IPv4 Tunnel Network = (Lämna tomt)
IPv6 Tunnel Network = (Lämna tomt)
IPv4 Remote Network/s = (Lämna tomt)
IPv6 Remote Network/s = (Lämna tomt)
Limit outgoing bandwidth = (Lämna tomt)
Compression = Klicka för, "Compress tunnel packets using the LZO algorithm"
Type-of-Service = Ska EJ klickas för

Advanced = (Fyll i följande i textrutan, med ett semi-kolon som separerar varje rad)
auth-user-pass /conf/openvpn-auth.conf;
tls-auth /conf/ovpn-tls.key 1;
remote-cert-tls server;
remote vpn02.prd.kista.ovpn.se 1195; (Bortredigerat efter diskussion i tråden nedan =)
remote-random;
reneg-sec 432000;
persist-key;
persist-tun;
pull;
verb 3;
route-nopull; (Detta är ett extra alternativ, som standard behöver du EJ skriva dit det, men det är valfritt och jag förklarar mer under avsnitt 8-9).

5. Klicka på "Save"





6. Skapa OpenVPN Interface

1. Navigera till menyn: "Interfaces" > "assign"
2. Se till att du står på fliken "Interfaces assignment"
3. Klicka på plus "+" symbolen för "Add interface"
4. Det kommer skapa ett nytt interface med namnet OPT1 och nätverks port ovpnc1(Den beskrivning du gav din OpenVPN Klient)
5. Klicka på OPT1 för att redigera ditt nya interface
6. Konfigurera enligt följande:

Enabled = Klicka för
Description = OVPN
IPv4 Configuration Type = none
IPv6 Configuration Type = none
MAC address = (Lämna tomt)
MTU = (Lämna tomt)
MSS = (Lämna tomt)
Block private networks = Ska EJ klickas för
Block bogon networks = Ska EJ klickas för

7. Klicka på "Save"
8. På nästa sida klicka på "Apply changes"





7. Konfigurera "NAT Rules"

1. Navigera till menyn: "Firewall" > "NAT"
2. Välj fliken "Outbound"
3. Om du inte sedan tidigare haft det valt, klicka då för "Manual Outbound NAT rule generation (AON – Advanced Outbound NAT)"
4. Klicka på "Save"
5. Det skall då automatiskt skapas regler för dig (med uppgifter som matchar ditt LAN)



6. Nästa steg blir att duplicera alla dessa regler, men ändra interface från WAN till OVPN.
7. Börja med att klicka på plus "+" symbolen direkt till höger om den första regeln, för “add a new NAT based on this one”
8. Konfigurera enligt följande:

Do not NAT = Ska EJ klickas för
Interface = OVPN
Protocol = (ändra inte)
Source = (ändra inte)
Destination = (ändra inte)
Translation = (ändra inte)
No XMLRPC Sync = (ändra inte)
Description = Auto created rule for ISAKMP – LAN to OVPN

9. Klicka på "Save"



10. Upprepa för även de övriga två reglerna.
11. Slutligen klicka på "Apply changes"





8. Verifiera din OpenVPN anslutning

Vid det här laget är din OpenVPN klient färdigkonfigurerad och det enda du vanligtvis behöver göra är att starta om din OpenVPN tjänst.

Detta gör du genom att navigera till menyn: "Status" > "OpenVPN", under "Client Instance Statistics" bör du finna din tjänst med status UP.
Oavsett status rekommenderar jag ändå att starta om tjänsten via knappen direkt till höger "restart openvpn service"


För att verifiera att tjänsten anslutit korrekt kan du kika på OpenVPN loggarna genom att navigera till menyn: "Status" > "System Logs" och välja fliken OpenVPN.
Om allt gått väl, bör där finnas en rad med: " openvpn[35593]: Initialization Sequence Completed "

Kort och gott så bör du nu kunna surfa till valfri "what is my ip" sida i din webbläsare och bekräfta att din IP adress numera är den du tilldelats från OVPN.se



9. Övrigt, route-nopull & policy routing

I den standardkonfigurering vi gjorde ovan så är din OpenVPN-klient konfigurerad att ta emot sk. pushed routes från den OpenVPN-server vi ansluter till.
Detta innebär att tjänsten lägger till ett antal routes till pfSense's routing tables, vilka effektivt "tar över" och skickar ALL din trafik via din OpenVPN tjänst.
Men det har också den lilla nackdelen att om din openvpn-klient går ner så routas vanligtvis återigen all trafik ut via din ISPs oskyddade nät.

Route-nopull
Om du som jag istället önskar att själv kunna styra vilken trafik du vill skall gå via din openvpn-klient, så lägger du till denna sträng (route-nopull;) i Advanced-fältet i din OpenVPN-klient-konfiguration.
På så vis förhindrar du att dessa routes pushas, men som konsekvens av detta måste du då själv styra upp hur trafiken skall tillåtas via Firewall Rules, sk. "policy routing".


Policy routing
Som standard har du 3st Rules (regler) för ditt LAN, navigera till menyn: "Firewall" > "Rules" och klicka på fliken "LAN" för att se dessa.
Det bör vara en "Anti-Lockout Rule" överst och två stycken "Default allow LAN to any Rule", en vardera för IPv4 & IPv6.




Dessa regler styr hur din trafik routas i en normal pfSense konfiguration, men det är även här du manuellt kan ställa in hur din trafik skall styras när du lagt till "route-nopull" i din konfiguration.

Det du bör tänka på är att pfSense processar dessa regler enligt en första-träff basis och att den regel som ligger överst är den som i första hand exekveras.
(Som standard blockeras dessutom all trafik som inte passar in på någon regel).

Om du vill styra så att ALL din trafik går via din openvpn-klient OCH att all utgående trafik upphör ifall anslutningen kopplas ifrån, så gör du följande:

1. Klicka på Edit "e" knappen till höger om din "default allow LAN to any" IPv4 Rule.
2. I fönstret som öppnas skrolla hela vägen ner till "Advanced features".
3. Klicka på Advanced knappen till höger om Gateway
4. Ändra från Default till OVPNOPENVPN_VPNV4
5. Skrolla tillbaka till Description och ändra från LAN till OVPN för att lättare hålla ordning på reglerna.
6. Klicka på "Save"
7. Klicka på "Apply changes" högst upp i nästa fönster.



Du ska nu ha ändrat din standardregel så att all trafik istället går ut via din openvpn-klient.
Eftersom du i och med detta också ersatte din "default allow LAN to any" regel så ska trafiken nu inte kunna routas vidare ifall din openvpn-klient kopplas ifrån.


- : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : -

Uppdatering för route-nopull (För att all utgående trafik ska upphöra ifall anslutningen kopplas ifrån)

För att lösningen med Route-nopull skall fungera krävs att alternativet "Skip rules when gateway is down" är valt.

Detta aktiverar du genom att navigera till menyn: "System" > "Advanced", under fliken "Miscellaneous" och sedan finner du det under "Gateway Monitoring".



- : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : - : -


Om du nu exempelvis skulle vilja undanta en specifik enhet och styra dennes trafik via din vanliga WAN anslutning, så kan du helt enkelt lägga till en ny regel baserad på den du precis redigerade.
(Detta förutsätter att du gjort en statiskt mappning i din DHCP-server till den enhet du vill styra upp)

Gör då enligt följande:

1. Klicka på plus "+" knappen till höger om den nyligen editerade regeln.
2. I fönstret som öppnas, skrolla ner till "Source".
3. Klicka på Type knappen och ändra från "LAN net" till "Single host or alias"
4. I fältet "Adress" skriver du den ip-address eller det alias du tilldelat din enhet.
5. Skrolla sedan vidare hela vägen ner till "Advanced features".
6. Klicka på Advanced knappen till höger om Gateway
7. Ändra från OVPNOPENVPN_VPNV4 till WAN_DHCP
8. Klicka på "Save"
9. Gulmarkera din nya regel genom att klicka på den.
10. Flytta den sedan ovanför din tidigare ändrade "default allow LAN to any" regel, genom att klicka på den lilla pilen till höger om denna regel.
11. Klicka på "Apply changes" högst upp i nästa fönster.

Nu bör du ha en extra regel som undantar din valda enhet från att styras om till din openvpn-klient.


Slut för denna gången.
Jag hoppas detta kan vara till hjälp för flera, jag har själv suttit otaliga kvällar för att hitta en bra lösning på detta.

Ip Man:
Stort tack för guiden nialc! Jag planerar att införa OVPN på min pfSense-router. Jag ska läsa din guide med stort intresse. Jag känner igen det där med "otaliga kvällar"  :)

wildstar23:
Jag lyckades connecta idag tack vara denna guide så ett stort tack!  8) Hade inte klarat det utan....

Några saker där jag körde fast...

1. Byt DNS-servrar:

Går inte att ändra till OVPN i Use gateway när interfacet inte finns. Man får gå tillbaka sen och ändra.

5. Skapa OpenVPN Klient:
Hardware Crypto = No Hardware Crypto Acceleration

Där satte jag Intel RDRAND eftersom min processor stödjer det.


Jag får ut hela min bandbredd och lite till. Det verkar vara mycket stabilt också.

Ip Man:
Nu har även jag lyckats tack vare din eminenta guide. Version 2.2.1 skiljer sig lite jämfört med 2.1.5 på vissa ställen men inte mycket.

Småsaker som jag fastnade lite på:

Du skapar filen: /conf/openvpn-auth.conf men när du skapar klienten hänvisar du till en annan fil: auth-user-pass /conf/ovpn-openvpn-auth.conf; Det bör vara samma.

Under advanced i klienten står "remote vpn02.prd.kista.ovpn.se 1195;". Det bör väl vara  "remote pool.prd.se.ovpn.se 1195"

olapola:
Tack för en utmärkt guide!

Dock får jag DNS-läcka när jag lägger till route-nopull;

Kör jag utan denna sträng och ställer in att mitt ip ska gå via WAN så får jag DNS läcka till OVPN

Får ni andra okcså DNS läcka när ni kör route-nopull?

Navigation

[0] Message Index

[#] Next page

Go to full version