Hello, In the last few months, I did some extensive experiments with UVerse residential service with and without PFSense. Both general purpose and with IPSec tunnels to a colocation facility.
The primary defect I identified in UVerse itself was related to their router prohibiting you from altering or editing its default break-everything-inbound IPv6 configuration. Inability to work around it and use non-proprietary routers without flowing through the brain damage caused by their router led to switching to Comcast service in my case. I can say that generally you won't hit MSS or MTU problems in UVerse because it doesn't do textbook PPPoE stuff to mangle the L2 frames like classic DSL does. Most of my issues were actually caused by IPSec or PFSense version of it. Here are some items I have never seen put together in one place for the most reliable PFSense IPSec configuration. This is mostly walking through the screens in PFSense's order in its UI. This is assembled partly via IPSec PFSense wiki official pages, partly through a LONG list of assorted forum posts across many years I read, and a whole ton of testing and essentially endless swearing at my terminal across several weeks of work. If there's a way to give this back to the documentation pages or to people doing QA or Dev I would love to do so also. Matthew. Advice: 0. Always enable the debug logs recommended by this page: https://doc.pfsense.org/index.php/IPsec_Troubleshooting "Logging for IPsec is configured at VPN > IPsec, Advanced Settings tab. The most useful logging settings for diagnosing tunnel issues with strongSwan on pfSense 2.2.x are: IKE SA, IKE Child SA, and Configuration Backend on Diag All others on Control" 1. Always set the KEX to IKEv2 if at all possible. It allows doing IPv4 and IPv6 on a single P1 with IPv4 outer IPs only. 2. Use IPv4 as the P1 transport version. For obvious reasons, most exterior networks are brain damaged and can't do IPv6. 3. Create one or more P2s to make selectors for traffic inclusion and exclusion. Note there's a bug in PFSense, where if you do IPSec from not-LAN interfaces, the traffic to the firewall's IP gets stolen unless you manually hack the PHP file that generates the IPSec traffic selector configuration, to whitelist more interfaces. This prevents being able to do Ping, DNS, NTP, etc. all other services against the firewall on non-LAN if IPSec is on. Bad times right there. 4. On whatever side of a tunnel has a dynamic IP, if any, always use "Distinguished Name" as the Identifier. If you don't, a whole series of heinously insane stuff happens, which greatly increases the difficulty for the VPN Daemons to find the right PSKs or other credentials for the tunnel, and you get weird auth and crypto failures that make no sense. Note: this DNS name doesn't actually have to be defined or valid. It's basically a magic string. But you could define them in a DNS zone somewhere if you felt like it. Set the non-dynamic end to Peer IP, or anything else, but that one works well for me. Make sure this, and all other settings, are appropriately reciprocal from each side or stuff blows up in weird ways. 5. Unfortunately, in my case, connections always blow up and drop traffic, if "Disable rekey" is not checked on the Initiator end. This is really bad because these things are really supposed to be rekeyed. But if you don't fix it, SSHes and other important items don't just politely die, they freeze up unexplicably and get jammed up in the IPSec state machines never to apparently return. 6. Generally, check "Responder Only" on the non-dynamic side of the tunnel or things blow up. 7. Perversely, completely disable MOBIKE, regardless if both ends are static IPs or one is dynamic or not. It can cause the state machine epic fails described in Step 5, the same way the rekeying can. 8. Perversely, completely disable DPD also. It will nuke connections if it loses a packet here or there, and they don't re-establish cleanly. Instead, they get caught in state-machine hell, same as described in 7 and 5. 9. Make 100% sure the Routes / Networks in the P2s are right, or the tunnels will disagree about what to send each other from each end. Bad things can happen if you try to do stuff like 0.0.0.0/0 routes, when using an IPv4 IPSec outer tunnel, if you aren't careful, as non-tunnel traffic can get stolen by the selectors. To prevent weird stuff like that, you have to make sure that the Local Subnet entries, on the "Client" or "Less Central / Non Core Network" side of the tunnel are right. Very carefully read this page if using really broad Masks on one, other, or both ends of tunnel: https://doc.pfsense.org/index.php/Routing_internet_traffic_through_a_site-to-site_IPsec_tunnel 10. Instead of the MOBIKE and DPD crap, keep the tunnel up, by using valid IPs on PFSense on other end of tunnel in the P2 auto-ping host entry. This will keep the IPSec up all the time and keep it from getting foobarred, unless the link itself has a gnarly outage, in which case you're down regardless. 11. On both the P1 and P2, lock down the list of KEX, Enc, and Auth algorithms to a single solid algorithm. If the negotiation screws up, it causes weird connection problems which you will damage your brain trying to debug. Matthew. On Sat, May 13, 2017 at 06:48:48PM -0700, Laz C. Peterson wrote: > We???ll try that, thanks for the suggestion. > > I don???t recall us using that anywhere else ??? Would be great if it works! > > I???ll let you know. Thanks Jim. > > ~ Laz Peterson > Paravis, LLC > > > On May 13, 2017, at 3:57 PM, Jim Thompson <j...@netgate.com> wrote: > > > > > > Maybe NAT traversal? > > > > https://wiki.strongswan.org/projects/strongswan/wiki/NatTraversal > > > >> On May 13, 2017, at 5:30 PM, Laz C. Peterson <l...@paravis.net> wrote: > >> > >> Hello everyone, > >> > >> We???re having a pretty interesting problem here ??? > >> > >> To give you the quick summary, we have AT&T U-Verse ???Business Fiber??? > >> (which is a fancy way of saying it???s actual fiber, but the budget kind > >> ???) and have very serious issues establishing any TLS or SSL encrypted > >> connections through IPSec tunnels. > >> > >> If we plug a SonicWALL device in, same tunnel settings, we have no issues > >> at all. But our pfSense device (it is a SG-2440) struggles very hard and > >> we cannot do simple encrypted services over this tunnel ??? including > >> downloading email, synchronizing AD domain servers, or even rsync over SSH. > >> > >> It???s been very troubling. When plugging in the SonicWALL, all of these > >> services work completely flawlessly. The second we use the pfSense, none > >> of the encrypted protocols through the tunnel work. > >> > >> I???ve been thinking about MSS and MTU, but I really don???t know where to > >> begin. The SonicWALL seems to be able to figure these things out on its > >> own (if that???s even the issue). But I???m at a total loss. > >> > >> Any suggestions? > >> > >> ~ Laz Peterson > >> Paravis, LLC > >> _______________________________________________ > >> pfSense mailing list > >> https://lists.pfsense.org/mailman/listinfo/list > >> Support the project with Gold! https://pfsense.org/gold > > _______________________________________________ > > pfSense mailing list > > https://lists.pfsense.org/mailman/listinfo/list > > Support the project with Gold! https://pfsense.org/gold > > _______________________________________________ > pfSense mailing list > https://lists.pfsense.org/mailman/listinfo/list > Support the project with Gold! https://pfsense.org/gold _______________________________________________ pfSense mailing list https://lists.pfsense.org/mailman/listinfo/list Support the project with Gold! https://pfsense.org/gold