问题标签 [firewalld]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
743 浏览

docker - 如何使用 docker 20.10 配置 firewalld

我意识到最近 docker 添加了与 firewalld 的集成,我只想使用 firewalld 而不是 iptables 无聊的规则和链来设置我的服务器。

这是我的码头区输出:

我已经使用上述配置运行了多个服务,包括 Laravel(nginx 端口绑定 80 -> 5050)、mysql 等。我希望任何人都无法访问端口 5050、3306(mysql),但不幸的是防火墙没有效果,一切都是开放的,可以从外部访问。

这是码头工人模块 码头工人模块

现在如何真正配置firewalld以丢弃除允许端口之外的每个请求?

0 投票
2 回答
3920 浏览

docker - 如何更正 firewalld 和 docker/nginx 的配置?

我有一个 CentOS 7 服务器,它运行了 600 多天,直到它最近重新启动,之后传入的 Web 请求收到 HTTP523(源不可访问)错误代码(通过 Cloudflare,如果这有什么不同?)除非我停止firewalld服务。没有 ,事情运行良好firewalld,但我宁愿不要让它禁用!

我尝试以各种顺序停止docker和重新启动它们,但除非我停止,否则会发生相同的错误。firewalld523firewalld

/var/log/firewalld包含一些可能有帮助的警告:

  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-8acb606a3b50 -o br-8acb606a3b50 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
  • WARNING: AllowZoneDrifting is enabled. This is considered a n insecure configuration option. It will be removed in a future release. Please consider disabling it now.
  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER' failed: iptables v1.4.21: Couldn't load target 'DOCKER':No such file or directory
  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING' failed: iptables: Bad rule (does a matching rule exist in that chain?).
  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT' failed: iptables: Bad rule (does a matching rule exist in that chain?)
  • WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -F DOCKER' failed: iptables: No chain/target/match by that name.

关于所需的任何手动配置/命令,我在该地方发现了看似相互矛盾的建议:

  1. firewall-cmd --permanent --zone=trusted --add-interface=docker0在 CentOS 论坛上
  2. firewall-cmd --zone=trusted --remove-interface=docker0 --permanent在官方的 Docker 文档上——这肯定与上述相反吗?
  3. 一堆firewall-cmd关于 Docker github 问题的手动命令——当然所有这些都不是必需的?
  4. 这个看起来很有希望-nmcliNetworkManagerfirewall-cmd --permanent --zone=trusted --change-interface=docker0

我不完全了解br-8acb606a3b50接口的来源,或者我是否需要做任何事情来配置它以及docker0是否使用上述解决方案4.?在重新启动之前,它多年来一直自动运行良好!

现在是否需要一些魔法firewalld咒语(为什么?!)或者有什么方法可以让系统恢复到重新启动之前的正确自动/默认配置?

0 投票
0 回答
68 浏览

docker - 在 Docker Swarm 集群中,工作节点被 firewalld 阻止

我有两个虚拟机 - VM1 - 10.0.0.2 - Docker Swarm Manager Node VM2 - 10.0.0.3 - Docker swarm worker Node

如果我停止防火墙,我可以看到工作节点处于活动状态。但是如果我在管理器节点上启用firewalld,则状态变为-ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION rgq81q1ozoe2353j75oxa2f1b * cct-dev-vm01 Ready Active Leader 20.10.4 efjyexoxeyee6x1se8dxixtnx kst-dev-vm02 Down Active 20.10.4

这意味着它被firewalld阻止了。我已将暖端口添加到 firewalld、docker 区域和公共区域,但它仍然无法正常工作。

公共目标:默认 icmp-block-inversion:无接口:源:服务:驾驶舱 dhcpv6-client ssh 端口:2376/tcp 2377/tcp 7946/tcp 7946/udp 4789/udp 协议:伪装:是 转发端口:源-端口:icmp-blocks:丰富的规则:

docker(活动)目标:接受 icmp-block-inversion:无接口:br-2d241eb8316d br-a4c9613edebf br-cf0b084359f9 docker0 docker_gwbridge 源:10.0.0.3 服务:端口:2376/tcp 2377/tcp 7946/tcp 7946/udp 4789/ udp 协议:伪装:无转发端口:源端口:icmp-blocks:丰富规则:

请有任何建议

感谢 Pankaj

0 投票
1 回答
329 浏览

docker - 无法访问 docker 容器内的 Eureka 仪表板

我正在为运行 Oracle Linux 8 的服务器设置 Spring Cloud Config Server 和 Eureka Discovery Service 的 docker 容器测试环境。在此之前,我从firewalld添加了以下端口以允许入站(之后重新加载并重新启动防火墙):

  • 8086:Spring Cloud 配置服务器
  • 8087:尤里卡发现服务

我可以确认端口已成功添加

在此处输入图像描述

接下来,我创建了一个 docker 网络:docker network create net-test然后构建并运行 Spring Cloud Config Server,当我尝试 curl: curl http://192.168.1.100:8086/actuator(dummy) 时,它可以通过我的本地计算机访问,因为它显示了执行器的详细信息。

接下来,我运行 Eureka 并检查日志以及它从 Spring Cloud Config Server 获取应用程序属性。 在此处输入图像描述

但是,我无法通过浏览器或 curl ( curl http://192.168.1.100:8087) 访问它Failed to connect to 192.168.1.100 port 8087: Connection refused

这是 Eureka 的 application.properties

更新:

  • 这是 8086 和 8087 的 nmap 结果 在此处输入图像描述 在此处输入图像描述

  • 这是来自 iptables 在此处输入图像描述

更新 这是我使用的 Docker 命令/设置

  • 码头工人网络:docker network create net-test
  • Dockerfile
  • 码头工人构建:docker build --tag=discovery-service --force-rm=true .
  • 码头工人运行:docker run -p 8087:8087 --network=net-test --name=discovery-service discovery-service
0 投票
0 回答
29 浏览

firewalld - firewalld 处于非活动状态,没有找到日志,为什么?

如何找出我的 firewalld 未激活的原因?我在 /var/log/firewalld 目录中也没有找到日志。下面是我的 frewalld 的状态,我想找到原因不只是重新启动它

提前感谢您的提示/反馈!

0 投票
0 回答
33 浏览

video-streaming - 从一个接口到另一个接口的多播路由

我的 CentOS7 主机上有多个网卡。

eth0 (192.168.10.0/24) 是我连接的网络摄像头,它通过 235.254.87.45 端口 1234 发送多播

eth1 (10.10.0.0/24) 在另一个子网上,我想通过 eth1 将多播流量发送到上游主机。

我错过了上面的东西吗?

0 投票
0 回答
167 浏览

linux - 没有名为 _dbus_bindings 的模块 fedora 34

今天早上重启电脑,发现系统安全服务守护进程(SSSD)和Firewalld服务没有启动,于是我用systemctl status查看问题,得到了
Firewalld:

固态硬盘:

然后我尝试打开自动错误报告工具(ABRT)并没有打开,所以我使用终端打开并找到了这个 ABRT在终端的输出

我最近使用“dnf update”更新了所有应用程序,Python 3.9.5(仅供参考,不知道这是否是原因)就是其中之一。

我尝试使用命令“firewalld”使用终端手动运行firewalld输出

所以我重启了电脑,然后fsck失败了,所以系统自动进入紧急模式,然后它清除了一些部分,我在紧急模式下使用终端重新启动

Firewalld 和 SSSD 仍然失败,这是因为 DBus

我现在该怎么办?

提前致谢

0 投票
0 回答
106 浏览

docker-compose - UDP 流应用程序不能从 docker 容器到网络上的外部 UDP 套接字(在不同的服务器上运行,但在网络上)

我有一个 docker 应用程序在网络上的服务器(.80)上运行,具有单独的硬件/服务器(.50),它需要通过 UDP 发送数据。该controller服务(在 .80 上运行)充当在 8000 上公开的 API,可通过打开 firewalld(在 .80 上)中的端口在网络上访问。 firewall-cmd --permanent --add-port=8000/tcp

此外,该controller服务在发布/卷曲时会在后台进行一些数据处理,然后再将 UDP 数据包发送到 239.0.0.5:7775 上暴露的 UDP 套接字上的 0.50。

在 docker bridge 网络/自定义网络 (.80) 中运行controller服务时,我可以根据需要访问控制器 API,但无法获取从 .80 发送的 UDP 数据包/由在 .50 上运行的 UDP 应用程序接收的 UDP 数据包

如果我在网络模式 = "host" 下运行我的服务(6379 和 8000 作为docker 镜像构建,从而使它们可以在主机上访问,尽管没有在 compose 中定义):

但是,这可能不太安全且不可取,因为 redis 服务不再隔离在桥接网络中,并且主机上的任何人都可以使用 (.80)。我的预感是它适用于发送 UDP,因为它继承了我缺少的主机中配置的一些网络配置/路由/分辨率。

我的系统工程/网络不是很好,所以我的具体问题是:有没有办法controller在 docker bridge 网络上运行服务,但启用对网络上运行的其他硬件/服务器公开的 UDP 套接字的通信/访问?

或者,如果我被困controller在主机网络上以保持与我需要发送 UDP 数据包的其他硬件服务的通信,是否有更安全的方式来编写 redis 以便控制器可以连接,但不是主机系统上的每个人都可以连接?

如果我错过了帮助诊断所需的网络部分,请告诉我,我会更新这篇文章!

0 投票
2 回答
770 浏览

docker - 来自 docker 容器的暴露端口无法通过 RedHat 8 中的 IP 地址访问主机服务器

我在 RedHat 8 中运行 docker 容器。在我的 docker 容器中,我暴露了端口 8080 以便从外部访问。我可以从其他服务器远程登录 8080,但我无法通过 IP 地址从主机服务器远程登录 8080。

在此处输入图像描述

使用 IP 地址无法从主机服务器访问暴露的端口 8080。它可以通过 localhost 或 127.0.0.1 远程登录 8080。

主机服务器上的 telnet IP_Address 8080 有问题。

通过 IP 地址从其他服务器 Telnet 8080 是可以的。

来自其他服务器的 telnet IP_Address 8080 正常

0 投票
1 回答
47 浏览

linux - 如何为 Linux 防火墙编写输出控制

我是从日本发的。我的英语不是很好,所以如果我问粗鲁的问题,我很抱歉。

我正在使用 AWS EC2 构建服务器。

我熟悉使用 AWS SecurityGroup 和 NACL。

这次我还需要同时在我的 EC2 上为 Linux 操作系统配置防火墙。

我正在使用 SSM 连接到 EC2 实例。

我想控制 Linux 操作系统防火墙的输出。它看起来像这样。例子)

使用命令 [firewall-cmd --direct add-rule ipv4 filter OUTPUT ]。

我也不知道允许返回数据包或 OUTPUT 的数量。有人请帮助我吗?

感谢您的帮助,谢谢。