AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 619803
Accepted
mikemaccana
mikemaccana
Asked: 2014-08-13 02:32:00 +0800 CST2014-08-13 02:32:00 +0800 CST 2014-08-13 02:32:00 +0800 CST

我在 firewalld 的公共区域中添加了一个端口,但仍然无法访问该端口

  • 772

我已经使用 iptables 很长时间了,但直到最近才使用firewalld 。我使用以下命令通过 firewalld 启用了端口 3000 TCP:

# firewall-cmd --zone=public --add-port=3000/tcp --permanent

但是我无法访问端口 3000 上的服务器。从外部盒子:

telnet 178.62.16.244 3000
Trying 178.62.16.244...
telnet: connect to address 178.62.16.244: Connection refused

没有路由问题:我有一个单独的规则,用于从端口 80 到端口 8000 的端口转发,这在外部可以正常工作。我的应用程序肯定也在监听端口:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      99         36797      18662/node

firewall-cmd似乎也没有显示端口 -看看它ports是空的。你可以看到我前面提到的转发规则。

# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports: port=80:proto=tcp:toport=8000:toaddr=
  icmp-blocks:
  rich rules:

但是我可以在 XML 配置文件中看到规则:

# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="dhcpv6-client"/>
  <service name="ssh"/>
  <port protocol="tcp" port="3000"/>
  <forward-port to-port="8000" protocol="tcp" port="80"/>
</zone>

我还需要做什么才能允许在端口 3000 上访问我的应用程序?

另外:通过端口添加访问权限是正确的做法吗?或者我应该为我的应用程序创建一个防火墙“服务”吗?

networking
  • 4 4 个回答
  • 20479 Views

4 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2014-08-19T06:28:56+08:002014-08-19T06:28:56+08:00

    使用该--permanent标志会将您的更改写入持久配置,但不会写入运行配置。在不带标志的情况下再次运行相同的命令--permanent以使其立即生效。

    从 RHEL 7.1和当前版本的 Fedora 开始,您还可以使用以下命令将运行配置复制到永久配置:

    firewall-cmd --runtime-to-permanent
    
    • 12
  2. mikemaccana
    2014-08-13T02:44:50+08:002014-08-13T02:44:50+08:00

    奇怪的是,该规则似乎只被写入配置文件,并没有立即应用。我不得不重新加载防火墙:

    firewall-cmd --reload
    

    在此之后,规则出现了:

    # firewall-cmd --zone=public --list-all
    public (default, active)
      interfaces: eth0
      sources:
      services: dhcpv6-client ssh
      ports: 3000/tcp
      masquerade: no
      forward-ports: port=80:proto=tcp:toport=8000:toaddr=
      icmp-blocks:
      rich rules:
    

    现在可以访问该端口。

    • 5
  3. Sammeer S Raawat
    2021-07-30T22:21:20+08:002021-07-30T22:21:20+08:00

    留下这个注释,因为我的问题没有解决,直到我重新启动 systemctl

    sudo systemctl 重启防火墙

    我已经尝试了以上所有的东西。重新启动虚拟机。我什至在 VNIC 中设置了规则。但是只有在重新启动服务后才能解决。

    环境:Oracle Cloud Network VM:计算实例(使用 Oracle Linux 8 的开发人员)

    • 0
  4. James
    2014-08-19T06:18:11+08:002014-08-19T06:18:11+08:00

    需要重新启动才能应用您所做的更改

    • -3

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve