A maneira mais fácil seria bloquear todo o tráfego por padrão e permitir apenas os intervalos dos EUA. Eu usei este site no passado para obter os intervalos de IP de vários países. No iptables, você vincula uma regra de aceitação de $ US_IPS e depois as define. Apenas como um aviso, isso é um monte de IPs e pode retardar o seu firewall, dependendo das especificações de hardware e da quantidade de tráfego que entra devido à regra de ter que olhar através de tantos IPs de cada vez. Se existem alguns IPs específicos que atingem muito o seu firewall, você pode querer colocar essa regra acima desta regra de aceitação, para que não tenha que processar a enorme lista de IPs a cada vez.