首页主机资讯Oracle在Linux上如何配置防火墙

Oracle在Linux上如何配置防火墙

时间2025-10-27 14:35:05发布访客分类主机资讯浏览227
导读:Oracle Linux防火墙配置指南(iptables与firewalld) Oracle Linux系统默认集成firewalld(动态防火墙管理工具,适用于RHEL 7及以上版本,包括Oracle Linux 7/8/9)作为主要防火...

Oracle Linux防火墙配置指南(iptables与firewalld)

Oracle Linux系统默认集成firewalld(动态防火墙管理工具,适用于RHEL 7及以上版本,包括Oracle Linux 7/8/9)作为主要防火墙解决方案,部分旧版本(如Oracle Linux 6)仍使用iptables(传统静态防火墙工具)。以下是两种工具的具体配置流程:

一、firewalld配置(Oracle Linux 7及以上推荐)

firewalld采用“区域(Zone)”概念,将网络接口划分为不同信任级别(如public、trusted、work),通过服务(Service)或端口(Port)规则控制流量。

1. 检查firewalld状态

systemctl status firewalld

若输出显示“active (running)”,则表示防火墙已启用;若未启用,执行sudo systemctl enable --now firewalld启动并设置开机自启。

2. 开放端口(以1521端口为例,Oracle数据库默认端口)

# 添加永久规则(--permanent表示重启后仍生效)
sudo firewall-cmd --permanent --zone=public --add-port=1521/tcp
# 重新加载配置使规则立即生效
sudo firewall-cmd --reload
# 验证端口是否开放
sudo firewall-cmd --zone=public --list-ports

若输出包含“1521/tcp”,则表示规则生效。

3. 开放服务(更推荐,自动关联端口和协议)

# 添加Oracle数据库服务(需firewalld预定义,若未定义可使用--add-port替代)
sudo firewall-cmd --permanent --zone=public --add-service=oracle-database
# 重新加载配置
sudo firewall-cmd --reload
# 验证服务是否开放
sudo firewall-cmd --zone=public --list-services

firewalld预定义了常见服务(如http、ssh),可通过firewall-cmd --get-services查看所有可用服务。

4. 允许特定IP访问(如仅允许192.168.1.100访问1521端口)

# 添加富规则(rich rule,支持IP、端口、协议等高级条件)
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="1521" accept'
# 重新加载配置
sudo firewall-cmd --reload
# 验证富规则
sudo firewall-cmd --zone=public --list-rich-rules

此规则仅允许指定IP访问1521端口,提升安全性。

二、iptables配置(Oracle Linux 6或旧环境)

iptables是传统静态防火墙工具,通过规则链(Chain)和策略(Policy)控制流量,适用于需要精细调整的场景。

1. 备份现有规则

sudo iptables-save >
     /etc/iptables.backup

修改前备份可避免规则丢失导致网络中断。

2. 清除现有规则

sudo iptables -F  # 清空所有规则
sudo iptables -X # 删除自定义链
sudo iptables -Z # 重置计数器

清除现有规则以确保从干净状态开始配置。

3. 设置默认策略

sudo iptables -P INPUT DROP    # 拒绝所有入站流量(默认拒绝)
sudo iptables -P FORWARD DROP  # 拒绝所有转发流量
sudo iptables -P OUTPUT ACCEPT # 允许所有出站流量(默认允许)

默认策略应遵循“最小权限原则”,仅允许可信流量。

4. 允许本地回环接口

sudo iptables -A INPUT -i lo -j ACCEPT

本地回环接口(lo)用于本机进程间通信,必须允许,否则可能导致系统服务异常。

5. 允许特定IP或网段访问

# 允许192.168.1.100访问所有端口
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
# 允许192.168.1.0/24网段访问1521端口
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1521 -j ACCEPT

根据需求添加规则,优先匹配具体IP或网段,减少规则冲突。

6. 允许已建立的连接

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许已建立的连接(如客户端与服务器之间的响应流量)和相关的流量(如FTP数据连接),确保正常通信不受影响。

7. 保存并重启iptables

# 保存规则(Oracle Linux 6默认使用iptables-services包)
sudo service iptables save
# 重启服务使规则生效
sudo service iptables restart

保存规则后,重启服务确保规则持久化(重启系统后仍有效)。

注意事项

  • Oracle Linux版本差异:Oracle Linux 7及以上默认使用firewalld,6及以下使用iptables。升级系统时需注意防火墙工具的变化。
  • 规则优先级:firewalld的区域规则优先级高于富规则,iptables的规则顺序从上到下依次匹配(第一条匹配的规则生效)。
  • 测试规则:修改规则后,建议通过telnetnc命令测试端口连通性(如telnet < IP> 1521),确保规则配置正确。
  • 备份规则:修改前务必备份现有规则,避免误操作导致网络中断。

通过以上步骤,可根据Oracle Linux版本和需求配置防火墙,确保数据库(如Oracle Database)或其他服务的安全访问。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle在Linux上如何配置防火墙
本文地址: https://pptw.com/jishu/735719.html
Linux Oracle数据库如何进行故障诊断 Linux下Oracle数据库如何进行性能测试

游客 回复需填写必要信息