Провайдер имеет некоторый пул "белых" IP адресов, торчащих наружу. Также есть "серые" адреса, раздаваемые по WAN абонентам. К сожалению, в мире жёсткая нехватка IPv4, поэтому провайдерам невыгодно каждому абоненту давать реальный белый IPv4, а куда удобнее производить трансляцию адресов (NAT), когда на одном белом может сидеть много абонентов. В этом случае при каждом создании соединения (TCP/UDP) за пользователем резервируется конкретное значение номера порта.
Если абоненту требуется "белый" IP, к которому можно подключаться извне, и чтобы все значения портов принадлежали ему, провайдер фиксирует IP адрес за этим абонентом. Но поскольку адрес денег стоит, и теперь других абонентов на него не посадишь, за это берется определенная плата. В моём случае я за интернет плачу 300р, а за белый IP мой провайдер просит ещё 350р в месяц. (я решил, что обойдусь за такие деньги)
Если кратко, ответ на ваш вопрос - бесплатно не будет. Или платите за услугу, или переходите к другому провайдеру, раздающему реальные белые адреса.