-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Please support multiple IP / interfaces in bind_addr and friends #9257
Comments
bind_addr supports go-sockaddr format or you can separate them with spaces:
you also might look into advertise or I'm missing something? |
I get this:
Nomad v0.12.7 (6147cb5) |
Sorry @ieugen you are right, consul client_addr can do that, I assumed nomad does the same thing. You can do this for now:
and if you want jobs/tasks to listen on specific interface you can use network_interface HTH |
Thanks, I managed to fix it but the issue is that I still have an open port on a network that I have to firewall. Also, I've checked with consul (latest release) and it seems to have a similar issue:
With
|
To give some feedback: As a user I should be able to specify which network interfaces (IP addresses) my applications should bind to. Right now it seems I can only bind to one address IP or all. |
@ieugen you are right, at the moment it looks like only consul client_addr supports this:
somehow I got the expression that all *_addr config options do this :( |
We talked about this a little in Gitter, but I wanted to capture this here for other folks as well. Nomad currently supports two different schemes to use multiple IP addresses for your workload in Nomad.
|
@angrycub : My issue is with the client / server bind addresses. I have a static /56 IPV6 allocation from my provider. |
This is still an issue, @angrycub's comment is not really relevant, the issue here is you want to have the Nomad Server accessible only from the private network and loopback, binding to all interfaces and advertising only the private one works but you need to rely on the firewall to block the publicly bound interface. Can't the guys from the Consul team and Nomad team just sit in a room and standardized this? |
Hello @tgross, any news about the roadmap for this ticket? I think that @vnikolov88 comment above explains perfectly why this feature is important, better than the initial description, and might help in deciding the priority. Thanks! |
Partial support just shipped in v1.2.4 |
Hi,
Nomad docs suggest it can listen to only 1 IP address.
A lot of servers usually have 2 interfaces (1 private and 1 public) but it's not uncommon to have more IP addresses.
This is more true when we talk about IPV6 which has a huge address space and you have a link local and a public IP address by default.
I believe nomad has a limitation by supporting only 1 IP address.
For example PostgreSQL can listen to multiple IP addresses since a long time ago https://www.postgresql.org/docs/9.5/runtime-config-connection.html .
The issue I've personally hit was that leader election failed because I was binding to 0.0.0.0 leader election was done over the Docker IP address (172.17.x.x).
Binding to public IP created issues with mutual TLS auth - I could not connect to that since my certificates did not include the public IP.
All in all I'm sure there are workarounds to fixing my issues however, having the ability to listen to the interfaces I want will make setup easier and some use cases possible.
Thanks,
Eugen
The text was updated successfully, but these errors were encountered: