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

Figure out why docker maps external incoming IPs to a single local address #50

Closed
cgorenflo opened this issue Oct 26, 2020 · 4 comments
Closed
Assignees
Labels
bug Something isn't working
Milestone

Comments

@cgorenflo
Copy link
Contributor

Tendermint does an IP duplication check as a DOS prevention measure. For some reason, when running a network inside docker containers on multiple hosts, incoming connections are mapped to the same IP and therefore rejected. For now we solved it by setting the allow_duplicate_ips flag to true, but this needs to be solved properly before going live.

@sergeynog
Copy link
Contributor

sergeynog commented Oct 26, 2020

seems like a known behavior in docker. perhaps setting net interface to host and leaving the allow_duplicate_ips flag to false is all we need to do. moby/libnetwork#1994

@cgorenflo
Copy link
Contributor Author

but then we can only run docker containers on linux

@sergeynog
Copy link
Contributor

not sure. maybe it works on a mac by now? should try.

@cgorenflo
Copy link
Contributor Author

cgorenflo commented Oct 26, 2020

https://deavid.wordpress.com/tag/userland-proxy/
This seems to be the fix:
In /etc/docker/daemon.json add:

{
     "userland-proxy": false
}

Then, restart Docker:
sudo service docker restart

@cgorenflo cgorenflo added this to the Sprint 5 milestone Oct 29, 2020
@cgorenflo cgorenflo added the bug Something isn't working label Oct 29, 2020
github-actions bot pushed a commit that referenced this issue Nov 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants