Ecobee thermostat can’t connect to servers
-
@johnpoz
It is just a dumb standard ISP D3.1 cable modem that is baselined so it does nothing. Both my pfSense and Cisco have their OWN UNIQUE public IP. NAT is taking place on the pfSense and Cisco respectively. -
@ezhawk said in Ecobee thermostat can’t connect to servers:
Both my pfSense and Cisco have their OWN UNIQUE public IP
And that was my point a while back.. But you dismissed it saying the path is the same - when clearly its NOT!
If you can tell me why when my internet path is 100% the same from Cisco or the pfSense
Clearly that is not the case if your public IP that ecobee sees is different..
My point is ecobee server(s) sending you a fin,ack has nothing to do with what pfsense could be or not doing to the traffic.. They clearly said hey buddy I am done with this conversation.
-
@johnpoz If you want to blame the IP, then you need to explain to me why when the Ecobee goes through the Cisco it can work perfectly for months at a time without a single issue on the same IP. But when traffic for the Ecobee goes out via the pfSense the bast case is it'll work for 1-14 days then just stop. Traffic will restore if I spoof a new mac on the pfSense to get a new IP and then it'll work for 1-14 days and then stop working again. 100% repeatable.
Please explain in specific detail how the specific digits of the IP address that are different between the pfSense and the Cisco are causing traffic to fail. Even more so, the IP the Cisco gets is literally 1 digit away from the one the pfSense has.
Please explain how because IP x is on the pfSense it has issues working with this specific thing while IP y on the Cisco doesn't. And before you tell me they are in different subnets, one is the .128 and one is the .129 in a /22.
Here, I'll even give you what we all know Ecobee would say to start with. "Your connection works on the Cisco router, but doesn't on the pfSense? That seems to be an issue with how the pfSense is processing traffic since you can connect via Cisco and never have an issue. We would recommend working with pfSense. If you couldn't connect with both routers then it could be a device or server issue."
If the convo between Ecobee Servers and my Ecobee can complete without issue on the Cisco. Why does it fail on the pfSense? The communication from my Ecobee to the servers goes to the same destination every single time. If it is the source IP, then why when the source is the Cisco router does it work for months. but if the source is from the pfSense it'll work initially, then fail and won't be able to restore? I've had multiple diff IPs on the pfSense over time via spoofing a new mac. It is the same thing over and over and over. Works for a bit then fails. I've never not once had communication fail on the Cisco and my Cisco has had the same public IP the entire time.
No matter what I do, the only thing that can get the connection to fail is the introduction of the pfSense into the routing path.
There is something that gets completely torn down on the pfSense when a new public IP is received but after a bit becomes stale or hung and isn't getting updated properly. Or the pfSense itself is doing something to the traffic. that is causing it to fail.
-
out of curiosity have you checked with ecobee ?
"ecobee has determined that a very small percentage of Smart Thermostats may experience difficulty connecting to our servers, leading to disconnection issues. If your thermostat has exhibited this problem, please use the serial number checker below to see if your device qualifies for our Connectivity Support Program."
maybe you have and I just missed the reference or mention in this thread
here is the link to check your serial number
https://support.ecobee.com/s/esp/smart-thermostat-connectivity-issues
-
@jrey said in Ecobee thermostat can’t connect to servers:
https://support.ecobee.com/s/esp/smart-thermostat-connectivity-issues
That's no longer a thing anymore according to Ecobee.
And to no one's surprise, Ecobee says it is a problem with the pfSense since everything works fine when the pfSense is bypassed. They could see everything just fine until the pfSense was put in line.
-
@ezhawk said in Ecobee thermostat can’t connect to servers:
And to no one's surprise, Ecobee says it is a problem with the pfSense
Just to be clear (and I leave it after that), my suggestion to contact support was not to blame them but get help from them, getting information about connection made by pfSense and if Ecobee was blocking that connection at some point. I suspect you won't get that info in a chat from a 1st level support.
Your package capture shows a 'Client Hello' from the Ecobee device when connecting to idt.ecobee.com and in a normal conversation, the answer would be a 'Server Hello' from the Ecobee server. But instead Ecobee ends the connection (the connection to home-fw.ecobee.com get a 'Server Hello', seems successful).
-
I am sorry to chime in. By any chance, do you have a process set up on pfsense that periodically and with reasonably high rate sends packets to Ecobee servers? For example, (and only for example) if you have configured Ecobee server IP address for Gateway monitoring purpose in pfSense, then by default pfSense sends ICMP echo requests to that address every 0.5 second. That stream of packets could be enough for Ecobee server to declare DoS attack and blacklist your IP address.
You may want to capture all traffic between pfSense and Ecobee server IP address on WAN interface to check for that.
This may lead nowhere, but it is worth to check, in my opinion.
I do have Ecobee-3 thermostats and I use pfSense (Netgate 4200) and I never had any problem.
-
@akochetkov
No, I don't have any process or service on pfSense set up to monitor the Ecobee IPs. There is a pcap earlier in the thread that I pcap'd my WAN to the Ecobee subnet. And even when the Ecobee can't connect to the Ecobee servers, it can still ping Ecobee.com. -
@ezhawk said in Ecobee thermostat can’t connect to servers:
And even when the Ecobee can't connect to the Ecobee servers,
where did you show this - what you showed was them sending you a fin,ack - this is clearly connecting to what you posted.. If there is something that you can not actually connect to you have not shown that.. Where is the traffic you see hit pfsense lan but not get sent out the wan.
What exactly do you think pfsense could do to the encrypted traffic via a https tunnel, that would force them to send you a fin,ack?
-
@ezhawk I think you need to make the pfsense/cisco comparison be more apples to apples. That is, your entire network should be behind the cisco router while the ecobee is connected. Otherwise, there may be traffic on the pfsense side that does not exist when behind the cisco.
-
That's a great point
@ezhawk said in Ecobee thermostat can’t connect to servers:
NAT is taking place on the pfSense and Cisco respectively.
it's been a while since I had to play with Cisco gear, but it requires specific NAT configuration as I recall -
where the pfSense should just work with no special config for a device like the ecobee, maybe, however this is a case where one of the "it should just work" on pfSense needs a specific setup.The reasons ecobee might be rejecting is because of the NAT setting or lack there of on pfsense ?
Have you configured anything specific for NAT setup on pfSense?
perhaps you could show us the Cisco config for this NAT ? and tell us if you are using default setting on the pfSense box or trying to follow a Cisco style and set something up ?
Have you simply just tried another network cable ? stranger things have been known to happen - is the cable showing you all the settings you would expect from pf to modem ?
As has been suggested by many - there is no obvious reason it shouldn't just work.
it will be the ecobee server - like every other device making the original request to a server, if they are telling you to go away (and they are) there is something about the packet they don't like.Finally if you search the forum for pfSense vs Cisco you will find a number of previous threads (some really old) but you might review them anyway (if you haven't already) and see if anything stands out.
-
@jrey said in Ecobee thermostat can’t connect to servers:
I think you need to make the pfsense/cisco comparison be more apples to apples. That is, your entire network should be behind the cisco router while the ecobee is connected. Otherwise, there may be traffic on the pfsense side that does not exist when behind the cisco.
Already done and to no great surprise, everything works perfectly on the Cisco including the Ecobee.
@ezhawk said in Ecobee thermostat can’t connect to servers:
NAT is taking place on the pfSense and Cisco respectively.
The reasons ecobee might be rejecting is because of the NAT setting or lack there of on pfsense ?
Please provide details of what you might think this is. Even when the Ecobee can't connect to the Ecobee servers, it can ping Ecobee.com from the device itself, so NAT is working.
Have you configured anything specific for NAT setup on pfSense?
No, nothing is specifically configured. And Cisco NAT is dirt simple, all you do is define the inside and outside interface and one line for nat-overload and the ACL for internal subnets.
perhaps you could show us the Cisco config for this NAT ? and tell us if you are using default setting on the pfSense box or trying to follow a Cisco style and set something up ?
Cisco
!
interface GigabitEthernet0/0.999
ip nat inside
interface GigabitEthernet0/1
ip nat outside
!
ip nat translation timeout 1000
ip nat inside source list 101 interface GigabitEthernet0/1 overload
!
access-list 101 remark NAT_Pool_Extended
access-list 101 permit ip 10.0.0.0 0.0.0.255 any
access-list 101 permit ip 172.16.21.0 0.0.0.255 any
access-list 101 permit ip 10.1.0.0 0.0.0.255 any
access-list 101 permit tcp 10.1.0.0 0.0.0.255 any
access-list 101 permit ip 10.99.0.0 0.0.0.255 any
Nat on both is just default.Have you simply just tried another network cable ? stranger things have been known to happen - is the cable showing you all the settings you would expect from pf to modem ?
yeah i've done all that L1 ts.
-
@ezhawk said in Ecobee thermostat can’t connect to servers:
Even when the Ecobee can't connect to the Ecobee servers, it can ping Ecobee.com from the device itself
Your package capture show (as I mentioned in my post before) that it seems that the Ecobee can connect to fw-home.ecobee.com but idt.ecobee.com closes the connection.
Maybe another question: how would you like pfSense to solve it? It won't work without someone who got that issue.
And according to your package capture it does not affect all ecobee.com servers but the idt.ecobee.com. I think that is something to consider.
-
@patient0 Worth exploring tunneling idt.ecobee.com (or all *.ecobee.com) traffic via a vpn. OP says he has no vpn. Cloudflare warp is free and will suit this purpose. I offered some guidance on the previous page how to set it up.
-
@ezhawk said in Ecobee thermostat can’t connect to servers:
No, nothing is specifically configured.
Ok, was just curious if you have configured anything "special" under any of the 4 tabs found under Firewall -> NAT
seems that is not the case..
however also sounds like maybe the overload setting function on the cisco ?
There are numerous posts like this. Maybe in this case you just have to "help" pfsense build the right packet the looks correct for the ecobee server and have it stop telling you to go away ?
https://forum.netgate.com/topic/189729/nat-external-ip-vs-internal-ip-cisco-vs-pfsense
I don't have a ecobee so ... can't really see first hand what is going on out of the box so to speak ...
- the other option presented of using Cloudflare wrap would likely also work.
-
@jrey I don't think this is a nat issue. It would either work or not work, but not likely be intermittent. Indeed there's some traffic ecobee server is receiving which causes it to end the connection.
I have the premium (and the ecobee3 lite before) with no such issues behind pfsense.
@ezhawk how is the ecobee wifi configured? Different vlans for different interfaces? Anything else sharing ecobee's?
-
Does the cisco randomise the source port in NAT?
Perhaps Ecobee periodically does something that assumes a source port and when that fails it marks it as bad. Unlikely but easy enough to test with a static port rule.
Can you spoof the WAN MAC on the Cisco so it has the IP pfSense is currently using where Ecobee is failing. See if it then starts working behind the Cisco. That would prove it's not the Ecobee server blocking the IP.
-
@patient0 said in Ecobee thermostat can’t connect to servers:
Your package capture show (as I mentioned in my post before) that it seems that the Ecobee can connect to fw-home.ecobee.com but idt.ecobee.com closes the connection.
Maybe another question: how would you like pfSense to solve it? It won't work without someone who got that issue.
How would I like pfSense to solve this? Pretty simple, I'd like pfSense to figure out why this works perfectly fine with a Cisco Router and fails with pfSense. But that request seems to be way too much for this board.
But let's look at the facts:
- Regardless of what Public IP I get, the connection fails when going through pfSense
- Regardless of what Public IP I get, the connection works 100% of the time going through Cisco.
- The destination is the same as the Ecobee reaches out to the same servers.
- Initially, when pfSense gets a new IP the connection works for 1-14 days. The connection will then fail.
- The connection never fails going through a Cisco router.
- None of my 80+ other devices on my network have issues with connectivity to anything.
- If there was an issue on the Ecobee side, it wouldn't matter what router I'm using. I would see the same thing on both routers which is not the case.
- If the issue is with idt.ecoebee.com closing the connection, why isn't this an issue on a Cisco router?
- For those who want to blame it on Ecobee, then they also ignored, the point I made that I had the same problem with Google Nest. It worked like a charm until I put in my pfSense, then I began to have the losing connectivity every couple of weeks and a spoof the MAC to get a new public IP would get connectivity for 1-14 days before it stopped working. I thought it was Google having issues, so I went out and spent the $ to switch from Google to Ecobee and I ended up with the exact same problem.
The only impactful variable between the working and non-working is the pfSense vs Cisco. I get this is a Netgate pfSense board in which no one wants to admit that there could actually be something faulty with a Netgate pfSense device.
@GPz1100 said in Ecobee thermostat can’t connect to servers:
@patient0 Worth exploring tunneling idt.ecobee.com (or all *.ecobee.com) traffic via a vpn. OP says he has no vpn. Cloudflare warp is free and will suit this purpose. I offered some guidance on the previous page how to set it up.
Been looking to see if I can set up a workaround. But realistically it is ridiculous to have to set up a VPN and PBR because of a pfSense failure. The way everyone talks, the connection should just work. The other thing that would be stupid in this set up is not only do I have to have Internet and Ecobee servers be up for remote connection for my Ecobee, this now adds a 3rd party into it.
Actually, I've had it. This board wants to blame everything other than the pfSense and I'm done. For everyone that just want to blame my network, or the Ecobee Servers, or the digits of an IP being different...congrats you win! I'll just run a second router until I can find an suitable replacement for the pfSense and then I can get the faulty device out of my network.
-
There might be two other differences between pfSense and Cisco configurations.
-
DNS Resolver. Are pfSense and Cisco configured to use the same DNS resolver? pfSense has its own DNS Resolver. Unless it is disabled (forwarding mode) it is different than what Cisco uses. I know it is not likely but there is a chance that pfSense and Cisco resolves Ecobee Server name into different IP addresses. I am sure there is more than one Ecobee server worldwide.
-
Home Assistant and Apple Home Kit. Is Ecobee thermostat connected to and communicate with them in both pfSense and Cisco cases? Although Ecobee says it is possible to use Home Kit (Home Assistant) integration and Server integration at the same time I remember reading that some people on Internet ran into a problems doing that.
Maybe you have already done that but I will suggest anyway (You can ignore it if you wish) to take another Netgate device (you mentioned you have Netgate 2100 and Netgate 1100) configure it plain vanilla (mostly just factory default) isolate from rest of your network and connect the thermostats to it. Who knows it could give us additional information.
-
-
@akochetkov said in Ecobee thermostat can’t connect to servers:
(you mentioned you have Netgate 2100 and Netgate 1100)
He's not the OP, he got a Netgate 4100.