You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用firewalld转发Oracle端口遇ORA-12569错误求解决

解决Firewalld端口转发与ORA-12569: TNS包校验和失败问题

看起来你在配置通过Firewalld转发端口访问Oracle时碰到了两个核心问题:转发规则方向搞反+格式错误,以及导致的ORA-12569校验和失败。我来一步步帮你排查修复:

一、先纠正Firewalld端口转发的核心错误

你的需求是通过服务器B的9800端口访问服务器A的1521端口,但当前的转发命令完全搞反了流量方向,还存在格式问题(toaddr= B里的空格是语法错误)。正确的逻辑是:在服务器B上,把到达本地9800端口的TCP流量转发到服务器A的1521端口。

正确的配置步骤:

  1. 先添加临时转发规则(立即生效,重启Firewalld后失效):
firewall-cmd --zone=public --add-forward-port=port=9800:proto=tcp:toaddr=<服务器A的实际IP>:toport=1521

⚠️ 把<服务器A的实际IP>替换成真实IP,不要留任何空格。

  1. 添加永久转发规则(重启Firewalld后依然生效):
firewall-cmd --permanent --zone=public --add-forward-port=port=9800:proto=tcp:toaddr=<服务器A的实际IP>:toport=1521
  1. 确保服务器B的9800端口允许外部访问(如果需要从其他机器访问B的9800):
firewall-cmd --add-port=9800/tcp
firewall-cmd --permanent --add-port=9800/tcp
  1. 重新加载Firewalld使所有配置生效:
firewall-cmd --reload
  1. 验证转发规则是否正确加载:
firewall-cmd --list-forward-ports

输出应该显示类似 9800/tcp to <服务器A的IP>:1521 的规则。

二、解决ORA-12569: TNS包校验和失败错误

这个错误本质是Oracle客户端和服务器之间的网络包校验和不匹配,结合端口转发场景,主要从两个方向排查:

1. 调整Oracle的SQLNET.ORA校验和设置

端口转发过程中,防火墙可能会对数据包做微小修改,导致Oracle的校验和验证失败。

  • 登录服务器A,找到Oracle安装目录下的sqlnet.ora(通常在$ORACLE_HOME/network/admin),检查以下配置:
    SQLNET.CRYPTO_CHECKSUM_SERVER = ACCEPT
    SQLNET.CRYPTO_CHECKSUM_CLIENT = ACCEPT
    
    如果当前设置为REQUIRED,请临时改为ACCEPT或者直接设置为OFF,然后重启Oracle监听服务:
    lsnrctl stop
    lsnrctl start
    
  • 同时检查执行tnsping的客户端机器的sqlnet.ora,确保客户端和服务器的校验和设置一致,或者都设为ACCEPT/OFF。

2. 确保服务器B开启IP转发功能

端口转发依赖系统的IP转发功能,必须开启:

  • 临时开启(立即生效,重启系统后失效):
echo 1 > /proc/sys/net/ipv4/ip_forward
  • 永久开启(重启系统后依然生效):
    编辑/etc/sysctl.conf文件,添加或修改:
net.ipv4.ip_forward = 1

然后执行命令生效:

sysctl -p

三、最后验证配置

完成上述步骤后,重新执行tnsping <你的新TNS名称>,应该能正常连通。如果还是有问题,可以做以下额外检查:

  • 在服务器B上执行telnet <服务器A的IP> 1521,确认B能直接访问A的1521端口;
  • 核对你的新TNS配置,确保指向的是服务器B的9800端口,示例如下:
    NEW_ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <服务器B的IP>)(PORT = 9800))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <你的Oracle服务名>)
        )
      )
    

内容的提问来源于stack exchange,提问作者Kalina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:13:02