Linux 下RAC配置开启iptables防火墙后端口配置
RAC配置iptables防火墙
安装RAC的时候,要求关掉防火墙
安全整改的时候,又要求防火墙开启(或者以黑名单模式配置防火墙,禁掉某些敏感端口)
经测试可以开启iptables防火墙,但是需要使用iptables -F 清理所有的防火墙(默认规则),RAC在未配置任何防火墙规则的时候正常,些时RAC已经有了可以开启防火墙的基础
如果要开启/禁用某些端口或规则,需要测试
比较防火墙规则的差异
备份RAC不能使用时的防火墙的规则
清理掉所有规则之后,RAC集群可用,重新配置防火墙规则之后,RAC集群可用
# # 防火重启生效 启用防火墙
# service iptables restart
# # 开启防火墙,清除所有规则
# iptables -F
# # 查看当前规则
# iptables -nL
# # 防火墙保留现有规则 把当前规则保存到文件/etc/sysconfig/iptables
# service iptables save
#
# iptables -nL
# Chain INPUT (policy ACCEPT)
# target prot opt source destination
# ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
# ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
# ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
# ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
# REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
# ACCEPT tcp -- ip1 0.0.0.0/0 tcp dpt:22
# ACCEPT tcp -- ip2 0.0.0.0/0 tcp dpt:22
# ACCEPT tcp -- ip3 0.0.0.0/0 tcp dpt:22
# ACCEPT all -- 127.0.0.1 0.0.0.0/0
# ACCEPT tcp -- ip4 0.0.0.0/0 tcp dpt:22
# ACCEPT tcp -- ip4 0.0.0.0/0 tcp dpt:22
# ACCEPT tcp -- ip4 0.0.0.0/0 tcp dpt:22
# ACCEPT tcp -- ip4 0.0.0.0/0 tcp dpt:8999
# DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8999
# DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:137
# DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:138
# DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
# DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
# DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3389
# service iptables status;iptables -nL
# service iptables stop
# service iptables restart
# 开启防火墙之后 集群失败的差异规则配置(4条默认规则会影响RAC)
# 比较防火墙规则:开启防火墙之后,RAC不能使用主要是以下4条默认规则:
# -A FORWARD -j REJECT --reject-with icmp-host-prohibited
# -A INPUT -j REJECT --reject-with icmp-host-prohibited
# -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# -A INPUT -p icmp -j ACCEPT
# redhat7 增加以下2个
# -A INPUT -i lo -j ACCEPT
# -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
配置的脚本 可以直接执行
# 备份当前配置
iptables-save > /root/iptables_`date +%Y%m%d%H%M`.txt
# 清理当前规则
iptables -F
# 配置规则(黑名单模式)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip1/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip2/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip3/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip4/32 -j ACCEPT
iptables -A INPUT -s ip5/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip6/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip7/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s ip8/32 -p tcp --dport 8999 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 8999 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 137 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 138 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 139 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 445 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 3389 -j DROP
iptables -nL
service iptables save
systemctl enable iptables
systemctl restart iptables