修改sqlnet.ora,實現客戶端IP限制
2005-11-23 餘楓
如果要在網絡上做一些IP地址的限制,一般情況下我們首先想到的是用網絡層的防火牆軟件。要找網管來設置。
但是如果網管不在,或者僅僅想在數據庫層來實現IP地址的限制,DBA們只要修改Server端的一個網絡配置文件
sqlnet.ora文件就可以了。
(Oracle9i以上版本,在目錄$ORACLE_HOME/network/admin 或者 %ORACLE_HOME%/network/admin 下)
增加如下內容:
tcp.validnode_checking=yes
#允許訪問的ip
tcp.invited_nodes =(ip1,ip2,……)
#不允許訪問的ip
tcp.excluded_nodes=(ip1,ip2,……)
在OEM的Net Manager圖形界面裏是這樣的配置畫面: 訪問權限
修改sqlnet.ora後,重新啓動listener服務,改動就可以生效了。
如果我們從未允許的IP客戶端連接過來,會出現以下錯誤:
ERROR: ORA-12537: TNS: 連接已關閉
這種在Oracle網絡層實現客戶端IP訪問限制的方法在防火牆後面的公司內部網或者託管機房的內部網裏可以採用。
不允許訪問IP地址的方法我覺得沒有什麼用,因爲IP地址是很容易修改的。