-
Notifications
You must be signed in to change notification settings - Fork 402
Document the egress traffic supported for GA #1749
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
Merged
Bowei Du (bowei)
merged 1 commit into
agent-substrate:main
from
haiyanmeng:egress-supported-traffic-ga
Sep 21, 2026
+35
−0
Merged
Changes from all commits
Commits
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| This document specifies the supported egress traffic for [GA](https://github.com/agent-substrate/substrate/milestone/3). | ||
|
|
||
| Actor TCP egress (except DNS traffic on port 53) is redirected to atunnel, | ||
| which opens a CONNECT tunnel to the egress gateway. Egress gateway applies policy. | ||
|
|
||
| DNS-over-TCP, UDP and other traffic is filtered by nftables and never reaches the gateway. | ||
|
haiyanmeng marked this conversation as resolved.
|
||
|
|
||
| ## TCP | ||
|
|
||
| | Port | Traffic | Behavior | Path | What the actor sees when refused | | ||
| | :---- | :---- | :---- | :---- | :---- | | ||
| | any | HTTP(S) 1.1 / 2 | Supported with policy controls | atunnel -> egress gateway -> origin | `403 Forbidden` | | ||
| | any | WebSocket | Blocked | n/a | `403 Forbidden` | | ||
| | any | Standard HTTP(S) CONNECT (forward-proxy tunnel) | Blocked | n/a | `403 Forbidden` | | ||
| | 53 | DNS | Allowed via netfilter rules | nftables -> node-configured DNS | n/a | | ||
|
haiyanmeng marked this conversation as resolved.
|
||
| | any | Any other TCP | Blocked | n/a | The connection is accepted and then closed with no bytes returned. There is no status code. atunnel logs the failure. | | ||
|
bowei marked this conversation as resolved.
|
||
|
|
||
| ## UDP | ||
|
|
||
|
|
||
| | Port | Traffic | Behavior | Path | What the actor sees when refused | | ||
| | :---- | :---- | :---- | :---- | :---- | | ||
| | 53 | DNS | Allowed via netfilter rules | nftables -> node-configured DNS | n/a | | ||
| | any other | Any other UDP | Blocked | n/a | Packets are dropped, not rejected: no ICMP port-unreachable is sent, so the client hangs until its own timeout. | | ||
|
haiyanmeng marked this conversation as resolved.
|
||
|
|
||
| ## Other protocols | ||
|
|
||
| Everything that is neither TCP nor UDP is blocked. Packets are dropped, not rejected: no ICMP port-unreachable is sent, so the client hangs until its own timeout. | ||
|
haiyanmeng marked this conversation as resolved.
|
||
|
|
||
| ## Requesting support | ||
|
|
||
| If you would like Substrate to support egress traffic that is blocked above, please | ||
| [file an issue](https://github.com/agent-substrate/substrate/issues/new) | ||
| describing your use case. | ||
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.
Uh oh!
There was an error while loading. Please reload this page.