Oracle 设置白名单过滤

最近有一个需求  要求开发人员不能随便连接测试的数据库

又不想太过复杂,部分人还得进行连结. 

查了下往上是有方案的:

就是 TCP_VALIDNODE_CHECKING 参数

解决方法和说明如下

来源: https://www.linuxidc.com/Linux/2014-10/108650.htm

修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件

增加以下内容(红色表示注释):

#开启ip限制功能
tcp.validnode_checking=yes
#允许访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.invited_nodes=(192.168.1.110)
#禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.excluded_nodes=(192.168.1.111)

然后重启监听即可。

注:

1、第一行必需写,任何平台都可以,但是只适用于TCP/IP。

2、第二行和第三行任写一行即可,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。

3、不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器。

但是我这边有一个坑. 

因为我的虚拟机里面为了保证能够快速clone 并且能够支持 外部访问, tnsname 里面都是设置的机器名.

所以 需要改成如下状态

增肌本机的机器名, 本机的IP地址以及最简单的 loopback的地址.

tcp.validnode_checking=yes
tcp.invited_nodes=(10.24.22.118,Win12r2Update,127.0.0.1,10.24.22.161,10.24.22.162,10.24.22.238)
TCP.EXCLUDED_NODES=()

可以增加上 app的地址和可以允许访问的 ip地址 放到括号里面就可以了

设置完之后执行命令 reload即可 不需要重新start 一下

lsnrctl reload

 

你可能感兴趣的:(Oracle 设置白名单过滤)