Entorno de prueba: ubuntu 16.04
kubernetes 1.11.5
docker 18.06.3
Requisitos: es necesario bloquear el acceso al puerto de nodo de kubernetes por parte de hosts que no sean el local (como el puerto 31000)
Solución: (Todos los nodos de nodo también deben agregarse)
Simplemente agregue una regla a la tabla sin procesar de iptables.
iptables -t raw -I PREROUTING! -s 192.168.0.0/24 -p tcp --dport 31000 -j DROP
La regla anterior significa que, a excepción del host en 192.168.0.0/24, los hosts de otros segmentos de red no pueden acceder al puerto 31000
Si se trata de varios segmentos de red (ejemplo):
Solo permita que 192.168.0.0/24, 172.16.0.0/24, 10.10.0.0/24 accedan al puerto 31000, preste atención al orden de las reglas de 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 ACEPTAR
iptables -t raw -I PREROUTING -s 172.16.0.0/24 -p tcp --dport 31000 -j ACEPTAR
iptables -t raw -I PREROUTING -s 10.10.0.0/24 -p tcp --dport 31000 -j ACEPTAR