Este tópico descreve como identificar o endereço IP público real de um cliente quando seu endereço IP muda dinamicamente.
Cenário 1
Problema
Seu cliente tem um endereço IP público dinâmico. Ferramentas locais de consulta de IP podem retornar um endereço impreciso. Mesmo ao adicionar esse endereço à lista de permissões da instância RDS, erros de conexão ainda ocorrem. Para se conectar à instância RDS, encontre o endereço IP correto do cliente.
Observações
Se o endereço IP público do dispositivo local mudar em um ambiente de produção, use uma conexão de rede interna ou configure um bloco CIDR apropriado na lista de permissões. Essa prática evita desconexões causadas por alterações no endereço IP.
Determinar o IP do cliente
-
Adicione
0.0.0.0/0à lista de permissões da instância RDS. Para mais informações, consulte Configurar uma lista de permissões.ImportanteA entrada
0.0.0.0/0permite acesso de qualquer endereço IP. Remova essa entrada imediatamente após concluir o teste. Conecte-se à instância ApsaraDB RDS for SQL Server usando um cliente. Para mais informações, consulte Conectar-se a uma instância ApsaraDB RDS for SQL Server.
-
Execute o comando a seguir para obter o endereço IP do cliente.
SELECT CONNECTIONPROPERTY('PROTOCOL_TYPE') AS PROTOCOL_TYPE, CONNECTIONPROPERTY('CLIENT_NET_ADDRESS') AS CLIENT_NET_ADDRESSNo resultado, o valor de
CLIENT_NET_ADDRESScorresponde ao endereço IP real do cliente. Remova a entrada
0.0.0.0/0da lista de permissões e adicione o endereço IP de saída real.
Cenário 2
Problema
Use o método a seguir para listar todos os endereços IP conectados à instância ApsaraDB RDS for SQL Server ou solucionar problemas de segurança, como vazamentos de conexão.
Encontrar todos os IPs conectados
-
Adicione
0.0.0.0/0à lista de permissões da instância RDS. Para mais informações, consulte Configurar uma lista de permissões.ImportanteA entrada
0.0.0.0/0permite acesso de qualquer endereço IP. Remova essa entrada imediatamente após concluir o teste. Conecte-se à instância ApsaraDB RDS for SQL Server usando um cliente. Para mais informações, consulte Conectar-se a uma instância ApsaraDB RDS for SQL Server.
-
Execute o comando a seguir para consultar todos os endereços IP conectados ao banco de dados.
SELECT SP.SPID, SP.LOGINAME, SP.LOGIN_TIME, SP.HOSTNAME, SP.PROGRAM_NAME, DC.CLIENT_TCP_PORT, DC.CLIENT_NET_ADDRESS FROM SYS.SYSPROCESSES AS SP INNER JOIN SYS.DM_EXEC_CONNECTIONS AS DC ON SP.SPID = DC.SESSION_ID WHERE SP.SPID > 50 AND DC.AUTH_SCHEME='SQL' Remova a entrada
0.0.0.0/0da lista de permissões.
Visualize parâmetros detalhados da conexão
Após consultar todos os endereços IP conectados, execute o comando a seguir para visualizar os parâmetros detalhados de uma conexão específica:
SELECT * FROM SYS.DM_EXEC_SESSIONS WHERE SESSION_ID=<the previously obtained SPID>
Uma consulta bem-sucedida retorna um conjunto de resultados com os parâmetros detalhados da sessão. As colunas principais incluem session_id, login_time, host_name, program_name, host_process_id, client_version, client_interface_name, security_id, login_name, nt_domain, nt_user_name e status.