####禁止22端口访问
#先单独对需要访问22的集群节点放行(一定得多开几个窗口)

iptables -A INPUT -p tcp -s 10.11.1.195 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.11.1.196 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.11.1.197 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.11.1.198 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.11.1.22 --dport 22 -j ACCEPT

#然后屏蔽所有对22端口的访问

iptables -A INPUT -p tcp --dport 22 -j DROP
iptables-save
iptables -L -t raw

3、添加到开机自启

echo 'sh /etc/iptables-add.sh' >>/etc/rc.d/rc.local 或者iptables-save

###限制8200端口访问
修复Es相关漏洞(8200端口)
#在node节点上禁止所有IP访问8200端口

iptables -t raw -I PREROUTING -p tcp --dport 8200 -j  DROP

#开放所有node节点源地址10.165.10.x访问集群内的8200端口

iptables -t raw -I PREROUTING -s 10.165.10.10/32 -p tcp --dport 8200 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.165.10.11/32 -p tcp --dport 8200 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.165.10.17/32 -p tcp --dport 8200 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.165.10.18/32 -p tcp --dport 8200 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.165.10.19/32 -p tcp --dport 8200 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.165.10.21/32 -p tcp --dport 8200 -j ACCEPT

#以上步骤需要在集群内的所有节点执行一次
#保存配置
/data/iptables.sh
说明:6台服务器是一个k8s集群,8200端口是service暴露端口,转发到集群所有节点,所以iptables规则所有服务器都要执行。

###限制和开放某个网段访问
##拒绝来自特定网段的流量:

iptables -A INPUT -s 192.168.1.0/24 -j DROP

这个命令会添加一个规则到INPUT链,拒绝来自 192.168.1.0/24 网段的流量。-s 参数指定源IP地址,-j DROP 表示丢弃匹配的流量。
限制多个端口列子
要限制某个网段对特定端口的访问,你可以使用iptables -A命令添加规则。例如,要限制IP地址范围为192.168.1.0/24的网段访问本机的80和443端口,可以使用以下命令:
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 80,443 -j DROP

##允许 192.168.2.0/24 网段的TCP流量访问本机的80端口,你可以使用以下命令:

iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 80 -j ACCEPT

这里,-p 指定协议(例如TCP或UDP),--dport 指定目标端口。如果你想开放所有端口,可以使用 -p all。
开放多个端口列子
开放某个网段对特定端口的访问,可以使用类似的命令,只是将DROP替换为ACCEPT。例如,要允许来自相同网段的流量访问端口80和443,可以使用以下命令:
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 80,443 -j ACCEPT
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐