-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat(network): enable Docker and Podman policy DNS and transparent TCP #2723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
johntmyers
wants to merge
32
commits into
feat/2712-policy-dns-store/johntmyers
from
feat/2712-docker-transparent-tcp/johntmyers
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
b3bc120
feat(network): enable Docker transparent TCP egress
johntmyers 8b41d65
test(e2e): cover Docker transparent TCP egress
johntmyers 67d15ed
feat(network): correlate transparent TCP audit events
johntmyers c02d8e1
docs(examples): add transparent TCP Redis demo
johntmyers 91ccc12
docs(examples): demonstrate blocked TCP connections
johntmyers eb914c1
docs(examples): focus Redis demo audit output
johntmyers cf700e2
fix(network): close transparent TCP policy bypasses
johntmyers c8e1118
fix(sandbox): reject unsupported TCP policy reloads
johntmyers f0f1b99
fix(ci): satisfy Linux transparent TCP lints
johntmyers 6a2fa5f
feat(podman): enable transparent TCP egress
johntmyers 55ef01b
fix(podman): permit policy DNS port binding
johntmyers 1781ab8
test(e2e): use qualified transparent TCP hostname
johntmyers cbed03d
fix(podman): preserve exact policy DNS names
johntmyers 009c720
fix(podman): route policy DNS over TCP
johntmyers 0408645
fix(dns): serve multiple TCP queries per connection
johntmyers a815b0c
docs(network): explain native DNS and TCP egress
johntmyers 9ba39a8
fix(sandbox): reconcile runtime reload with upstream
johntmyers dbdd8bb
fix(network): harden transparent DNS capture
johntmyers e3c6f75
fix(podman): preserve resolver behavior for native tcp
johntmyers 228c59e
docs(network): clarify native tcp runtime constraints
johntmyers 56533e2
fix(network): remove unused transparent tcp pin
johntmyers 4ba61b8
fix(network): admit redirected transparent tcp
johntmyers a683fb5
fix(network): restore podman transparent networking
johntmyers 987ff52
test(podman): permit alpine busybox binaries
johntmyers d3d6604
test(podman): use portable alpine keepalive
johntmyers 50734bd
test(podman): build musl networking fixture
johntmyers 0b31183
test(podman): isolate musl DNS probe
johntmyers 9d2b212
fix(podman): keep privileged port capability dropped
johntmyers 5795af3
fix(network): preserve transparent TCP port 53
johntmyers 6c93117
fix(network): report synthetic pool pressure by family
johntmyers 162c133
test(podman): bind tcp fixtures before readiness
johntmyers 2e919c0
test(podman): grant fixture low-port bind
johntmyers File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖 Claude agent-assisted review
Docker advertises the capability here, but its
cap_addlist (around L2684) doesn't includeNET_BIND_SERVICE— the Docker lane only works because Docker's default capability set happens to include it, while Podman had to explicitly stop dropping it.That's an invisible dependency on a runtime default. If anyone later adds a
cap_dropto this driver, or Docker tightens its defaults, policy DNS breaks at bind time with no obvious connection to the change. Either add it explicitly with the same justification comment Podman carries, or move to an unprivileged DNS port (see the Podman comment) so neither lane depends on runtime defaults.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by moving the policy-DNS listener to unprivileged port 15053. Docker no longer implicitly depends on privileged-port binding for this feature.