Respondendo a segunda questão - o seu proxy reverso (como eu presumo que é o que o cloudflare é) deveria estar te dando um cabeçalho HTTP informando a conexão real do IP-x-forward-for.
No entanto, isso significa que iptables não é a ferramenta certa para o trabalho. Você precisa filtrar essas conexões no nível do aplicativo (na configuração do seu servidor, com base no valor desse cabeçalho http). Ou talvez o cloudflare tenha seu próprio caminho para bloquear IPs no perímetro.