Oracle 限制连接的IP


        在oracle中,可以控制哪些IP可以连接数据库,哪些IP不能连接数据库。在9i及以后中,单纯的设定允许的IP和禁止的IP,修改sqlnet.ora是最好最快的方法


1、修改sqlnet.ora文件

在linux版本的oracle中,默认是没有sqlnet.ora这个文件的
$ cd $ORACLE_HOME/network/admin
$ vi sqlnet.ora

#增加如下部分 
tcp.validnode_checking=yes
  
#允许访问的IP 
tcp.invited_nodes=(192.168.100.252,192.168.100.253)  
  
#禁止访问的IP 
tcp.excluded_nodes=(192.168.100.222,192.168.100.232) 


2、重启监听
$ lsnrctl stop
$ lsnrctl start



    这个时候,就只有ip地址为192.168.100.252以及ip地址为192.168.100.253的客户端可以连接数据库,而ip地址为192.168.100.222以及ip地址为192.168.100.232的客户端则无法连接数据库。

当其他IP的客户端使用PL/SQL连接数据库的时候会显示如下报错:

技术分享



需要注意的问题: 
1、 需要设置参数为YES,这样才能激活。 
2、 建议设置允许访问的IP,因为IP地址有可能被随意修改,就不能起到自己的目的。 
3、 TCP当参数TCP.INVITED_NODES和TCP.EXCLUDED_NODES设置的地址相同的时候将覆盖TCP.EXCLUDED_NODES设置。 
4、 需要重启监听器才能生效。 
5、 这个方式只是适合TCP协议。 
6、 这个配置适用于9i以上版本。在9i之前的版本使用文件protocol.ora。 
7、 在服务器上直接连接数据库不受影响。 
8、 这种限制方式事通过监听器来限制的。 
9、 这个限制只是针对IP检测,对于用户名检测事不支持的。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。