温馨提示×

Ubuntu Oracle如何配置防火墙

小樊
53
2025-09-27 18:29:11
栏目: 云计算

1. 检查并启用UFW防火墙
UFW(Uncomplicated Firewall)是Ubuntu推荐的简化防火墙工具,首先确认其状态并启用:

sudo ufw status # 查看防火墙状态(若显示“inactive”则未启用) sudo ufw enable # 启用UFW(启用后默认拒绝所有入站流量) 

2. 允许Oracle必要端口通过防火墙
Oracle数据库默认使用1521端口(TCP)进行客户端与服务端的通信,需明确允许该端口:

sudo ufw allow 1521/tcp # 允许TCP协议的1521端口 

若Oracle配置了其他服务(如企业管理器OEM,默认使用1158端口),需同步开放对应端口:

sudo ufw allow 1158/tcp # 示例:允许OEM端口 

3. (可选)允许SSH端口保障远程管理
若需通过SSH远程连接Ubuntu服务器,需开放SSH默认端口(22/tcp),避免配置防火墙后无法远程登录:

sudo ufw allow 22/tcp # 允许SSH端口 

4. 重新加载UFW规则
添加端口规则后,需重新加载防火墙以使更改生效:

sudo ufw reload # 重新加载规则(无需重启服务器) 

5. 验证防火墙规则有效性
通过以下命令确认端口规则已正确添加:

sudo ufw status verbose # 查看详细规则列表(应包含“ALLOW 1521/tcp”等条目) 

输出结果中需显示“1521/tcp ALLOW IN Anywhere”,表示规则生效。

6. 配置Oracle监听器适配防火墙
确保Oracle监听器(Listener)监听的端口与防火墙开放的端口一致。编辑监听器配置文件(位于$ORACLE_HOME/network/admin/listener.ora):

sudo vi $ORACLE_HOME/network/admin/listener.ora 

确认PORT参数设置为1521(或自定义的开放端口):

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)) ) ) 

保存后重启监听器使配置生效:

lsnrctl stop # 停止监听器 lsnrctl start # 启动监听器 lsnrctl status # 检查监听器状态(确认“Listening Endpoints Summary”中包含1521端口) 

注意事项

  • 若使用iptables替代UFW,需通过iptables -A INPUT -p tcp --dport 1521 -j ACCEPT添加规则,并用iptables-save保存配置(Ubuntu默认推荐UFW,操作更简便)。
  • 生产环境中,建议限制允许访问Oracle端口的IP地址(如仅允许可信网段),而非开放给所有IP(0.0.0.0/0),可通过sudo ufw allow from trusted_ip to any port 1521/tcp实现。

0