-
Notifications
You must be signed in to change notification settings - Fork 613
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
HTTP tunnel for SideroLink #8064
Comments
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 5, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 5, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 11, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 11, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 11, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 11, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
DmitriyMV
added a commit
to DmitriyMV/talos
that referenced
this issue
Mar 18, 2024
For siderolabs#8064 Signed-off-by: Dmitriy Matrenichev <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Rationale
In some environments, UDP is not allowed (only TCP to specific ports), or even no outbound traffic is allowed, so traffic can only go via an HTTP(s) proxy.
SideroLink is a very valuable tool to perform remote management of Talos machines.
Proposal
Use SideroLink API (a gRPC API used to provision Wireguard connection) as a channel to transport packets between Talos and SideroLink management endpoint.
gRPC API: use bi-directional stream gRPC API to send packet data.
Using kernel Wireguard implementation
In the network stack, create a
tun
interface on both ends.Wireguard still works same way, as if there's no tunnel, so it provides encryption and authentication, and gRPC tunnel API doesn't have to provide that.
Wireguard packets as they leave the interface are routed to the
tun
device, where they get picked up by the userspace, sent over gRPC API to to the other end, injected intotun
device, sent to the Wireguard for decryption.Using userspace Wireguard implementation
Force to send packets over gRPC API instead of injecting into the Linux network stack.
Prior Art
The text was updated successfully, but these errors were encountered: