Skip to content

Conversation

thaJeztah
Copy link
Member

Description

Related issues or tickets

Reviews

  • Technical review
  • Editorial review
  • Product review

Copy link

netlify bot commented Sep 4, 2025

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit a9113cc
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/68efeb8b2cad0b0007c8a56c
😎 Deploy Preview https://deploy-preview-23362--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions bot added area/engine Issue affects Docker engine/daemon area/networking Relates to anything around networking labels Sep 4, 2025
With nftables on the way - refer to "firewall" instead of
"iptables" in the top-level description of packet-filtering-firewalls,
move out the iptables specifics, and port-publishing (which
applies to both iptables and nftables).

Signed-off-by: Rob Murray <[email protected]>
Adds engine/network/firewall-nftables.md

Signed-off-by: Rob Murray <[email protected]>
robmry and others added 4 commits October 15, 2025 09:51
Note that nftables support was added in moby29
nftables doc: rename moby 29.0.0 -> Docker 29.0.0
@thaJeztah thaJeztah marked this pull request as ready for review October 15, 2025 13:04
@thaJeztah thaJeztah changed the title [dnm] documentation changes for engine v29 networking documentation changes for engine v29 Oct 15, 2025
@robmry robmry mentioned this pull request Oct 15, 2025
3 tasks
Copy link
Member

@usha-mandya usha-mandya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @thaJeztah. I've added some minor suggestion. PTAL

and further chains are added for each bridge network. The moby project
has some [internal documentation](https://github.com/moby/moby/blob/master/integration/network/bridge/nftablesdoc/index.md)
describing its nftables, and how they depend on network and container
configuration. But, the tables and their rules are likely to change between
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
configuration. But, the tables and their rules are likely to change between
configuration. However,, the tables and their rules are likely to change between

configuration. But, the tables and their rules are likely to change between
Docker Engine releases.

Do not modify Docker's tables directly as the modifications are likely to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be a note?

`docker`, it creates a forwarding policy called `docker-forwarding` that
accepts forwarding from `ANY` zone to the `docker` zone.

As an example, to use nftables to block forwarding between interfaces `eth0`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
As an example, to use nftables to block forwarding between interfaces `eth0`
For example, to use nftables to block forwarding between interfaces `eth0`


When Docker Engine on Linux starts for the first time, it has a single
built-in network called the "default bridge" network. When you run a
container with no `--network` option, it is connected to the default bridge.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
container with no `--network` option, it is connected to the default bridge.
container without the `--network` option, it is connected to the default bridge.

```

You can combine `-s` or `--src-range` with `-d` or `--dst-range` to control both
the source and destination. For instance, if the Docker host has addresses
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the source and destination. For instance, if the Docker host has addresses
the source and destination. For example, if the Docker host has addresses

$ iptables -I DOCKER-USER -m state --state RELATED,ESTABLISHED -j ACCEPT
```

For more detailed information about iptables configuration and advanced usage,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For more detailed information about iptables configuration and advanced usage,
For more information about iptables configuration and advanced usage,

> Support for nftables introduced in Docker 29.0.0 is experimental, configuration
> options, behavior and implementation may all change in future releases.
> The rules for overlay networks have not yet been migrated from iptables.
> So, nftables cannot be enabled when the daemon has Swarm enabled.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> So, nftables cannot be enabled when the daemon has Swarm enabled.
> Therefore, nftables cannot be enabled when the Docker daemon is running in the Swarm mode.

}
```

For more detailed information about nftables configuration and advanced usage,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For more detailed information about nftables configuration and advanced usage,
For more information about nftables configuration and advanced usage,

keywords: network, iptables, firewall
---

By default, for both IPv4 and IPv6, the daemon blocks access to ports that have not
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
By default, for both IPv4 and IPv6, the daemon blocks access to ports that have not
By default, for both IPv4 and IPv6, the Docker daemon blocks access to ports that have not

@robmry
Copy link
Contributor

robmry commented Oct 15, 2025

Thanks @usha-mandya - I can pick these up ... I'll add another PR to the branch, for the PR to merge.

@robmry
Copy link
Contributor

robmry commented Oct 15, 2025

Thanks @usha-mandya - I can pick these up ... I'll add another PR to the branch, for the PR to merge.

#23563

moby29 networking - address review comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/engine Issue affects Docker engine/daemon area/networking Relates to anything around networking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants