Una forma de averiguar cuál es la IP externa que tu proveedor de servicios le ha asignado a tu router es accediendo a alguna web como https://jsonip.com , que es un servicio gratuito que devuelve la dirección ip del cliente en un objeto JSON.
El siguiente código obtiene la IP haciendo uso del método urlopen del módulo urllib.request, el cual obtiene el objeto JSON en una cadena de texto. Gracias a json.loads() es posible convertir esta cadena que tiene formato JSON en un diccionario. Accediendo a la clave ‘ip’ se ve la IP.
import urllib.request
import json
ip = json.loads(urllib.request.urlopen('https://jsonip.com').read())['ip']
print(ip)