Problem with inter-headscale communication due to missing noise key. #330

Closed
opened 2025-12-29 01:27:05 +01:00 by adam · 8 comments
Owner

Originally created by @mhameed on GitHub (Sep 15, 2022).

Hi,

Server running headscale v0.17.0-alfa2
Local machine running headscale v0.17.0-alfa2

exported HEADSCALE_CLI_ADDRESS and HEADSCALE_CLI_API_KEY

No config file provided to the local headscale command.
headscale node list should connect to the remote headscale server, but instead we receive the following error message:

$ headscale  node list
2022-09-15T10:40:49+01:00 FTL ../runner/work/headscale/headscale/cmd/headscale/cli/root.go:39 > Error loading config error="Fatal config error: headscale now requires a new `noise.private_key_path` field in the config file for the Tailscale v2 protocol"
$

when the local headscale is version v0.16.4, communication with the remote server functions as expected.

I beleave this is a bug.

Thanks for reading.

Originally created by @mhameed on GitHub (Sep 15, 2022). Hi, Server running headscale v0.17.0-alfa2 Local machine running headscale v0.17.0-alfa2 exported HEADSCALE_CLI_ADDRESS and HEADSCALE_CLI_API_KEY No config file provided to the local headscale command. headscale node list should connect to the remote headscale server, but instead we receive the following error message: $ headscale node list 2022-09-15T10:40:49+01:00 FTL ../runner/work/headscale/headscale/cmd/headscale/cli/root.go:39 > Error loading config error="Fatal config error: headscale now requires a new `noise.private_key_path` field in the config file for the Tailscale v2 protocol" $ when the local headscale is version v0.16.4, communication with the remote server functions as expected. I beleave this is a bug. Thanks for reading.
adam closed this issue 2025-12-29 01:27:06 +01:00
Author
Owner

@mhameed commented on GitHub (Sep 15, 2022):

./headscale version shows the same problem, instead of displaying the version, shows the noise error message.

@mhameed commented on GitHub (Sep 15, 2022): ./headscale version shows the same problem, instead of displaying the version, shows the noise error message.
Author
Owner

@Snuupy commented on GitHub (Sep 16, 2022):

Please see https://github.com/juanfont/headscale/blob/main/config-example.yaml#L46 for an example on what you need to add/update to your config file.

@Snuupy commented on GitHub (Sep 16, 2022): Please see https://github.com/juanfont/headscale/blob/main/config-example.yaml#L46 for an example on what you need to add/update to your config file.
Author
Owner

@mhameed commented on GitHub (Sep 17, 2022):

@Snuupy thanks for your reply.
I don't have any problem adding the noise key to the headscale server, as part of the config file.

But what I don't understand is why the noise key is required for headscale -> headscale communication, i.e. locally.
The fact that with a headscale v0.16.4 and a headscale server with v0.17.0-alpha2, the noise key is not required locally.

As you point to the sample config file, it also suggests it is simply for headscale -> tailscale communication and not headscale -> headscale communication.

# The Noise private key is used to encrypt the
# traffic between headscale and Tailscale clients when

Thanks.

@mhameed commented on GitHub (Sep 17, 2022): @Snuupy thanks for your reply. I don't have any problem adding the noise key to the headscale server, as part of the config file. But what I don't understand is why the noise key is required for headscale -> headscale communication, i.e. locally. The fact that with a headscale v0.16.4 and a headscale server with v0.17.0-alpha2, the noise key is not required locally. As you point to the sample config file, it also suggests it is simply for headscale -> tailscale communication and not headscale -> headscale communication. # The Noise private key is used to encrypt the # traffic between headscale and Tailscale clients when Thanks.
Author
Owner

@Snuupy commented on GitHub (Sep 17, 2022):

I don't think that's what it means. Take a read at https://github.com/juanfont/headscale/issues/526

@Snuupy commented on GitHub (Sep 17, 2022): I don't think that's what it means. Take a read at https://github.com/juanfont/headscale/issues/526
Author
Owner

@juanfont commented on GitHub (Sep 20, 2022):

You need to add a path in your config file for the new Noise key, as mentioned in the error message (see the config.yml.example)

@juanfont commented on GitHub (Sep 20, 2022): You need to add a path in your config file for the new Noise key, as mentioned in the error message (see the `config.yml.example`)
Author
Owner

@aniket-eic commented on GitHub (Aug 29, 2024):

Sorry for late in askng question ,
but i am geting an error when starting the headscale service

error :-
Error loading config error="Fatal config error: headscale now requires a new noise.private_key_path field in the config file for the Tailscale v2 protocol"

although i have added below details in config file.

private_key_path: /var/lib/headscale/private.key
noise:
private_key_path: /var/lib/headscale/noise_private.key

version is :- headscale version :- v0.22.3
when i am runnign any command its showing me the same error each and everytime.

eg :-
headscale preauthkeys list headscale
2024-08-29T17:57:55Z FTL ../../home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:48 > Error loading config error="Fatal config error: headscale now requires a new noise.private_key_path field in the config file for the Tailscale v2 protocol"

@aniket-eic commented on GitHub (Aug 29, 2024): Sorry for late in askng question , but i am geting an error when starting the headscale service error :- Error loading config error="Fatal config error: headscale now requires a new `noise.private_key_path` field in the config file for the Tailscale v2 protocol" although i have added below details in config file. private_key_path: /var/lib/headscale/private.key noise: private_key_path: /var/lib/headscale/noise_private.key version is :- headscale version :- v0.22.3 when i am runnign any command its showing me the same error each and everytime. eg :- headscale preauthkeys list headscale 2024-08-29T17:57:55Z FTL ../../home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:48 > Error loading config error="Fatal config error: headscale now requires a new `noise.private_key_path` field in the config file for the Tailscale v2 protocol"
Author
Owner

@mhameed commented on GitHub (Aug 30, 2024):

Hi @aniket-eic,

Indentation is important in yaml, the private_key_path should be indented further.
for example:

noise:
private_key_path: /var/lib/headscale/noise_private.key

Hope this helps.

@mhameed commented on GitHub (Aug 30, 2024): Hi @aniket-eic, Indentation is important in yaml, the private_key_path should be indented further. for example: noise: private_key_path: /var/lib/headscale/noise_private.key Hope this helps.
Author
Owner

@ag81695 commented on GitHub (Aug 30, 2024):

I believe Identation was jsut the typo when removing important strings but somehow i found issue in the config file. I resolve it. but another issue popped up.

when i am trying to start the headscale with commnad :- sudo systemctl start headscale
headscale version :- 0.22.3

its showing me error :-

2024-08-30T12:50:47Z WRN 'ip_prefixes' not configured, falling back to default: [100.64.0.0/10]
2024-08-30T12:50:48Z WRN 'ip_prefixes' not configured, falling back to default: [100.64.0.0/10]
2024-08-30T12:50:48Z FTL ../../../home/runner/work/headscale/headscale/cmd/headscale/cli/server.go:21 > Error initializing error="unsupported DB"
headscale.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited

screenshot of my config file.
headscale_DB

also do let me know if headscale support mysql DB.. as in the place when providing DB details its showing error.

eg :-

# Postgres config

    # If using a Unix socket to connect to Postgres, set the socket path in the 'host' field and leave 'port' blank.
    # db_type: mysql
    # db_host: localhost
    # db_port:  myport
    # db_name: headscale
    # db_user: user1
    # db_pass: password
@ag81695 commented on GitHub (Aug 30, 2024): I believe Identation was jsut the typo when removing important strings but somehow i found issue in the config file. I resolve it. but another issue popped up. when i am trying to start the headscale with commnad :- sudo systemctl start headscale headscale version :- 0.22.3 its showing me error :- 2024-08-30T12:50:47Z WRN 'ip_prefixes' not configured, falling back to default: [100.64.0.0/10] 2024-08-30T12:50:48Z WRN 'ip_prefixes' not configured, falling back to default: [100.64.0.0/10] 2024-08-30T12:50:48Z FTL ../../../home/runner/work/headscale/headscale/cmd/headscale/cli/server.go:21 > Error initializing error="unsupported DB" headscale.service: Main process exited, code=exited, status=1/FAILURE ░░ Subject: Unit process exited screenshot of my config file. ![headscale_DB](https://github.com/user-attachments/assets/b5f205a5-9a9a-4ee7-81a1-8b5c67aa136e) also do let me know if headscale support mysql DB.. as in the place when providing DB details its showing error. eg :- # # Postgres config # If using a Unix socket to connect to Postgres, set the socket path in the 'host' field and leave 'port' blank. # db_type: mysql # db_host: localhost # db_port: myport # db_name: headscale # db_user: user1 # db_pass: password
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#330