【问题标题】:How to open port in Linux [closed]如何在 Linux 中打开端口 [关闭]
【发布时间】:2013-10-02 19:02:52
【问题描述】:

我已经安装了在 RHEL (centOS) 上的 8080 端口上运行的 Web 应用程序。我只有命令行访问那台机器。我试图从我通过命令行连接到服务器的 Windows 机器访问该应用程序,但它给出了连接超时错误。

然后我尝试打开端口 8080。我在 iptables 中添加了以下条目。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

将其添加到 iptables 后,我重新启动了它 - /etc/init.d/iptables restart

但我仍然无法从我的 Windows 机器访问该应用程序。

我是否做错了什么或遗漏了什么?

【问题讨论】:

  • 你禁用了selinux吗?你运行的是哪个版本的centos?
  • 之间还有其他防火墙吗?你确定你的应用在听吗?确保您在执行netstat -an | grep 8080 时看到了什么
  • 我在 CentOS v7 上也有同样的问题 Netstat 没有显示 8080 所以 iptables 行然后再次检查仍然没有尝试这样做几个星期有没有人现在如何实际添加 8080 所以它是可访问的从外面

标签: linux tcp centos port


【解决方案1】:

以下配置适用于 Cent OS 6 或更早版本

如上所述首先得禁用selinux。

第 1 步 纳米 /etc/sysconfig/selinux

确保文件具有此配置

SELINUX=disabled

SELINUXTYPE=targeted

然后重启系统

第 2 步

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT

第 3 步

sudo service iptables save

对于 Cent OS 7

第一步

firewall-cmd --zone=public --permanent --add-port=8080/tcp

第 2 步

firewall-cmd --reload

【讨论】:

  • 第 3 步失败保存不是有效参数
  • 你看到它适用于 CentOS 6 或更早版本吗?为我工作。
  • 错误参数“新”
【解决方案2】:

首先,您应该禁用selinux,编辑文件/etc/sysconfig/selinux,使其看起来像这样:

SELINUX=disabled
SELINUXTYPE=targeted

保存文件并重启系统。

然后你可以将新规则添加到iptables

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT

然后用/etc/init.d/iptables restart重启iptables

如果它不起作用,您应该检查其他网络设置。

【讨论】:

  • selinux 已禁用,selinuxtype 设置为目标并将规则附加到 iptables。也重新启动了 iptables,但仍然无法正常工作。需要检查其他网络配置
  • @jabaldonedo 我在来自 centos 服务器的 mongodb 负载正好 2 小时时收到 9001 套接字异常。这可以解决这个问题吗?如果是这样,在您看来,我是否必须在远程主机和请求主机上执行此操作,还是仅在远程主机上执行此操作?谢谢!
  • 可能您的问题与 CentOS 无关,您确定您的应用程序配置正确吗?该错误是来自 MongoDB 的连接问题。我不知道您要运行什么应用程序,但我建议您再次检查其配置和/或如果可以,请寻求一些支持帮助。
  • 是的,它是一个 mongodb 客户端方法“db.cloneCollection”。我在 mongo 客户端或 mongod 服务器进程上都没有找到任何类型的超时配置。
  • 重启 iptables 刷新了我的新规则
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 2012-02-13
  • 2017-10-29
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 2015-03-21
相关资源
最近更新 更多