How I can access PC2 without port forwarding on the router?
Assumindo um roteador NAT (o que é quase certo considerando uma rede interna 192.168.0.0/24), você não pode fazer isso sem o encaminhamento de porta no roteador. Ou algo muito parecido.
Por exemplo, se você puder usar o SSH no roteador e, em seguida, no servidor, poderá usar o SSH (que é uma forma de encaminhamento de porta).
Você também pode ter o PC2 SSH em um servidor público e disponibilizar um endpoint tunelled lá. (você pode precisar de algo como netcat ou socat para ajudar nisso)
Em geral, o encaminhamento de porta no roteador é o caminho a seguir.
Protocolos para passagem NAT
Existem maneiras de ativar esse tipo de comunicação sem a configuração manual do encaminhamento de porta, mas elas geralmente dependem do suporte do roteador e / ou de um agente de conexão externo.
Geral
- UDP Hole punching - explicação muito clara
- Perfuração
- NAT Traversal
Específico
I would like to have a reference in any programming language of this case
Se você está escrevendo o software em ambas as extremidades, provavelmente há muitos exemplos que você pode seguir.
Por exemplo, veja