Tutorial: Configuring pfSense as VPN client to Private Internet Access
-
great tutorial you guys have. I have a more complicated situation that I have been trying to get setup.
Having TWO openVPN client setup via PIA.
So the idea is this, based on IP range 192.168.0.2-192.168.0.20 it'll go to PIA USA west
The based on IP range 192.168.0.21-192.168.0.40 it'll go to PIA Canada
Then the remaining IP 192.168.0.41-192.168.0.254 will be on the WAN.
I've tried to follow the instructions before and just add a 2nd VPN client accordingly, but everything just default to the PIA USA West, is there anything I could be missing?
Once you have one vpn gateway there isn't anything different setting up an other one and select the gateway based on lan ip.
However, there can be a situation where the vpn clients both have the same local interface ip. (the 10.x.x.x ip address)
I don't know what caused it but restarting one vpn client did solve it for me. -
Save yourself some headaches and set your IPs on subnet boundaries instead. That'll make your rules a lot easier.
Like instead of assigning hosts IP addresses from 192.168.0.21 through 192.168.0.40, assign them 192.168.0.33 through 192.168.0.62. You can then cover them in one rule with source IP 192.168.0.32/29 (255.255.255.248)
You could:
pass ip any source 192.168.0.32/29 dest any gateway PIA_USA_WEST # (hosts .33 through .62 - in this case you could actually use .32 and .63 too but I wouldn't)
pass ip any source 192.168.0.64/29 dest any gateway PIA_CANADA # (hosts .65 through .94)
pass ip any source LAN network dest any gateway default # everything else. -
Since the upgrade to 2.2 I have had PIA randomly disconnect and remain disconnected for me until I manually click connect again. Anyone else experience this problem? Seems to be every couple of days, on 2.1. 5 the only time I had connectivity issues when an internet issue caused a bad route to the server I had been connecting to. Other than that previously it has been very solid for me up until the upgrade.
-
Thanks for this guide, I got PIA up and running for just my FireTV and the rest of my devices go through the normal WAN.
The problem I'm having now is I'm trying to access content on hulu and watch Disney Junior with my FireTV, but it says I'm outside of the US (I'm not, and I'm using the PIA California server, I know that Hulu has blocked a lot of VPNs). I don't care if the traffic for Hulu and Disney aren't over PIA, I want to make a rule to bypass the VPN for Hulu, Disney, and potentially a couple of other streaming services. I've tried creating an alias for hulu.com and then I made a firewall rule (placed before my VPN hosts rule) that said if the destination was the hulu alias it would use the WAN gateway instead of the PIA gateway, but I still got the same outside of the US or private network error. I've also added an ipcheck to the alias to make sure it was working and it returned the IP address I wanted when the rule was applied, so it worked for that site at least.
Any ideas how to get this to work? I don't really want to have to turn the VPN off each time I want to turn on Disney Junior for the kids.
-
hi moatilliata,
instead of rerouting the traffic you could try to use a dnsmasq server to forward your dns request so you can use the PIA vpn still.
One service that could work although I haven't tried it before is using UnoTelly:
https://www2.unotelly.com/home#2-channels
-
hi moatilliata,
instead of rerouting the traffic you could try to use a dnsmasq server to forward your dns request so you can use the PIA vpn still.
One service that could work although I haven't tried it before is using UnoTelly:
https://www2.unotelly.com/home#2-channels
Well the sites work on my other PC's and iPad, and I'm pretty sure the DNS being sent on my normal WAN is still the PIA DNS, the only difference is the IP address. There must be a DNS or IP that's not included in my alias for Disney and Hulu when my location is being checked on the devices behind the VPN.
Hulu isn't my real problem because my TV has an app, but I don't have an app for Disney. I guess I'll just use the iPad and Chromecast, but that's just one more thing I have to teach my wife how to do.
-
One thing I was thinking if you are testing multiple devices, you should test if the registered external IP is the VPN IP or not?
Also you should do a DNS leak test to ensure that the DNS resolution is coming from the correct DNS server, be it be the VPN or local DNS server.
So what I do to troubleshoot the VPN issues is to use the below:
https://www.dnsleaktest.com/
http://whatismyipaddress.com/ -
I've done both of those things already.
The DNS that comes back on DNS leak is always the VPN DNS, but when I'm on my normal WAN the inaccessible content is accessible.
As far as IP check, behind the VPN I'm getting my VPN IP and on the WAN I'm getting my normal IP from my ISP.
That's why I think my alias for Hulu and Disney are incomplete. They must connect to another DNS or IP that I'm not bypassing in my alias. I've pretty much given up on it for now. I just wanted it to the convenience of accessing those apps from the Fire TV.
Is there a way to make it so certain source IP's use the VPN DNS and my sources going through WAN use the local DNS? I couldn't figure this out without having a DNS leak which is why I just left it on the VPN DNS.
-
if you want to have specific DNS for specific interfaces, you can do it two ways.
One you forward all DNS requests via the firewall to the interface you want to the specific DNS server OR
Go to System -> General Setup. Under DNS servers you can specify specific DNS servers based on the Gateway, or in your case the "VPN Gateway"
Let me know if that helps your cause or not.
-
Anyone else experiencing slower download speeds through PIA when upgrading from pfsense 2.1.5 to 2.2? My download speeds have been constantly 10-14 Mbps and with 2.1.5 they were 100+ Mbps.
-
Nope, I personally haven't had that problem. My speeds to PIA are the same before the upgrade.
Also for the record going from 2.1.5 to 2.2 solved a lot of issues that I was having when opening multiple OpenVPN clients to PIA.
-
edit the firewall at my work was blocking all images.
Thank you
-
Great tutorial. Setup my pfsense on the first go-round, thanks! Now, the 2 issues. 1 is really just speed, I'm only getting 1.6-2.x mbps but that's not really a pfsense issue, more of a PIA issue. Using Texas server seems to be fastest but still slow compared to my 50mbps VDsL. #2, Email. Email pop3 doesn't work over PIA (goDaddy) and they know it. Can receive, can't send. Is there a rule? or setting to let smtp bypass the VPN and use the Wan? I tried a few tests, obviously unsuccessfully. Again, great stuff!
Thanks -
Try setting your mail server to use port 587.
Sending email is not POP3. Sending is SMTP. Port 587 is the SMTP submit port. You will have to authenticate. Hopefully your mail provider supports STARTTLS. Make it required.
A quick telnet mailserver 587 will either result in an SMTP banner or it won't.
-
Thanks for the response. I'm not hosting a mail server. What I need to do is route my SMTP requests from my pop3 outlook account thru to the wan, bypassing the PIAVPN. Currently all LAN machines are using pfSense DHCP and pfSense is configured to automatically connect and route to PIA's VPN connection. Can (How?) do I take an smtp request from a machine that is using the vpn connection and have it's outlook pop3 route past (bypass) the pia vpn? Let me know if this makes sense. Thx
-
I know.
I'm sure PIA blocks port 25. Try 587 instead.
That or make a rule above the rule that routes your traffic to PIA that routes connections to your mail ports (TCP 110,143,993,995,25,587 and 465) out your WAN gateway (or the default route).
Note that any application you use that attempts to bypass firewalling by using one of these commonly-passed ports will no longer go through the VPN either. If you only use one to a few mail servers, you might want to create an alias using their FQDNs and set the destination address to that to limit the scope of the rule even more.
![Screen Shot 2015-02-13 at 7.10.59 AM.png](/public/imported_attachments/1/Screen Shot 2015-02-13 at 7.10.59 AM.png)
![Screen Shot 2015-02-13 at 7.10.59 AM.png_thumb](/public/imported_attachments/1/Screen Shot 2015-02-13 at 7.10.59 AM.png_thumb) -
Thx Derelict. Your advice on the ports worked but only without SSL so I'm not connecting securely to send/receive. Can you outline in a few steps how to add an smtp to a rule for bypass? smtp.out.secureserver.net is what godaddy uses for sending, if I can put that in a rule to bypass the vpn and use the wan it should work with encryption (SSL) applied.
-
Should have nothing to do with negotiating SSL. I don't know how that server is set up but there are two ways to get SMTP over SSL/TLS:
-
Connect on port 465. This usually expects SSL right off the bat like an HTTPS connection. You can test this with openssl s_client -connect smtp.out.secureserver.net:465. Port 465 is a de facto standard for this thanks to Microsoft. YMMV.
-
Connect to port 25 or 587. This establishes a normal SMTP or SMTP Submit connection. The client must then issue a STARTTLS command to negotiate TLS prior to sending authentication credentials. You can test this with openssl s_client -connect smtp.out.secureserver.net:[25|587] -starttls smtp
-
-
Can you outline in a few steps how to add an smtp to a rule for bypass?
Post your LAN rules (or the rules for whatever interface is being used for forwarding to PIA.)
-
Hmmm. smtp.out.secureserver.net doesn't resolve. You need to figure out where you need to send your outgoing mail.