Existe um dispositivo IoT que executa um cliente FTP que transfere periodicamente os dados coletados para o servidor FTP. O dispositivo IoT é fornecido com a Internet, mas o IP do dispositivo é atribuído aleatoriamente, pois usa um cartão SIM de varejo. Por outro lado, o FTP tem algumas regras de segurança rígidas por causa disso, ele define a conexão do cliente se o IP estiver mudando.
Existe uma solução para este problema sem alterar nada no final do servidor FTP?
De acordo com os comentários, se você pode usar SCP ou SFTP em vez de FTP, definitivamente faça isso. (Eu diria que uma conexão SCP/SFTP que usa criptografia de chave pública/privada em um IP aleatório é - no geral - mais segura do que uma conexão FTP bloqueada para um endereço IP)
Se essa não for uma opção, você pode resolver esse problema com uma VPN. Idealmente, você deseja configurar uma VPN que esteja na mesma rede que o servidor FTP - isso lhe dará as maiores velocidades e será o mais barato. No entanto, se você não puder fazer isso por algum motivo, poderá obter uma VPN cujo objetivo seja fornecer um IP estático e rotear por ele. (Google "VPN Static IP" - existem muitos provedores, mas você provavelmente não encontrará um gratuito). A ideia seria então configurar uma VPN do Pi para o seu provedor de VPN, rotear o tráfego destinado ao servidor FTP pela VPN e para o servidor FTP, onde será visto como proveniente do endereço IP estático.
Um Pi é capaz de executar OpenVPN e Wireguard. O Wireguard é provavelmente uma solução melhor, pois geralmente é mais simples de configurar e muito mais leve.