I start Windows and Linux agents both with the argument -bind=
0.0.0.0:7946. The Windows and Linux machines each have a single physical interface. The Windows agent starts with the IP address of the physical interface, but the Linux agent starts with the IP address of the loopback interface. The behavior of the Windows agent is what I would expect. When the Linux agent starts with the IP of the loopback I get flooded with "refuting a suspect message" errors.
--------------------------------------------------------------------------------------------------------------------
Windows binds to the IP of the physical interface on EventMemberJoin
--------------------------------------------------------------------------------------------------------------------
==> Starting Serf agent...
==> Starting Serf agent RPC...
==> Serf agent running!
Node name: 'windows'
Encrypted: true
Snapshot: true
Profile: lan
==> Log data will now stream in as it occurs:
2017/05/11 11:32:32 [INFO] agent: Serf agent starting
2017/05/11 11:32:32 [INFO] serf: EventMemberJoin: windows 10.10.10.10
2017/05/11 11:32:33 [INFO] agent: Received event: member-join
.....
--------------------------------------------------------------------------------------------------------------------
Linux binds to the IP of the loopback interface on EventMemberJoin
--------------------------------------------------------------------------------------------------------------------
==> Starting Serf agent...
==> Starting Serf agent RPC...
==> Serf agent running!
Node name: 'linux'
Encrypted: true
Snapshot: true
Profile: lan
==> Log data will now stream in as it occurs:
2017/05/11 11:28:45 [INFO] agent: Serf agent starting
2017/05/11 11:28:45 [INFO] serf: EventMemberJoin: linux 127.0.0.1
2017/05/11 11:28:46 [INFO] agent: Received event: member-join
.....