kubernetes 1.11.5
docker 18.06.3
需求:需要屏蔽除本地以为的主机访问kubernetes nodeport (如端口31000)
解决方法:(所有node节点也需要加上)
在iptables的raw表添加一条规则就可以了
iptables -t raw -I PREROUTING ! -s 192.168.0.0/24 -p tcp --dport 31000 -j DROP
上面规则的意思就是除了192.168.0.0/24的主机外,其他网段主机不能访问端口31000
如果是多网段可以(示例):
只允许192.168.0.0/24,172.16.0.0/24,10.10.0.0/24访问31000端口,注意iptables规则的顺序
iptables -t raw -I PREROUTING -p tcp --dport 31000 -j DROP
iptables -t raw -I PREROUTING -s 192.168.0.0/24 -p tcp --dport 31000 -j ACCEPT
iptables -t raw -I PREROUTING -s 172.16.0.0/24 -p tcp --dport 31000 -j ACCEPT
iptables -t raw -I PREROUTING -s 10.10.0.0/24 -p tcp --dport 31000 -j ACCEPT