阿里云數(shù)據(jù)庫(kù)SQL Server如何定位IP地址?
發(fā)布時(shí)間:2019-06-20 點(diǎn)擊數(shù):1389
場(chǎng)景一
問(wèn)題描述
用戶(hù)的公網(wǎng)IP不固定,使用本地IP查看工具定位到的IP不準(zhǔn)確,即使將查詢(xún)到的本地IP加入了RDS的白名單中,連接RDS的時(shí)候也會(huì)報(bào)錯(cuò)。所以,用戶(hù)需要查詢(xún)到準(zhǔn)確的客戶(hù)端IP才能訪問(wèn)RDS。
注意事項(xiàng)
如果您發(fā)現(xiàn)您本地設(shè)備的公網(wǎng)IP地址會(huì)變化,而且建立的連接是用于生產(chǎn)環(huán)境,則建議您改為使用內(nèi)網(wǎng)連接,或者在白名單中配置合理的公網(wǎng)IP段,確保不會(huì)因?yàn)镮P地址改變而斷連。
獲取客戶(hù)端IP
-
1.將IP地址0.0.0.0/0加入RDS實(shí)例的白名單中,操作方法請(qǐng)參見(jiàn)設(shè)置白名單。
說(shuō)明 將IP地址0.0.0.0/0添加到RDS實(shí)例的白名單中,代表允許任何IP訪問(wèn)RDS實(shí)例。
- 2.使用客戶(hù)端連接RDS的SQL Server數(shù)據(jù)庫(kù)。
-
3.執(zhí)行如下命令,查詢(xún)客戶(hù)端IP。
SELECT CONNECTIONPROPERTY('PROTOCOL_TYPE') AS PROTOCOL_TYPE, CONNECTIONPROPERTY('CLIENT_NET_ADDRESS') AS CLIENT_NET_ADDRESS
- 4.將步驟 1 在白名單中添加的 0.0.0.0/0 條目刪除,添加上真實(shí)的出口IP。
場(chǎng)景二
問(wèn)題描述
若您想要統(tǒng)計(jì)已連接到RDS的SQL Server數(shù)據(jù)庫(kù)的所有IP,或定位一些安全問(wèn)題,如鏈接泄露等,您可以使用獲取已連接到數(shù)據(jù)庫(kù)的所有IP的方法。
獲取所有連接到數(shù)據(jù)庫(kù)的IP
- 1.將IP地址0.0.0.0/0加入RDS實(shí)例的白名單中,操作方法請(qǐng)參見(jiàn)設(shè)置白名單。
- 2.使用客戶(hù)端連接RDS的SQL Server數(shù)據(jù)庫(kù)。
-
3.執(zhí)行如下命令,查詢(xún)所有連接到數(shù)據(jù)庫(kù)的IP。
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'
- 將在步驟1中添加的0.0.0.0/0或您公司的IP段從白名單中刪除。
查看更詳細(xì)的連接參數(shù)配置
在查詢(xún)到已連接到數(shù)據(jù)庫(kù)的所有IP后,若您需要查看單個(gè)連接更詳細(xì)的參數(shù)配置,請(qǐng)執(zhí)行如下命令: