Eu gostaria de poder acessar meu PC através de um IP público para testar meus aplicativos da Web [de desenvolvimento] sem ter que pagar a terceiros por esse serviço, já que já estou pagando à Comcast pelo nosso serviço de Internet em casa.
Isso pode ser feito com a Comcast.
É possível ter um IP público para o meu PC conectado ao gateway XFINITY (o roteador / modem) através de wifi?
Sim.
Advertências de Gateway
Por experiência anedótica, os gateways da Comcast nem sempre são confiáveis ou são facilmente configurados. Como sugestão, em vez de apenas usar o próprio gateway, uma opção melhor pode ser simplesmente colocar o gateway no modo "bridge" (para que ele efetivamente atue apenas como um modem) e comprar um roteador com hairpinning (NAT loop back), conforme mencionado por @Spiff.
Eu pessoalmente uso essa configuração (Bridge Mode + External Router) e fiquei extremamente feliz com isso.
Observe que, se você usar o método "bridge mode" acima, poderá ser necessário alterar o roteador externo de usar 192.168.1.x para usar os endereços internos 10.0.0.x (que é o que o gateway provavelmente estará usando). Se necessário, esse geralmente é um processo muito simples na maioria dos roteadores.
Configurando as coisas
Encaminhamento de porta
Embora você possa configurar um host padrão (o que pode ser melhor por vários motivos), o encaminhamento de porta deve ser suficiente para a maioria das necessidades de desenvolvimento.
O método exato de configuração do encaminhamento de porta dependerá do gateway ou roteador, mas se você fizer isso, deseje encaminhar a porta 80 (HTTP) no mínimo e provavelmente desejará a porta 443 (HTTPS) também (para Web básico desenvolvimento pelo menos).
Você também pode encaminhar portas para quaisquer outros serviços que desejar que estejam disponíveis ao público (por exemplo, DNS, SMTP, FTP, SSH etc.) ou portas não padrão (por exemplo, 8080 para acesso à "porta alternativa" a um servidor da Web).
Independentemente disso, qualquer encaminhamento deve apontar para o IP local (por exemplo, 10.0.0.x) do servidor que manipula a solicitação (por exemplo, onde o Apache ou qualquer outro programa está instalado).
Obtendo seu IP público
Obter seu IP público é bastante simples. Você pode simplesmente pesquisar "Qual é o meu IP?" no Google e ele retornará seu endereço atual da Comcast.
Teste as coisas na ordem certa
Verifique se o servidor / serviço está funcionando no host local, se possível.
Verifique se o servidor / serviço está disponível para a rede local (por exemplo, você pode acessar o servidor da Web com um IP local de outro dispositivo na rede.) Isso geralmente informa sobre problemas de firewall.
Teste se você pode acessar o servidor / serviço da rede local via seu IP público da Comcast. Isso ajudará a informá-lo sobre quaisquer problemas pendentes.
Teste se você pode acessar o servidor / serviço de uma rede não local (por exemplo, com seu telefone através de 3G / 4G) via seu IP público da Comcast. Isso deve informar se o servidor / serviço está ou não realmente disponível publicamente.
Se você escolheu uma porta de serviço não padrão (por exemplo, 8080), precisará anexá-la ao IP (por exemplo, 10.0.0.10:8080 ou 99.100.101.102:8080 ). Para portas padrão, isso não deve ser necessário (por exemplo, um servidor web na porta 80).
Nomes de domínio
Embora os IPs estejam ótimos, se você não quiser usá-los (ou precisar testar algo que depende de nomes de domínio), você pode registrar um nome de domínio e apontar o DNS para o servidor (via seu IP público).
Outra opção barata é usar um provedor de DNS dinâmico, como No-IP ou fear.org , que possui clientes que sincronizam periodicamente seu IP público com um nome de domínio.
Observe que (atualmente) o Namecheap FreeDNS fornecerá serviços DNS dinâmicos gratuitos com qualquer domínio registrado de sua propriedade (não apenas com a Namecheap) se você precisar desse tipo de configuração.