Согласен с предыдущими отвечающими.
Но, можно посмотреть в сторону IPv6. С его адресной базой NAT в принципе не нужен, можно раздавать белые адреса каждому "утюгу". Вот только не уверен, что провайдеры именно так поступают.
Фаервол в любом случае может заблокировать трафик, хоть с NAT, хоть без NAT, хоть IPv6 - роли не играет.
Обычно, что бы обходить фаервол просто используют "стандартные" порты на сервере, которые, как правило (но не обязательно), везде открыты, например TCP/80 (http) или TCP/443(HTTPS). Это не дает 100% гарантии прохождения фаервола, но шансы повышает.
И кстати, если мы говорим об IPv4, то для того, что бы обойти NAT нужно использовать UDP, а не TCP. На TCP NAT не обойти.
На счет STUN и т.п. Там смысл в том, что сам STUN сервер с белым IP нужен только для получения клиентами адреса и порта "сервера", дальнейшая передача трафика идет напрямую между клиентом и сервером. NAT в этом случае не обходится, а просто клиентами используется та же дырка в NAT, которая образовалась при подключении сервера к STUN.