在没有启用服务器层防火墙的时候,可以通过数据库sqlnet配置起到白名单的作用;数据库层白名单设置仅允许在列表中的IP登录数据库,不在列表中的全部禁止访问;
以下为单机模式和集群模式的配置方法:
#Oracle版本:11.2.0.4
一、单机模式
1、sqlnet.ora 配置
在 $ORACLE_HOME/network/admin/sqlnet.ora 文件中添加以下内容:
TCP.VALIDNODE_CHECKING=yes # allowlist TCP.INVITED_NODES=(192.168.18.18,ip2,ip3) # blocklist TCP.EXCLUDED_NODES=(10.10.10.10,ip2,ip3)
一般只配置allowlist即可;如果配置blocklist,则列表中的IP将被禁止访问;
2、停止启动监听生效
lsnrctl stoplsnrctl start
二、集群模式
1、登陆GRID用户,进入以下目录
cd /u01/app/11.2.0.4/grid/network/admin/
2、同单机模式一样配置sqlnet.ora,每个节点都要配置,需要把RAC的Public IP,Private IP,VIP,Scan IP 都加到 TCP.INVITED_NODES 列表;
3、重启监听
#NODE 1:
#启动监听后检查监听没问题再重启其他节点;
srvctl stop listener -n RAC1srvctl start listener -n RAC1
# lsnrctl status
#NODE 2:
srvctl stop listener -n RAC2srvctl start listener -n RAC2
# lsnrctl status