Eu tenho um servidor escutando em todas as interfaces uma porta (usando go net.Listen("tcp", ":{port}")). Também tenho um servidor de backup com o mesmo código, para iniciar se o primeiro servidor falhar. Ambas as máquinas usando o mesmo roteador que possui um endereço IP externo. O roteador atribui um endereço IP privado a cada dispositivo conectado. Um cliente disca para o servidor usando o IP externo do roteador (e determinada porta).
Ao alternar do servidor de backup para o primeiro servidor, ambos estarão escutando em todas as interfaces por um curto período. Não pode haver vários desses ouvintes na mesma máquina, mas podem ouvir de diferentes máquinas. Minha pergunta é: o que acontece se houver vários ouvintes ouvindo em todas as interfaces uma porta de diferentes máquinas (com diferentes endereços IP privados)? Onde acontecerá a conexão do cliente?
Nenhuma conexão de cliente acontecerá enquanto você não tiver nenhum encaminhamento de porta em seu roteador configurado, o que atualmente parece ser o caso.
Depois de configurar o encaminhamento de porta, o tráfego dos clientes para esta porta será passado para o sistema interno especificado como destino no encaminhamento de porta - só pode haver um para uma porta específica. Isso significa que o sistema interno que você configurar no encaminhamento de porta será aquele onde a conexão acontecerá.