Skip to content
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

Attempt NAT traversal when fetching, even if server is inaccessible #296

Open
bschwind opened this issue Jan 7, 2024 · 0 comments
Open

Comments

@bschwind
Copy link
Member

bschwind commented Jan 7, 2024

Scenario: You have machines all in one physical building on a LAN, all connected via innernet. Maybe each peer connects to each other peer's external endpoint. innernet-server runs in a separate network.

If the building's external internet connection goes down, but machines are still connected via the LAN, the peers within that LAN should all be able to talk to each other by running NAT discovery with endpoints they've cached from the innernet server. Currently peers will just lose connectivity to each other, because although they have the internal endpoint cached in /var/lib/innernet/network_name.json, they won't do anything with it if the connection to the server fails.

I think we just need to modify the fetch functionality here to run client NAT traversal in case the innernet server can't be contacted. Otherwise, the client fetch command fails and causes the binary to exit without attempting to reconnect to peers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant