O iptables não pode obter o ip real, então você deve usar a API do cloudflare para colocar o IP na lista negra na nuvem.
aqui está o meu arquivo de configuração de ação
# Fail2Ban configuration file
#
# Author: Charles Chou
# Modified: Norman Yee
# fix original cloudflare-blacklist.conf
# $Revision$
#
[Definition]
# Option: actionstart
# Notes.: command executed once at the start of Fail2Ban.
# Values: CMD
#
actionstart =
# Option: actionstop
# Notes.: command executed once at the end of Fail2Ban
# Values: CMD
#
actionstop =
# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck =
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: <ip> IP address
# <failures> number of failures
# <time> unix timestamp of the ban time
# Values: CMD
#
actionban = curl -s "https://www.cloudflare.com/api.html?a=ban&key=<ip>&u=<account>&tkn=<token>"
# Option: actionunban
# Notes.: command executed when unbanning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: <ip> IP address
# <failures> number of failures
# <time> unix timestamp of the ban time
# Values: CMD
#
actionunban = curl -s "https://www.cloudflare.com/api.html?a=nul&key=<ip>&u=<account>&tkn=<token>"
[Init]
# Option: account
# Notes.: In the actionban and actionunban sections,replace CLOUDFLARE_LOGIN with your CloudFlare login email
# Values: your CloudFlare account
#
account = [email protected]
# Option: token
# Notes.: In the actionban and actionunban sections, replace CLOUDFLARE_API_TOKEN with your API key
# Values: Your CloudFlare API key
#
token = Your API key here