ORACLE RAC集群访问策略限制
背景:为了数据库集群服务器的安全,需要对RAC集群做防火墙的策略限制,增加集群系统安全性。
首先需要了解RAC集群特性才能做出相应设置 RAC集群是为了提高数据库的容错率、可扩展性。通过多节点之间的负载均衡,提高最大连接数和并发时间。
集群配置信息在host文件中: public ip用于集群向外部统一提供网络连接,是本机物理网卡提供的ip private ip用于集群之间的keepalive等存活性检测,private ip必须在同一网段中 virtual ip需要和物理网卡在同一网段,当其中某一台服务器宕机后vip会漂移到其他存活节点上,避免整个集群挂掉。 scan ip用于DNS和GNS解析。
在本例中使用iptables进行配置,配置后不能影响RAC集群服务。可能会由于配置的错误导致RAC集群之间不能进行互相通信,影响数据存储。
首先下载iptables yum install -y iptables
修改防火墙配置 vi /etc/sysconfig/iptables
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -N whitelist -A whitelist -s (public ip) -j ACCEPT -A whitelist -s (private ip) -j ACCEPT -A whitelist -s (scan ip) -j ACCEPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -i eth0:1 -j ACCEPT -A INPUT -p tcp -j whitelist -A INPUT -p udp -j whitelist -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited
其中需要注意以下几点: 1.需要放行所有的ip地址 2.RAC集群中使用到了udp和tcp协议,私网通信使用的是udp协议,需要配置放行 3.通过绑定private ip网卡的方式进行放行 4.如果需要应用在iptables的出口方向需要改成以下配置: -A INPUT -m state --state ESTABLISHED,RELATED -j whitelist
最后启用墙即可: systemctl enable iptables systemctl restart iptables
关闭使用如下命令: systemctl disable iptables 避免服务器重启导致的无法访问 systemctl stop iptables
|