Estoy intentando abrir el puerto 30080 en una máquina virtual del servidor Ubuntu 18.04 y veo algunos resultados confusos.
salida de iptables
ubuntu@k8-master:~$ sudo iptables -v -x -n -L [sudo] contraseña para ubuntu: ENTRADA de cadena (política ACEPTAR 289 paquetes, 98798 bytes) paquetes bytes destino prot optar por salir origen destino 3919 272820 KUBE-SERVICES todos -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NUEVO /* portales de servicios de kubernetes */ 3919 272820 KUBE-EXTERNAL-SERVICES todos -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NUEVO /* portales de servicios visibles externamente de Kubernetes */ 846424 164692436 KUBE-FIREWALL todos -- * * 0.0.0.0/0 0.0.0.0/0 Cadena ADELANTE (política DROP 0 paquetes, 0 bytes) paquetes bytes destino prot optar por salir origen destino 0 0 KUBE-FORWARD todo -- * * 0.0.0.0/0 0.0.0.0/0 /* reglas de reenvío de kubernetes */ 0 0 KUBE-SERVICES todos -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NUEVO /* portales de servicios de kubernetes */ 0 0 DOCKER-USUARIO todos -- * * 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-1 todos -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACEPTAR todo -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELACIONADO,ESTABLECIDO 0 0 DOCKER todos -- * docker0 0.0.0.0/0 0.0.0.0/0 0 0 ACEPTAR todo - docker0 !docker0 0.0.0.0/0 0.0.0.0/0 0 0 ACEPTAR todo -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 0 0 ACEPTAR todo -- * * 10.244.0.0/16 0.0.0.0/0 0 0 ACEPTAR todo -- * * 0.0.0.0/0 10.244.0.0/16 SALIDA en cadena (política ACEPTAR 281 paquetes, 145464 bytes) paquetes bytes destino prot optar por salir origen destino 6870 412563 KUBE-SERVICES todos -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NUEVO /* portales de servicios de kubernetes */ 846213 192244364 KUBE-FIREWALL todos -- * * 0.0.0.0/0 0.0.0.0/0 Cadena DOCKER (1 referencias) paquetes bytes destino prot optar por salir origen destino Cadena DOCKER-ISOLATION-STAGE-1 (1 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 DOCKER-ISOLATION-STAGE-2 todos - docker0 !docker0 0.0.0.0/0 0.0.0.0/0 0 0 DEVOLVER todo -- * * 0.0.0.0/0 0.0.0.0/0 Cadena DOCKER-ISOLATION-STAGE-2 (1 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 BOTAR todo -- * docker0 0.0.0.0/0 0.0.0.0/0 0 0 DEVOLVER todo -- * * 0.0.0.0/0 0.0.0.0/0 Cadena DOCKER-USER (1 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 DEVOLVER todo -- * * 0.0.0.0/0 0.0.0.0/0 Cadena KUBE-SERVICIOS-EXTERNOS (1 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* robot-shop/web:8080 no tiene puntos finales */ ADDRTYPE coincide con dst-type LOCAL tcp dpt:30080 rechazar-con puerto-icmp-inalcanzable Cadena KUBE-FIREWALL (2 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 /* cortafuegos de Kubernetes para descartar paquetes marcados */ marcar coincidencia 0x8000/0x8000 Cadena KUBE-FORWARD (1 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NO VÁLIDO 0 0 ACEPTAR todo -- * * 0.0.0.0/0 0.0.0.0/0 /* reglas de reenvío de kubernetes */ marcar coincidencia 0x4000/0x4000 0 0 ACEPTAR todo -- * * 10.0.0.0/16 0.0.0.0/0 /* regla de origen del pod conntrack de reenvío de kubernetes */ ctstate RELACIONADO, ESTABLECIDO 0 0 ACEPTAR todo -- * * 0.0.0.0/0 10.0.0.0/16 /* regla de destino del pod de conntrack de reenvío de kubernetes */ ctstate RELACIONADO, ESTABLECIDO Cadena KUBE-SERVICES (3 referencias) paquetes bytes destino prot optar por salir origen destino 0 0 REJECT tcp -- * * 0.0.0.0/0 10.96.93.102 /* robot-shop/cart:8080 no tiene puntos finales */ tcp dpt:8080 rechazar-con puerto-icmp-inalcanzable 0 0 RECHAZAR tcp -- * * 0.0.0.0/0 10.111.89.174 /* robot-shop/web:8080 no tiene puntos finales */ tcp dpt:8080 rechazar-con puerto-icmp-inalcanzable
Además, ufw muestra el puerto como abierto:
sudo ufw status
Status: active
To Action From
-- ------ ----
30080 ALLOW Anywhere
30080/tcp ALLOW Anywhere
Netstat también muestra el puerto en modo "Escucha":
netstat -talpn | grep 30080
tcp6 0 0 :::30080 :::* LISTEN -
Entonces no estoy seguro de por qué nmap todavía muestra el puerto como filtrado:
nmap -Pn localhost -p 30080
PORT STATE SERVICE
30080/tcp filtered unknown
Y si lo intento desde una máquina remota, nmap se muestra cerrado:
PORT STATE SERVICE
30080/tcp closed unknown
No estoy seguro de adónde ir desde aquí.
Respuesta1
Después de investigar un poco, creo que se trata de un problema de Kubernetes. Parece que kube-proxy está agregando esta línea:
/* robot-shop/web:8080 no tiene puntos finales */ ADDRTYPE coincide con dst-tipo LOCAL tcp dpt:30080 rechazar-con icmp-puerto-inalcanzable
Así que creo que cerraré este tema y abriré otro en la sección de kubernetes. Gracias.