How to release cloudflare addresses to access linux SSH in iptables

I recently bought a server from a provider and since I use Cloudflare services I wanted to publish my SSH behind Spectrum and block the SSH port to any other address. For this, I created a script and put it in crontab to run daily.

iptables -F INPUT
for address in $(curl -fsSL
iptables -A INPUT -p tcp --dport 22 -s $address -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

NOTE: My “INPUT” chain is being used only for SSH. I use Cloudflare Zero Trust for web access. If you have more rules in the “INPUT” chain, make sure you update the script.

I put the line below in the crontab, it makes the script run daily:
@daily /opt/scripts/

Thank you.