Eu tenho um roteador Draytek configurado para encaminhar conexões SSH para um servidor interno apenas de endereços IP específicos. Os clientes e eu podemos nos conectar externamente com sucesso, exceto aquele que não pode se conectar ao endereço IP estático público do nosso roteador, mas apenas ao seu nome de domínio. router.domain.com O roteador deve ter um nome de domínio atribuído a ele? Não tenho certeza porque eles só podem se conectar ao nome de domínio e não ao ip - Conselho apreciado
Com base nas informações limitadas da pergunta, não é possível dizer com certeza por que a conectividade usando um nome de host funciona, mas conectar-se ao mesmo servidor usando um endereço IP não funciona.
No entanto, acho que a explicação mais provável é que o cliente depende do DNS64 + NAT64 para se conectar ao servidor. Desde que os endereços IPv4 acabaram, as implantações de vários tipos de soluções CGN tornaram-se mais comuns. Um deles é DNS64+NAT64, e tem a limitação de que os clientes não podem se conectar a servidores IPv4 por endereço IP.
O que acontecerá quando esse cliente se conectar a um servidor somente IPv4 é o seguinte:
server.example.com
server.example.com
server.example.com
192.0.2.1
192.0.2.1
em64:ff9b::192.0.2.1
64:ff9b::192.0.2.1
64:ff9b::192.0.2.1
em192.0.2.1
Se o cliente for OpenSSH, você pode usar
ssh -v
no lado do cliente para ver a qual endereço IP ele está se conectando. Se o servidor for apenas IPv4 e o cliente se conectar a um endereço IPv6 quando receber o nome do host, você saberá que o cliente depende de DNS64+NAT64.Mitigações possíveis se você não conseguir se conectar ao endereço IP devido ao NAT64: