Ich versuche, Port 30080 auf einer Ubuntu 18.04 Server-VM zu öffnen und sehe einige verwirrende Ergebnisse.
iptables-Ausgabe
ubuntu@k8-master:~$ sudo iptables -v -x -n -L [sudo] Passwort für Ubuntu: Chain INPUT (Richtlinie ACCEPT: 289 Pakete, 98798 Bytes) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 3919 272820 KUBE-SERVICES alle -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEU /* Kubernetes-Serviceportale */ 3919 272820 KUBE-EXTERNAL-SERVICES alle -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEU /* extern sichtbare Kubernetes-Serviceportale */ 846424 164692436 KUBE-FIREWALL alle -- * * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (Richtlinie DROP 0 Pakete, 0 Bytes) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 KUBE-FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0 /* Kubernetes-Weiterleitungsregeln */ 0 0 KUBE-SERVICES alle -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEU /* Kubernetes-Service-Portale */ 0 0 DOCKER-USER alle -- * * 0.0.0.0/0 0.0.0.0/0 0 0 DOCKER-ISOLATION-STAGE-1 alle -- * * 0.0.0.0/0 0.0.0.0/0 0 0 alles akzeptieren -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate VERWANDTE, ETABLIERTE 0 0 DOCKER alle -- * docker0 0.0.0.0/0 0.0.0.0/0 0 0 alles AKZEPTIEREN -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 0 0 alles akzeptieren -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 0 0 alles akzeptieren -- * * 10.244.0.0/16 0.0.0.0/0 0 0 alles akzeptieren -- * * 0.0.0.0/0 10.244.0.0/16 Chain OUTPUT (Richtlinie ACCEPT: 281 Pakete, 145464 Bytes) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 6870 412563 KUBE-SERVICES alle -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEU /* Kubernetes-Serviceportale */ 846213 192244364 KUBE-FIREWALL alle -- * * 0.0.0.0/0 0.0.0.0/0 Chain DOCKER (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel Kette DOCKER-ISOLATION-STAGE-1 (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 DOCKER-ISOLATION-STAGE-2 alle -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 0 0 RETURN alle -- * * 0.0.0.0/0 0.0.0.0/0 Kette DOCKER-ISOLATION-STAGE-2 (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 ALLES DROP -- * docker0 0.0.0.0/0 0.0.0.0/0 0 0 RETURN alle -- * * 0.0.0.0/0 0.0.0.0/0 Chain DOCKER-USER (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 RETURN alle -- * * 0.0.0.0/0 0.0.0.0/0 Kette KUBE-EXTERNAL-SERVICES (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* robot-shop/web:8080 hat keine Endpunkte */ ADDRTYPE match dst-type LOCAL tcp dpt:30080 reject-with icmp-port-unreachable Kette KUBE-FIREWALL (2 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 /* Kubernetes-Firewall zum Löschen markierter Pakete */ Mark Match 0x8000/0x8000 Kette KUBE-FORWARD (1 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate UNGÜLTIG 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 /* Kubernetes-Weiterleitungsregeln */ Übereinstimmung markieren 0x4000/0x4000 0 0 alles AKZEPTIEREN -- * * 10.0.0.0/16 0.0.0.0/0 /* Kubernetes-Weiterleitungsregel für Conntrack-Pod-Quelle */ ctstate RELATED, ESTABLISHED 0 0 alles AKZEPTIEREN -- * * 0.0.0.0/0 10.0.0.0/16 /* Kubernetes-Weiterleitungsregel für Conntrack-Pod-Ziele */ ctstate RELATED, ESTABLISHED Kette KUBE-SERVICES (3 Referenzen) Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel 0 0 REJECT tcp -- * * 0.0.0.0/0 10.96.93.102 /* robot-shop/cart:8080 hat keine Endpunkte */ tcp dpt:8080 Ablehnung mit ICMP-Port nicht erreichbar 0 0 REJECT tcp -- * * 0.0.0.0/0 10.111.89.174 /* robot-shop/web:8080 hat keine Endpunkte */ tcp dpt:8080 Ablehnung mit ICMP-Port nicht erreichbar
Außerdem zeigt ufw den Port als offen an:
sudo ufw status
Status: active
To Action From
-- ------ ----
30080 ALLOW Anywhere
30080/tcp ALLOW Anywhere
Netstat zeigt den Port auch im „Listening“-Modus an:
netstat -talpn | grep 30080
tcp6 0 0 :::30080 :::* LISTEN -
Daher bin ich nicht sicher, warum nmap den Port immer noch als gefiltert anzeigt:
nmap -Pn localhost -p 30080
PORT STATE SERVICE
30080/tcp filtered unknown
Und wenn ich es von einem Remotecomputer aus versuche, wird nmap als geschlossen angezeigt:
PORT STATE SERVICE
30080/tcp closed unknown
Ich bin nicht sicher, wie es von hier aus weitergehen soll.
Antwort1
Nach einigen Recherchen glaube ich, dass es sich um ein Kubernetes-Problem handelt. Kube-Proxy scheint diese Zeile hinzuzufügen:
/* robot-shop/web:8080 hat keine Endpunkte */ ADDRTYPE entspricht Zieltyp LOCAL TCP dpt:30080 Ablehnung mit ICMP-Port nicht erreichbar
Ich denke, ich werde dieses Thema schließen und ein anderes im Kubernetes-Bereich eröffnen. Danke.