99 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上

呵呵 最近部署 zookeeper 的时候出现这样的一个问题

centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上

但是再 另外的一个虚拟机环境, ubuntu 16 的环境, docker 启动 2181 的服务, 然后 安装 firewalld, 配置 开放 2181 的 tcp 服务, 客户端能够正常连接上

关闭防火墙之后, 客户端能够连接上, 但是重新启动防火墙之后 客户端连接不上

systemctl status firewalld -l 查看 firewalld 的状态, 可以看到 2181 的相关三条规则未加载

4月 13 15:16:43 gp2 firewalld14355: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 2181 -j DNAT --to-destination 172.23.0.2:2181 ! -i br-f40a423d79d9' failed: iptables: No chain/target/match by that name.

4月 13 15:16:43 gp2 firewalld14355: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-f40a423d79d9 -o br-f40a423d79d9 -p tcp -d 172.23.0.2 --dport 2181 -j ACCEPT' failed: iptables: Bad rule (does a matching rule exist in that chain?).

4月 13 15:16:43 gp2 firewalld14355: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.23.0.2 -d 172.23.0.2 --dport 2181 -j MASQUERADE' failed: iptables: No chain/target/match by that name.

iptables: No chain/target/match by that name.

  • 原因解释
    • 重新设置网关后,iptables( firewalld )被激活,docker chain 设置未更新 !
    • 重启docker服务,促使最新设置被加入到 iptables 中。

解决方式, 首先重启 docker 服务, 然后 再重新加载 firewalld 的服务

这是因为 程序加载的时候 程序加载顺序的问题??

先启动的是 firewalld 的服务, 然后 开机之后才启动的是 docker 服务, 导致 firewalld 未加载到 docker 相关的 docker.chain 相关的配置

呵呵 和上面的这个 systemctl status firewalld -l 查看 firewalld 的状态 没有关系?

我关闭了 firewalld, docker 服务, 然后启动 firewlld, docker 依然能够访问服务

然后重启 firewalld 服务此时 docker 服务正常运行, 查看日志 依然还是存在这个报错信息

我关闭了 firewalld, docker 服务, 然后启动 docker, firewlld 依然能够访问服务, firewalld 没有报错信息

好像还是 么有搞懂问题, 仅仅是知道了这种场景下的一种可能的解决方式

希望 以后能够有机会能够搞懂这个问题吧? 现在也已经复现不出来了

完

相关推荐
女神下凡2 分钟前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽8 分钟前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
SQL771 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS3 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet3 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落5 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall6 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy7 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘7 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下16 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器