1 在 yast2 停止防火墙并防止其自动启动

1 在 yast2 停止防火墙并防止其自动启动

我有一台Suse11.2的机器,上面有以下服务:oracle数据库XE Jboss+Tomcat6.0

我需要将 oracle 默认的 dbms_xdb httpport 更改为 9080,这样我就可以使用 tomcat @8080 端口。由于我正在开发这个应用程序,我使用 localhost:8080 进行了大量测试,并通过 localhost:1521 访问数据库,并且运行良好。但是当我需要访问这个 ip 时,它没有响应:例如 192.168.1.4:8080 和 :1521,它在浏览器中显示,当我尝试连接 oracle 时,它​​无法连接到服务器......但我不明白为什么它连接到 9080 端口(oracle dbms http)

我做的事情:

1 在 yast2 停止防火墙并防止其自动启动

2 运行“/etc/init.d/SuSEfirewall2_setup stop”

回复:“关闭防火墙......完成”

3 列出 iptables 规则:

============================================================开始链输入(策略接受)目标保护选择源目标

链转发(策略接受)目标保护选择源目标

链输出(策略接受)目标保护选择源目标=========================================================结束

但是它一直阻塞除 9080 和 icmp 之外的其他端口...有人知道发生了什么吗:?

提前谢谢你,安德烈。

答案1

netstat -lnt |复制代码

tcp 0 0 127.0.0.1:8080 0.0.0.0:* 侦听

netstat -lnt |复制代码

tcp 0 0 127.0.0.1:1521 0.0.0.0:* 侦听

netstat -lnt |复制代码

tcp 0 0 0.0.0.0:9080 0.0.0.0:* 监听

好吧,也许我没有说清楚:但是 oracle(1521) 和 (jboss+tomcat)8080 正在工作,但只能通过本地主机访问。

这就是答案:端口 1521 和 9080 仅监听 IP 地址 127.0.0.1 (localhost)。不涉及防火墙。

您需要更改这些服务的配置以监听服务器的所有 IP 地址。我不知道如何对 Oracle 执行此操作。

答案2

确保数据库引擎正在运行:

这将告诉您监听器是否正在运行:

$ netstat -tnl | grep 1521

如果这里没有看到结果,请启动监听器(确保环境设置正确):

$ lsnrctl start
$ lsnrctl status

这将告诉您进程监视器是否正在运行:

$ pgrep -fl pmon

如果 pmon 正在运行,则数据库引擎需要一些时间才能注册。如果该命令没有结果,请启动它(再次检查您的环境):

$ sqlplus /nolog
sqlplus> conn / as sysdba
sqlplus> startup

如果数据库已启动,但您有其他问题(SQLNet),您可以随时使用内部。作为运行该进程的用户(通常是 oracle),您可以执行几乎相同的行:

$ sqlplus /nolog
sqlplus> conn / as sysdba
sqlplus> # your statements / alter system / alter database

如果一切正常,请通过 1521 端口 telnet 到您的 IP:

$ telnet <ip> 1521

另外,确保 iptables 允许您连接:

# iptables -nL

如果您发现任何可疑规则,请将其全部清除(您将不再有防火墙规则):

# iptables -F

答案3

您是否尝试过确保这些端口确实在监听?

netstat -lnt | grep 1521
netstat -lnt | grep 8080

相关内容