OpenSearch/docs/reference/setup
Jason Tedor a91da9a9af
Only bind loopback addresses when binding to local
* Only bind loopback addresses when binding to local

Today when binding to local (the default) we bind to any address that is
a loopback address, or any address on an interface that declares itself
as a loopback interface. Yet, not all addresses on loopback interfaces
are loopback addresses. This arises on macOS where there is a link-local
address assigned to the loopback interface (fe80::1%lo0) and in Docker
services where virtual IPs of the service are assigned to the loopback
interface (docker/libnetwork#1877). These situations cause problems:
 - because we do not handle the scope ID of a link-local address, we end
   up bound to an address for which publishing of that address does not
   allow that address to be reached (since we drop the scope)
 - the virtual IPs in the Docker situation are not loopback addresses,
   they are not link-local addresses, so we end up bound to interfaces
   that cause the bootstrap checks to be enforced even though the
   instance is only bound to local

We address this by only binding to actual loopback addresses, and skip
binding to any address on a loopback interface that is not a loopback
address. This lets us simplify some code where in the bootstrap checks
we were skipping link-local addresses, and in writing the ports file
where we had to skip link-local addresses because again the formatting
of them does not allow them to be connected to by another node (to be
clear, they could be connected to via the scope-qualified address, but
that information is not written out).

Relates #28029
2018-01-02 07:04:09 -05:00
..
important-settings [Docs] Grammatical fix in important-settings.asciidoc (#27654) 2017-12-19 17:08:08 +01:00
install Update docs regarding SHA-512 checksums 2017-11-29 21:29:06 -05:00
sysconfig Clarify that number of threads is set by packages 2017-12-15 11:29:13 -05:00
bootstrap-checks.asciidoc Only bind loopback addresses when binding to local 2018-01-02 07:04:09 -05:00
configuration.asciidoc Remove config prompting for secrets and text (#27216) 2017-11-19 22:33:17 -06:00
important-settings.asciidoc Reorganize configuring Elasticsearch docs 2017-12-12 10:24:37 -05:00
install.asciidoc [DOCS] Fixed link to docker content 2017-11-10 12:10:28 -08:00
jvm-options.asciidoc Reinsert paragraph about heap size 2017-12-12 11:09:24 -05:00
logging-config.asciidoc [TEST] Fixes docs tests 2017-08-24 10:45:53 +01:00
secure-settings.asciidoc Add note to keystore docks on requirement for restart to take effect (#27488) 2017-11-30 14:23:40 -08:00
stopping.asciidoc [DOC] Remove obsolete node names from documentation 2016-09-19 11:56:28 +02:00
sysconfig.asciidoc Reorganize configuring Elasticsearch docs 2017-12-12 10:24:37 -05:00