Skip to content

🐛 BUG: Nebula fails to relay ipv6 traffic from a v4/v6 host to a v6 only host #1490

@JesseSchultzRiv

Description

@JesseSchultzRiv

What version of nebula are you using? (nebula -version)

forked from: 1ea5f77

What operating system are you using?

Linux

Describe the Bug

When initializing a connection that must go through a relay with a v6 target from a v4/v6 initiator, it fails.
When the relayRequest is reversed, it seems to work just fine.

Summary of what narrowed it down by:

isssue case:
IPv4/6 -> ipv4/6 relay -> ipv6 host

What is Working:
IPv6 -> ipv4/6 relay -> ipv6 host
IPv6 -> ipv4/6 relay -> ipv4/6 host
If I even then secondly do the first request
IPv4/6 -> ipv4/6 relay -> ipv6 host
This works now. The relay has the correct hostmap info

The logs that pointed to an issue where

Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg=handleCreateRelayRequest initiatorRelayIndex=1402342960 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" vpnAddrs="[100.128.0.25 fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg="send CreateRelayRequest" initiatorRelayIndex=3190309737 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" responderRelayIndex=0 vpnAddr="fd00:5f09:339e:78a1:cadd:104d:4538:3d"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg=handleCreateRelayResponse initiatorRelayIndex=3190309737 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" responderRelayIndex=3082640975 vpnAddrs="[fd00:5f09:339e:78a1:cadd:104d:4538:3d]"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg="send CreateRelayResponse" initiatorRelayIndex=1402342960 relayFrom="Lo:281472367853593 " relayTo="Hi:18230675784721135777 Lo:14617857889574322237 " responderRelayIndex=3663494760 vpnAddrs="[100.128.0.25 fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"

relayFrom=100.128.0.25

When using a cert that only had ipv6 as the initiator (replacing the old one with a v4 addr as well)

Oct 06 12:33:09 nrmotnebula01 nebula[2119962]: level=info msg=handleCreateRelayRequest initiatorRelayIndex=3948701855 relayFrom="fd10:7269:766e:59ec:18ae:3c61:3ce1:f099" relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" vpnAddrs="[fd10:7269:766e:59ec:18ae:3c61:3ce1:f099]"

relayFrom="fd10:7269:766e:59ec:18ae:3c61:3ce1:f099"

Everything works immediately

Logs from affected hosts


Config files from affected hosts

Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg=handleCreateRelayRequest initiatorRelayIndex=1402342960 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" vpnAddrs="[100.128.0.25 fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg="send CreateRelayRequest" initiatorRelayIndex=3190309737 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" responderRelayIndex=0 vpnAddr="fd00:5f09:339e:78a1:cadd:104d:4538:3d"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg=handleCreateRelayResponse initiatorRelayIndex=3190309737 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" responderRelayIndex=3082640975 vpnAddrs="[fd00:5f09:339e:78a1:cadd:104d:4538:3d]"
Oct 06 11:56:33 nrmotnebula01 nebula[2119962]: level=info msg="send CreateRelayResponse" initiatorRelayIndex=1402342960 relayFrom="Lo:281472367853593 " relayTo="Hi:18230675784721135777 Lo:14617857889574322237 " responderRelayIndex=3663494760 vpnAddrs="[100.128.0.25 fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"

target side:
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg="Handshake message received" [email protected] certVersion=2 fingerprint=6a07e6a0aa0f37446934a18c27122883d9f7b909105e8594a55018ef3a7e2f80 handshake="map[stage:1 style:ix_psk0]" initiatorIndex=3953272906 issuer=1a64cbf764723d318c729d92ff52736139bfbb6a4fe2f102d5b455f6169d1d6c remoteIndex=0 responderIndex=0 udpAddr="invalid AddrPort" vpnAddrs="[fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg="Taking new handshake" [email protected] localIndex=3960845369 remoteIndex=1821139254 vpnAddrs="[fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg="Handshake message sent" [email protected] certVersion=2 fingerprint=6a07e6a0aa0f37446934a18c27122883d9f7b909105e8594a55018ef3a7e2f80 handshake="map[stage:2 style:ix_psk0]" initiatorIndex=3953272906 issuer=1a64cbf764723d318c729d92ff52736139bfbb6a4fe2f102d5b455f6169d1d6c relay="fd01::3" remoteIndex=0 responderIndex=1081085384 vpnAddrs="[fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg=handleCreateRelayRequest initiatorRelayIndex=657003495 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" vpnAddrs="[fd10:7269:766e:f92d:fb73:bea9:3ba1:2bcb]"
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg="send CreateRelayResponse" initiatorRelayIndex=657003495 relayFrom=100.128.0.25 relayTo="fd00:5f09:339e:78a1:cadd:104d:4538:3d" responderRelayIndex=3907973143 vpnAddrs="[fd10:7269:766e:f92d:fb73:bea9:3ba1:2bcb]"
Oct 06 16:45:51 imx8qm-tcm2 nebula[145226]: level=info msg="sendNoMetrics failed to find HostInfo" [email protected] error="unable to find host with relay" localIndex=1081085384 relay="fd01::3" remoteIndex=3953272906 vpnAddrs="[fd10:7269:766e:9b43:2b82:9371:74b9:4dff]"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions