Neredeyse her firewall yönetim aracıyla ilgili CloudFlare ip aralıklarını beyaz listeye alma konusunda aksiyon aldık. Şimdi sıra geldi firewalld için bunu yapmaya.
Çoğu işletim sisteminde ön tanımlı olarak kullanılması önerildiği için isteyenler aşağıdaki betiği kullanabilir.
Betik bana ait değil sadece düzenlemesini gerçekleştirdiğimi hatırlatayım.
#!/usr/bin/env bash # Instructions: # # 1) Place this script in the /root/ directory, give it proper permissions. # $ sudo chmod +x /root/open-cloudflare.sh # # 2) Open the cron job editor # $ sudo crontab -e # # 3) Add the following to the last line # 12 0 * * * root /root/open-cloudflare.sh # # https://gist.github.com/rraallvv/602ea1ed32f40074c1c509b5161da77d # Actual script: # remove all public rules first IFS= \n' for i in $(sudo firewall-cmd --list-rich-rules --zone=public); do echo "removing '$i'" sudo firewall-cmd --permanent --zone=public --remove-rich-rule "$i" done # IPv4 HTTPS echo "adding IPv4 HTTPS" for i in $(curl "https://www.cloudflare.com/ips-v4"); do echo "adding '$i'" sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="'$i'" port port=443 protocol=tcp accept'; done # IPv6 HTTPS echo "adding IPv6 HTTPS" for i in $(curl "https://www.cloudflare.com/ips-v6"); do echo "adding '$i'" sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv6" source address="'$i'" port port=443 protocol=tcp accept'; done # SSH #firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="myip" port port=22 protocol=tcp accept' #firewall-cmd --permanent --change-zone=eth0 --zone=public echo "reloading..." sudo firewall-cmd --reload