Ubuntu系统下lsnrctl的防火墙配置指南
lsnrctl是Oracle数据库的核心管理工具,用于控制监听器(Listener)的启动、停止及状态查看。由于监听器需通过特定端口(默认TCP 1521)与客户端通信,因此必须配置Ubuntu防火墙允许该端口的流量通过,否则会导致数据库连接失败。
在配置防火墙前,需先明确lsnrctl监听的端口号。默认情况下,Oracle监听器使用TCP 1521端口,但也可通过自定义配置使用其他端口(如1526用于OEM)。
使用以下命令查看监听器状态及端口信息:
lsnrctl status
在输出结果中,找到“监听端口”或“Local Address”字段,确认端口号(如1521)。
Ubuntu默认使用**ufw(Uncomplicated Firewall)**作为防火墙管理工具,操作简单且适合新手。以下是具体配置流程:
运行以下命令确认ufw是否启用:
sudo ufw status
若输出显示“Status: inactive”,则需先启用ufw:
sudo ufw enable
使用以下命令允许指定端口(如1521)的TCP流量:
sudo ufw allow 1521/tcp
若使用自定义端口(如1526),将命令中的1521替换为实际端口号即可。
为使新规则生效,需重新加载ufw:
sudo ufw reload
再次运行sudo ufw status,检查输出结果中是否包含允许目标端口的规则(如1521/tcp ALLOW)。
若系统未使用ufw,而是采用iptables或firewalld,可参考以下命令:
# 允许TCP 1521端口
sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
# 保存规则(Ubuntu需安装iptables-persistent)
sudo netfilter-persistent save
# 允许TCP 1521端口永久生效
sudo firewall-cmd --permanent --add-port=1521/tcp
# 重新加载firewalld
sudo firewall-cmd --reload
sudo ufw status或sudo firewall-cmd --list-all验证。$ORACLE_HOME/network/admin/listener.ora文件中的PORT参数),并同步更新防火墙规则。lsnrctl stop
lsnrctl start
通过以上步骤,即可完成Ubuntu系统下lsnrctl的防火墙配置,确保Oracle监听器正常接收客户端连接请求。