oracle控制ip的连接
单纯的设定允许的IP和禁止的IP
在9i及以后中,修改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)
重启监听
$ 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、 需要重启监听器才能生效。
4、 这个方式只是适合TCP协议。
5、 这个配置适用于9i以上版本。在9i之前的版本使用文件protocol.ora。
6、 在服务器上直接连接数据库不受影响。
7、 这个限制只是针对IP检测,对于用户名检测事不支持的。