解决Firewalld无法拦截docker容器映射的端口

在Centos 7中,就是开启了firewalld,但是还是无法将docker/k8s容器创建的端口给拦截掉,导致被扫描到漏洞而不得不进行整改。
本着不被发现就没有漏洞的原则,使用防火墙拦截掉不给扫描到不久可以了?!!!哈哈哈~~~

一、官方的端口说明
关于端口的官方说明可见地址:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

二、假设k8s部署情况如下

主机名 主机IP
master 192.168.1.91
node01 192.168.1.92
node02 192.168.1.93
node03 192.168.194

三、所有机器上执行如下命令

1、开启防火墙服务

systemctl restart firewalld

2、将集群内所有的节点IP配置到防火墙可信区中

firewall-cmd --permanent --zone=trusted --add-source=192.168.1.91
firewall-cmd --permanent --zone=trusted --add-source=192.168.1.92
firewall-cmd --permanent --zone=trusted --add-source=192.168.1.93
firewall-cmd --permanent --zone=trusted --add-source=192.168.1.94

3、增加防火墙规则

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -j ACCEPT -m comment --comment "kube-proxy redirects"
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 1  -j ACCEPT -m comment --comment "docker subnet"

4、设置防火墙伪装ip, 打开NAT,默认是关闭状态
不配置这个会导致容器无法拦截到外部

firewall-cmd --add-masquerade --permanent

5、开放需要的端口

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

6、重新加载配置

firewall-cmd --reload

还是尽量修复漏洞比较好,这是不得已的办法。。。。。

ChiuYut

2023年04月06日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!