Успешное подключение к закрытому порту с помощью FirewallD

Успешное подключение к закрытому порту с помощью FirewallD

Пожалуйста, помогите понять, почему FirewallD позволяет мне подключаться к одному порту, но блокирует второй.

Есть Docker-контейнер с передачей:

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

Оба порта (9091 и 51413) не указаны в правилах 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:

Но! Соединение успешно для порта 9091, но не для порта 51413. Порт 51413 доступен только для 127.0.0.1

решение1

Вы не увидите их в firewalld, потому что Docker открывает порты самостоятельно, за пределами firewalld.

Чтобы увидеть, что делает Docker, выполните:

iptables -L DOCKER
iptables -t nat -L DOCKER

Докер будетоткрыть порты брандмауэра самдля любого порта ваши контейнеры EXPOSE, если вы явно не отключите это. Это также позволяет контейнерам, которым нужно общаться друг с другом, делать это, поэтому вам следует оставить это включенным, если выДействительнознай, что делаешь.

Связанный контент