В обычных настройках, если у вас есть домашний маршрутизатор, ваш компьютер не имеет общедоступного IP-адреса, только маршрутизатор имеет и выполняет NAT для других машин для доступа в Интернет.
Чтобы открыть «слушающий» сокет, чтобы интернет-машины могли добраться до вашей частной машины, вы должны перенаправить публичный порт на вашу локальную машину.
Например, общедоступный 1.2.3.4 порт 2222 будет перенаправлен на частный 192.168.1.42 порт 22, так что вы можете использовать ssh для своей машины из любого места
Такие перенаправления могут быть настроены либо вручную на маршрутизаторе, либо с помощью таких протоколов, как UPnP IGD, NAT-PMP и PCP
UPNP IGD является наиболее распространенным. См. Miniupnp http://miniupnp.free.fr/ для функции UPNP вашего маршрутизатора. У него есть привязки Python.