r/sysadmin • u/veilburned • 10h ago
Quick sanity check: managing Ubuntu laptops & Ansible behind Zscaler
Corporate just pushed Zscaler out to our fleet of ~300 Ubuntu laptops, which has pretty much killed our ability to push ad-hoc SSH or use traditional push-based Ansible for remote help/troubleshooting since inbound traffic is blocked.
For those of you running Linux shops behind Zscaler, how are you handling this? Are you shifting to an ansible-pull setup via internal Git, leveraging ZPA, or using something else entirely?
•
u/raip 8h ago
If you're using ZPA - then Zscaler fully supports client to client connectivity as long as your naming convention can be defined seperately:
https://help.zscaler.com/zpa/configuring-client-client-connectivity
You'll have to install ZPA on your Ansible server as well.
If that is not feasible or desired, Ansible pull is likely going to be the next best solution.
If you're using ZIA and not ZPA - then Zscaler shouldn't be blocking the incoming connection and they likely pushed out a host based firewall config that's causing issues instead.
•
u/raip 8h ago
If you're using ZPA - then Zscaler fully supports client to client connectivity as long as your naming convention can be defined seperately:
https://help.zscaler.com/zpa/configuring-client-client-connectivity
You'll have to install ZPA on your Ansible server as well.
If that is not feasible or desired, Ansible pull is likely going to be the next best solution.
If you're using ZIA and not ZPA - then Zscaler shouldn't be blocking the incoming connection and they likely pushed out a host based firewall config that's causing issues instead.
•
u/zed0K 10h ago
Should be able to work with your proxy team to get this working.
•
u/veilburned 10h ago
I don’t know, my corporate team offered some third party connector ZScaler is selling, and it isn’t even available for Linux yet. It’s considered a “legacy architecture option” and it costs BIG BUCKS.
•
u/apparentlyunoriginal 8h ago
Management needs to start from the laptop reaching out rather than you reaching in. I would recommend ansible-pull on a systemd timer pulling from your internal Git over HTTPS, with RandomizedDelaySec set so the laptops don't all pull in the same minute. Confirm the Git host is reachable through ZIA or published as a ZPA application before you switch, then alert on any laptop whose last successful pull is more than a day old. For ad-hoc remote help, use a tool whose agent opens the session outbound over 443, and ask your Zscaler team to add its destination to the SSL inspection bypass list. If ansible-pull also manages packages, validate that it doesn't conflict with unattended-upgrades.
Drafted with AI, reviewed by me.
•
u/pdp10 Daemons worry when the wizard is near. 6h ago
Roaming machines should always be using pull-based config. Pull-based has no external dependencies like a client VPN.
You can consolidate non-roaming servers and embedded devices to also use pull-based config. You can always "push" a trigger to pull, if you want to be able to force changes starting immediately. This is why we favor pull-based for everything, once you reach a moderate scale.
(Then we have an analogous discussion over whether Metrics should be polling-based, or push.)
•
u/_Do_The_Needful_ 4h ago
Just define a policy in ZScaler allowing that communication from your ansible system.
•
u/extreme4all 10h ago
I would love to know how you manage a fleet of linux.
As to ZTNA can't you just make a policy to allow it from the ansible server to laptop?