Conexão bem-sucedida a uma porta fechada com FirewallD

Conexão bem-sucedida a uma porta fechada com FirewallD

Por favor, ajude a entender por que o FirewallD permite que eu me conecte a uma porta, mas bloqueia a segunda.

Existe um contêiner Docker com transmissão:

5cf144eed6f2        maksim77/transmission   "/bin/sh -c 'transmis"   14 hours ago        Up 16 minutes       0.0.0.0:9091->9091/tcp, 0.0.0.0:51413->51413/tcp   transmission

Ambas as portas (9091 e 51413) não estão listadas nas regras do FirewallD:

root@host:maksim #firewall-cmd --list-all-zones | grep active
public (default, active)
trusted (active)

root@host:maksim #firewall-cmd --list-all --zone trusted
  trusted (active)
  interfaces: docker0
  sources:
  services:
  ports: 4243/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

root@host:maksim #firewall-cmd --list-all --zone public
  public (default, active)
  interfaces: enp9s0
  sources:
  services: dhcpv6-client ftp http ssh
  ports: 41387/tcp 1900/udp 50213/tcp 8200/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Mas! A conexão foi bem-sucedida para a porta 9091, mas não para a porta 51413. A porta 51413 está disponível apenas para 127.0.0.1

Responder1

Você não vê isso no firewalld porque o próprio Docker abre as portas, fora do firewalld.

Para ver o que o Docker está fazendo, execute:

iptables -L DOCKER
iptables -t nat -L DOCKER

Docker iráabra as próprias portas do firewallpara qualquer porta de seus contêineres EXPOSE, a menos que você desative isso explicitamente. Ele também permite que contêineres que precisam se comunicar entre si façam isso, então você deve deixar esta opção habilitada, a menos que vocêrealmentesabe o que você está fazendo.

informação relacionada