Coder Social home page Coder Social logo

juanfont / headscale Goto Github PK

View Code? Open in Web Editor NEW
20.5K 142.0 1.1K 7.24 MB

An open source, self-hosted implementation of the Tailscale control server

License: BSD 3-Clause "New" or "Revised" License

Go 96.46% Makefile 0.17% Nix 0.57% HTML 2.61% Shell 0.19%
tailscale tailscale-control-server wireguard tailscale-server

headscale's Introduction

headscale logo

ci

An open source, self-hosted implementation of the Tailscale control server.

Join our Discord server for a chat.

Note: Always select the same GitHub tag as the released version you use to ensure you have the correct example configuration and documentation. The main branch might contain unreleased changes.

What is Tailscale

Tailscale is a modern VPN built on top of Wireguard. It works like an overlay network between the computers of your networks - using NAT traversal.

Everything in Tailscale is Open Source, except the GUI clients for proprietary OS (Windows and macOS/iOS), and the control server.

The control server works as an exchange point of Wireguard public keys for the nodes in the Tailscale network. It assigns the IP addresses of the clients, creates the boundaries between each user, enables sharing machines between users, and exposes the advertised routes of your nodes.

A Tailscale network (tailnet) is private network which Tailscale assigns to a user in terms of private users or an organisation.

Design goal

Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a single Tailnet, suitable for a personal use, or a small open-source organisation.

Supporting Headscale

If you like headscale and find it useful, there is a sponsorship and donation buttons available in the repo.

Features

  • Full "base" support of Tailscale's features
  • Configurable DNS
  • Node registration
    • Single-Sign-On (via Open ID Connect)
    • Pre authenticated key
  • Taildrop (File Sharing)
  • Access control lists
  • MagicDNS
  • Support for multiple IP ranges in the tailnet
  • Dual stack (IPv4 and IPv6)
  • Routing advertising (including exit nodes)
  • Ephemeral nodes
  • Embedded DERP server

Client OS support

OS Supports headscale
Linux Yes
OpenBSD Yes
FreeBSD Yes
macOS Yes (see /apple on your headscale for more information)
Windows Yes docs
Android Yes docs
iOS Yes docs

Running headscale

Please note that we do not support nor encourage the use of reverse proxies and container to run Headscale.

Please have a look at the documentation.

Talks

Disclaimer

This project is not associated with Tailscale Inc.

However, one of the active maintainers for Headscale is employed by Tailscale and he is allowed to spend work hours contributing to the project. Contributions from this maintainer are reviewed by other maintainers.

The maintainers work together on setting the direction for the project. The underlying principle is to serve the community of self-hosters, enthusiasts and hobbyists - while having a sustainable project.

Contributing

Please read the CONTRIBUTING.md file.

Requirements

To contribute to headscale you would need the latest version of Go and Buf(Protobuf generator).

We recommend using Nix to setup a development environment. This can be done with nix develop, which will install the tools and give you a shell. This guarantees that you will have the same dev env as headscale maintainers.

Code style

To ensure we have some consistency with a growing number of contributions, this project has adopted linting and style/formatting rules:

The Go code is linted with golangci-lint and formatted with golines (width 88) and gofumpt. Please configure your editor to run the tools while developing and make sure to run make lint and make fmt before committing any code.

The Proto code is linted with buf and formatted with clang-format.

The rest (Markdown, YAML, etc) is formatted with prettier.

Check out the .golangci.yaml and Makefile to see the specific configuration.

Install development tools

  • Go
  • Buf
  • Protobuf tools

Install and activate:

nix develop

Testing and building

Some parts of the project require the generation of Go code from Protobuf (if changes are made in proto/) and it must be (re-)generated with:

make generate

Note: Please check in changes from gen/ in a separate commit to make it easier to review.

To run the tests:

make test

To build the program:

nix build

or

make build

Contributors

Made with contrib.rocks.

headscale's People

Contributors

617a7aa avatar aluxima avatar bravechamp avatar christian-heusel avatar cure avatar dependabot[bot] avatar e-zk avatar evenh avatar github-actions[bot] avatar grigoriymikhalkin avatar huskyii avatar impostorkeanu avatar ischluff avatar italypaleale avatar juanfont avatar kazauwa avatar kradalby avatar majst01 avatar mike-lloyd03 avatar mpldr avatar negbie avatar niek avatar ohdearaugustin avatar orhideous avatar qbit avatar restanrm avatar reynico avatar riezebos avatar tsujamin avatar vsychov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

headscale's Issues

Expected client polling behavior

Thanks for this implementation of the tailscale controlplane. Works great for me.

I just wanted to confirm the expected behavior for polling:
Initially I thought it's the reverse proxy. (disabled in the log below. i.e. directly exposed port. no https)
I basically see clients closing the connection after about a minute. is this how client should behave?

headscale[42022]: 2021-09-27T08:43:09Z INF Sending initial map handler=PollNetMap machine=desktop-1
headscale[42022]: 2021-09-27T08:43:09Z INF Notifying peers handler=PollNetMap machine=desktop-1
headscale[42022]: 2021-09-27T08:43:09Z INF Notifying peer server-1 (100.64.0.2/32) address=100.64.0.2/32 func=notifyChangesToPeers machine=desktop-1 peer=server-1
headscale[42022]: 2021-09-27T08:43:31Z INF Notifying peer desktop-1 (100.64.0.1/32) address=100.64.0.1/32 func=notifyChangesToPeers machine=server-1 peer=desktop-1
headscale[42022]: 2021-09-27T08:43:31Z INF Notifying peer desktop-1 func=requestUpdate machine=desktop-1
headscale[42022]: 2021-09-27T08:43:39Z INF Notifying peer desktop-1 func=requestUpdate machine=desktop-1
headscale[42022]: 2021-09-27T08:44:09Z INF Notifying peer desktop-1 func=requestUpdate machine=desktop-1
headscale[42022]: 2021-09-27T08:44:09Z INF The client has closed the connection handler=PollNetMapStream machine=desktop-1

Crash due to number of open files

headscale serve seems to accumulate number of open files and crashes.
What number is to be expected?

btw. headscale is awesome work!!

Version: 0.9.2

Oct 01 13:18:50 server-1 headscale[8588]: 2021-10-01T13:18:50Z ERR Error accessing db error="unable to open database file: too many open files"
Oct 01 13:18:50 server-1 headscale[8588]: 2021-10-01T13:18:50Z ERR Cannot fetch peers error="unable to open database file: too many open files" func=getMapResponse

for pid in /proc/[0-9]*; do printf "PID %6d has %4d FDs\n" $(basename $pid) $(ls $pid/fd | wc -l); done

PID   8588 has 1024 FDs

ps -ef |grep 8588

headsca+    8588       1 13 Sep30 ?        03:02:09 /usr/sbin/headscale serve

Config

{
    "server_url": "https://server.domain.com",
    "listen_addr": "0.0.0.0:8080",
    "private_key_path": "/etc/headscale/private.key",
    "derp_map_path": "/etc/headscale/derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "sqlite3",
    "db_path": "/mnt/data/headscale/db.sqlite",
    "tls_letsencrypt_hostname": "",
    "tls_letsencrypt_listen": ":http",
    "tls_letsencrypt_cache_dir": ".cache",
    "tls_letsencrypt_challenge_type": "HTTP-01",
    "tls_cert_path": "",
    "tls_key_path": "",
    "acl_policy_path": "/mnt/data/headscale/policy.hujson",
    "dns_config": {
        "nameservers": [
            "1.1.1.1"
        ]
    }
}

[question] high availability support?

Seeing the number of replicas set to two in the k8s examples, I was just wondering if headscale supports such a HA setup?
What if nodes are contacting different instances of the headscale server?

best way to background the process??

So running ./headscale serve & does launch the system and allow client to reg/communicate until you drop that ssh session, then it appears to somehow hangup, i noticed this after rebooting a client and re-running tailscale up .... no joy it jjust sat there.

after i logged back into the headscale vm, and killed and restarted headscale serve, then the cleint would auth again.
So... I think we need a systemd unit for headscale

Preauthkey used-state not present in cli

The state of a non-reusable and non-expiring authkey does not change after it has been used.
The key is created with:

# headscale preauthkeys -n testns create
113e747ffd73ecb662e88ee730b333bbb72288cff633a032

Printing its information returns

# headscale preauthkeys -n testns list -o json
[
        {
                "ID": 1,
                "Key": "113e747ffd73ecb662e88ee730b333bbb72288cff633a032",
                "NamespaceID": 1,
                "Namespace": {
                        "ID": 1,
                        "CreatedAt": "2021-10-12T20:43:56.200650079+02:00",
                        "UpdatedAt": "2021-10-12T20:43:56.200650079+02:00",
                        "DeletedAt": null,
                        "Name": "testns"
                },
                "Reusable": false,
                "Ephemeral": false,
                "CreatedAt": "2021-10-12T18:45:04.474938131Z",
                "Expiration": null
        }
]

It then gets used.
Printing its information again returns the same object without a hint that it has already been used

# headscale preauthkeys -n testns list -o json
[
        {
                "ID": 1,
                "Key": "113e747ffd73ecb662e88ee730b333bbb72288cff633a032",
                "NamespaceID": 1,
                "Namespace": {
                        "ID": 1,
                        "CreatedAt": "2021-10-12T20:43:56.200650079+02:00",
                        "UpdatedAt": "2021-10-12T20:43:56.200650079+02:00",
                        "DeletedAt": null,
                        "Name": "testns"
                },
                "Reusable": false,
                "Ephemeral": false,
                "CreatedAt": "2021-10-12T18:45:04.474938131Z",
                "Expiration": null
        }
]

Trying to use it again doesnt work, so headscale knows that it has already been used.

Tested on v0.10.1

Unable to join Headscale server, machine IP seems to be empty

Using Tailscale v1.14.0 here, and when I try to join the network, tailscale up hangs and logs printed by headscale:

Sep 06 06:38:42 headscale headscale[51960]: [GIN] 2021/09/06 - 06:38:42 | 500 |    6.694432ms | 192.168.103.253 | POST     "/machine/8220a4cce5513fc662404da43020abe2eabc3def64d5f38a362b60689466a51d/map"
Sep 06 06:39:01 headscale headscale[51960]: 2021-09-06T06:39:01Z ERR Cannot convert to node error="netaddr.ParseIPPrefix(\"/32\"): ParseIP(\"\"): unable to parse IP" func=getMapResponse
Sep 06 06:39:01 headscale headscale[51960]: 2021-09-06T06:39:01Z ERR Failed to get Map response error="netaddr.ParseIPPrefix(\"/32\"): ParseIP(\"\"): unable to parse IP" handler=PollNetMap id=8220a4cce5513fc662404da43020abe2eabc3def64d5f38a362b60689466a51d machine=test_machine

It seems that headscale fails to get the machine IP here:

Msgf("Failed to parse IP Prefix from IP: %s", m.IPAddress)

Any pointers?

Support 2FA / RADIUS or LDAP?

First,

Thanks for contributing this high quality piece of software.

Does headscale currently supposed a secondary authentication against something like a RADIUS or LDAP server? I believe Tailscale can do this and it's very needed.

Create a namespace (equivalent to a user in tailscale.com) ???

If this is a headnode co-ordination server why do you need a tailscale.com login ? im confused.

Create a namespace (equivalent to a user in tailscale.com)

headscale namespace create myfirstnamespace

also... i see
./headscale namespace create optim
2021/06/16 14:58:46 Error initializing: Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub

Improve the human-readable output

As discussed with @cure in #22, the current stdout output is a bit rudimentary. We should look into ways of separating the CLI logic from the output (human or JSON-formatted).

This issue is meant to keep track of it.

Error while settingup headscale

I am trying to setup headscale in my Ubuntu 18.04 VM
While executing the cmd
headscale namespace create myfirstnamespace

Throwing this error
headscale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by headscale)

nodes command missing in v0.3.5

In v0.3.5 no nodes command is available:

Usage:
  headscale [command]

Available Commands:
  help        Help about any command
  namespaces  Manage the namespaces of Headscale
  preauthkeys Handle the preauthkeys in Headscale
  routes      Manage the routes of Headscale
  serve       Launches the headscale server
  version     Print the version.

Flags:
  -h, --help            help for headscale
  -o, --output string   Output format. Empty for human-readable, 'json' or 'json-line'

Use "headscale [command] --help" for more information about a command.
headscale -n myns nodes register XXX 
Error: unknown command "nodes" for "headscale"
Run 'headscale --help' for usage.
unknown command "nodes" for "headscale"

Dockerfile Latest Version

I would never use the latest tag in a docker file, because it is unstable.
You will never now with which version you end up. For example ubuntu:latest is for now ubuntu:focal.
I would prefer to use explicit versions.

Same for the golang container. Suddenly the container updated and headscale maybe won't build anymore.

Good blog about why latest is not so great:
https://vsupalov.com/docker-latest-tag/

Is subnet routing supported?

Hello,

Thanks for creating this project.

I want to do what's outlined in this article: https://tailscale.com/kb/1021/install-aws/. Is that supported?

I set up headscale and tailscale on an EC2 instance in a public subnet of my VPC, and was able to connect to it from my local machine without a problem. However I am not able to route traffic through this instance to other resources in my private subnet. Following the steps in the linked article works with the tailscale server, so my networking and security group are set up correctly. Step number 5 in the article requires using the Admin console to authorize subnet routes on the EC2 instance. Is that required with headscale and if so, is it possible to do it given that headscale doesn't have an admin console?

I am using the MacOS client on my local machine.

Thanks

Headscale failes to acknowledge Peers (Docker)

Descriptions

Trying to build a docker contianer using the binary from release v0.3.3. But the peer got hanged while connecting to headscale using tailscale up -login-server HEADSCALE_URL --authkey AUTHKEY. Headscale accepts the connection request and list the connected nodes while running headscale -n namespace nodes list, In peer running tailscale status shows logged out.

NOTE : Running headscale in the host machine works fine, only problem is while running it as a container.

Configurations

Using Ubuntu 18.04 as base image, private.key and drep.yaml remains unchanged.
Binary https://github.com/juanfont/headscale/releases/download/v0.3.3/headscale_0.3.3_linux_amd64 used for building this image.

Dockerfile

FROM ubuntu:18.04

COPY private.key    /etc/headscale/private.key
COPY config.json    /etc/headscale/config.json
COPY derp.yaml      /etc/headscale/derp.yaml
COPY entrypoint.sh  /etc/headscale/entrypoint.sh	

COPY headscale   /usr/bin/headscale

ENV TZ UTC
EXPOSE 8000/tcp

WORKDIR /etc/headscale/

ENTRYPOINT ["./entrypoint.sh"]

Config.json

{
    "server_url": "http://127.0.0.1:8000",
    "listen_addr": "0.0.0.0:8000",
    "private_key_path": "private.key",
    "derp_map_path": "derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "postgres",
    "db_host": "headscale-db",
    "db_port": 5432,
    "db_name": "headscale",
    "db_user": "foo",
    "db_pass": "bar",
    "tls_letsencrypt_hostname": "",
    "tls_letsencrypt_listen": ":http",
    "tls_letsencrypt_cache_dir": ".cache",
    "tls_letsencrypt_challenge_type": "HTTP-01",
    "tls_cert_path": "",
    "tls_key_path": "",
    "acl_policy_path": ""
}

Entrypoint.sh

#!/bin/sh

headscale namespaces create namespace
headscale -n namespace preauthkeys create --reusable > /etc/headscale/external/authkey.txt
headscale serve

docker-compose.yaml

version: "3.3"

networks:
  headscale-network:

volumes:
  headscale-db:
  headscale-auth:

services:
  PostgresDB:
    image: postgres:latest
    ports:
      - 5432:5432
    environment:
      - POSTGRES_DB=headscale
      - POSTGRES_USER=foo
      - POSTGRES_PASSWORD=bar
    volumes:
      - headscale-db:/var/lib/postgresql/data
    networks:
      headscale-network:
        aliases:
          - headscale-db

  Headscale-Server:
    image: headscale:ubuntu18.04
    ports:
      - 8000:8000
    volumes:
      - headscale-auth:/etc/headscale/external
    depends_on:
      - PostgresDB
    networks:
      headscale-network:
        aliases:
          - headscale-server

Delete of shared host causes 500 Errors / cli errors.

Reproduction:

  1. Create two namespaces
  2. Add a host to each
  3. Share a host from one namespace to another
  4. Delete the shared host

Log output:

Oct 01 21:25:05 myhost headscale[2726810]: 2021-10-02T03:25:05Z ERR Cannot fetch peers error="invalid hex key (\"\"): length=0, want 32" func=getMapResponse
Oct 01 21:25:05 myhost headscale[2726810]: 2021-10-02T03:25:05Z ERR Failed to get Map response error="invalid hex key (\"\"): length=0, want 32" handler=PollNetMap id=XXXXXXXXXXXXXXXXXXXXX

Further, headscale -n NAMESPACE nodes list fails with:

2021/10/01 21:19:35 Error fetching shared machines: record not found

Only obvious way out was to wipe headscale db and start fresh, although I'm sure some sql queries could have cleared it. I'm just starting with headscale, so no reason to spend time salvaging the DB.

Can not get the lets encrypt part to work.

Hi!

Any one more then me having problem setup ssl?

I get the folowing hint in the log?

headscale    | 2021/10/03 17:05:22 http: TLS handshake error from 192.168.1.1:58247: Get "https://acme-v02.api.letsencrypt.org/directory": x509: certificate signed by unknown authority
---
server_url: https://urskog.ddns.net
listen_addr: 0.0.0.0:443
ip_prefix: 100.64.0.0/10
log_level: debug
private_key_path: private.key
db_type: postgres
db_host: postgres
db_port: 5432
db_name: headscale
db_user: foo
db_pass: bar
derp_map_path: derp.yaml
ephemeral_node_inactivity_timeout: 30m
#tls_cert_path: ""
#tls_key_path: ""
tls_letsencrypt_hostname: urskog.ddns.net
tls_letsencrypt_cache_dir: tls_cache
tls_letsencrypt_challenge_type: HTTP-01
tls_letsencrypt_listen: :http
dns_config:
  nameservers:
    - 1.1.1.1

Detailed logs

Is there is any way to find more detailed logs,
becoz in headscale serve it shows just like Successfully authenticated via AuthKey
But in peer tailscale up -login-server HEADSCALE_URL --authkey AUTHKEY got hanged.

Originally posted by @bharathmsd7 in #70 (comment)

Upload build artefact after master/pr builds

Github actions supports having build artefacts published after each build and "stored" on the job like this (scroll down to Artefacts)

This is done afaik with actions/upload-artifact.

It would be very neat to have this published on all main branch builds and PR builds.
This would make it significantly easier for people to test builds from PRs and master without having to pull down the code and build it.
It would also make it easier for users in general to track main and help us catch bugs before doing releases.

Nodes IP missing in tailscale status

Hi,

Here is my config.json

{
    "server_url": "https://sub.domain.tld",
    "listen_addr": "0.0.0.0:443",
    "ip_prefix": "10.0.1.0/24",
    "private_key_path": "/etc/headscale/private.key",
    "derp_map_path": "/etc/headscale/derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "sqlite3",
    "db_path": "/etc/headscale/db.sqlite",
    "tls_cert_path": "/etc/headscale/crt.pem",
    "tls_key_path": "/etc/headscale/key.pem",
    "acl_policy_path": "",
    "dns_config": {
        "nameservers": ["1.1.1.1", "8.8.8.8"],
        "domains": [],
        "magic_dns": true,
        "base_domain": "local.net"
    }
}

Created namescpace. Joined 3 nodes successfully. They can reach each others. The issue is, when I run tailscale status, it doesn't show headscale IP on node list. I get the following output.

hakim@node-2:~$ sudo tailscale status
10.0.1.2        node-2                main         linux   -
                node-1                main         linux   active; direct PUBLICIP:41641, tx 11524412 rx 288104
                node-3                main         linux   active; direct PUBLICIP:41641, tx 3092 rx 2556

I can ping using node name like ping node-1 because of Magic DNS but can't use tailscale ping node-1 or Taildrop using node name. I have to use node's tailscale IP address. Headscale log seems fine. I am running v0.10.0

How to build custom tailscale android client?

Hey,
I'm trying to set up headscale to replace the tailscale.com server. I've found the issue #58 were it says I need to change the ipn.Prefs and then compile tailscale android client with the change but I'm having trouble understanding how/where I need to change the domain to which the client connects.

Any help would be appreciated.

Also using make dockershell does not work because once built and inside the container running make tailscale-debug.apk fails with:

mkdir -p android/libs
go run gioui.org/cmd/gogio -buildmode archive -target android -appid com.tailscale.ipn -o android/libs/ipn.aar github.com/tailscale/tailscale-android/cmd/tailscale
# runtime/internal/sys
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# internal/unsafeheader
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# internal/race
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# unicode
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# unicode/utf8
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# sync/atomic
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# runtime/internal/atomic
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# internal/cpu
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# math/bits
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# golang.org/x/image/math/f64
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# golang.org/x/text/encoding/internal/identifier
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# image/color
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# golang.org/x/text/internal/utf8internal
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# unicode/utf16
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# internal/goversion
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# encoding
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# golang.org/x/mod/semver
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
# golang.org/x/xerrors/internal
compile: version "go1.16.5" does not match go tool version "go1.17.1-ts097d128"
make: *** [Makefile:54: tailscale-debug.apk] Error 2

If someone can help me with this I'd appreciate it.

Invalid json when deleting nodes with -o flag

When deleting a node while using the -o json parameter, the value returned is not valid json:

# headscale nodes -n testns delete 1 -o json-line
? Do you want to remove the node ts-client? Yes
Node deleted

Tested on v0.10.1

Ability to remove Authkeys

Currently there are options for authkey like reusable and expiration.
It will be better to have an option for removing authkey which are reusable and expiration period is long.

shared nodes are unreachable

I have a "server" that is shared into the namespace of a "client". Server namespace:

ID | Name                  | NodeKey | Namespace | IP address      | Ephemeral | Last seen           | Online
4  | headscale-gw          | [DNPhi] | server  | 100.93.212.183  | false     | 2021-10-12 13:45:35 | true  

Client namespace:

ID | Name         | NodeKey | Namespace | IP address     | Ephemeral | Last seen           | Online
7  | countzero    | [Bph6h] | client      | 100.64.0.1     | false     | 2021-10-12 13:47:24 | true  
4  | headscale-gw | [DNPhi] | server  | 100.93.212.183 | false     | 2021-10-12 13:47:35 | true  

Tailscale view from the server:

tailscale status
100.93.212.183  headscale-gw         server     linux   -

Tailscale view from the client:

tailscale status
100.64.0.1      countzero            client         linux   -
100.93.212.183  headscale-gw         userid:2     linux   active; relay "nyc", tx 49876 rx 0

From the client:

tailscale ping 100.93.212.183
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
no reply

From the server, I can't see the client so unsurprisingly tailscale ping doesn't work.

tailscale ping 100.64.0.1
no matching peer

Tailscale is complaining on the server with (many times):

magicsock: DERP packet from unknown key: [Bph6h]

Times out

It does not work when i run tailscale up --login-server https://vpn.*.duckdns.org --authkey *

Could not load DERP servers map file error on Ubuntu 20.04

I'm trying to get headscale to work, but I'm stuck over this error.

$ docker run -v $(pwd)/private.key:/private.key -v $(pwd)/config.json:/config.json -v $(pwd)/derb.yaml:/derb.yaml -p 127.0.0.1:8080:8080 headscale/headscale headscale serve
  2021-09-18T10:19:24Z ERR Could not load DERP servers map file error="open : no such file or directory" path=
  2021/09/18 10:19:24 Error initializing: ephemeral_node_inactivity_timeout () is set too low, must be more than 1m5s

Running headscale namespaces create $NAMESPACE results in the same error.
I've tried both the binary and Docker, but both seem to be stuck.

When entering the Docker container with docker run --rm -it -v $(pwd):/root headscale/headscale sh and running headscale I see the command executes fine, and headscale version returns dev. Still I cannot create a namespace or start the server.

headscale up - 2 nodes registered cant ping one another

tailscale0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 100.117.125.229 netmask 255.255.255.255 destination 100.117.125.229
inet6 fe80::328c:a52:702d:d463 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 133 bytes 11020 (10.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1420
inet 10.10.10.1 netmask 255.255.255.0 destination 10.10.10.1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 388355 bytes 70009852 (66.7 MiB)
RX errors 321 dropped 0 overruns 0 frame 321
TX packets 22940 bytes 2731180 (2.6 MiB)
TX errors 92 dropped 480 overruns 0 carrier 0 collisions 0

root@openwisp2:~# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 212.32.234.190 0.0.0.0 UG 0 0 0 ens192
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0
212.32.234.128 0.0.0.0 255.255.255.192 U 0 0 0 ens192

and node 2
ailscale0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 100.107.148.109 netmask 255.255.255.255 destination 100.107.148.109
inet6 fe80::d04c:730:d336:caa7 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 1828 (1.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:7f:be:4e txqueuelen 1000 (Ethernet)
RX packets 1306778 bytes 201624054 (192.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 979134 bytes 459607920 (438.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fe4a:cf12 prefixlen 64 scopeid 0x20
ether fe:54:00:4a:cf:12 txqueuelen 1000 (Ethernet)
RX packets 267338 bytes 41792081 (39.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 191572 bytes 66665625 (63.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fef9:b5dd prefixlen 64 scopeid 0x20
ether fe:54:00:f9:b5:dd txqueuelen 1000 (Ethernet)
RX packets 9086 bytes 654414 (639.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 77397 bytes 4826090 (4.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

vnet2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:feaa:d545 prefixlen 64 scopeid 0x20
ether fe:54:00:aa:d5:45 txqueuelen 1000 (Ethernet)
RX packets 1032049 bytes 177663162 (169.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 914283 bytes 400343605 (381.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

โฏ sudo tailscale up -login-server http://portaladmin.optimcloud.com:8000
โฏ ping 100.117.125.229
PING 100.117.125.229 (100.117.125.229) 56(84) bytes of data.
^C
--- 100.117.125.229 ping statistics ---
435 packets transmitted, 0 received, 100% packet loss, time 444450ms

โฏ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eno1
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

[GIN-debug] GET /key --> github.com/juanfont/headscale.(*Headscale).KeyHandler-fm (3 handlers)
[GIN-debug] GET /register --> github.com/juanfont/headscale.(*Headscale).RegisterWebAPI-fm (3 handlers)
[GIN-debug] POST /machine/:id/map --> github.com/juanfont/headscale.(*Headscale).PollNetMapHandler-fm (3 handlers)
[GIN-debug] POST /machine/:id --> github.com/juanfont/headscale.(*Headscale).RegistrationHandler-fm (3 handlers)
[GIN-debug] Listening and serving HTTP on 0.0.0.0:8000
[GIN] 2021/06/17 - 03:33:41 | 200 | 111.562ยตs | 116.118.35.59 | GET "/key"
2021/06/17 03:33:41 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:41 | 200 | 1.345531ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:41 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:41 | 200 | 1.032246ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:42 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:42 | 200 | 1.193469ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:42 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:42 | 200 | 987.379ยตs | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:42 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:42 | 200 | 1.037511ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:43 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:43 | 200 | 1.031472ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:43 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:43 | 200 | 1.140751ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:44 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:44 | 200 | 2.545385ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:45 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:45 | 200 | 1.076843ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:46 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:46 | 200 | 1.148693ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:47 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:47 | 200 | 897.474ยตs | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:48 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:48 | 200 | 1.059621ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
[GIN] 2021/06/17 - 03:33:48 | 200 | 35.703ยตs | 116.118.35.59 | GET "/register?key=6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
[GIN] 2021/06/17 - 03:33:49 | 404 | 1.023ยตs | 116.118.35.59 | GET "/favicon.ico"
2021/06/17 03:33:49 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:49 | 200 | 1.077035ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:50 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:50 | 200 | 1.091801ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:53 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:53 | 200 | 1.084071ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:54 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:54 | 200 | 1.146019ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:33:56 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:33:56 | 200 | 1.057807ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:00 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:00 | 200 | 1.074029ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:02 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:02 | 200 | 1.059043ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:04 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:04 | 200 | 1.114051ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:07 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:07 | 200 | 1.115037ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:13 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:13 | 200 | 1.102115ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:16 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:16 | 200 | 1.159897ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:19 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:19 | 200 | 1.111871ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:26 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:26 | 200 | 1.07197ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:32 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:32 | 200 | 927.425ยตs | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:38 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:38 | 200 | 1.104985ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:48 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:48 | 200 | 1.077712ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:53 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:53 | 200 | 1.197335ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:34:58 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:34:58 | 200 | 1.116692ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:35:06 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:35:06 | 200 | 1.087817ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:35:18 [localhost] The node is sending us a new NodeKey, sending auth url
[GIN] 2021/06/17 - 03:35:18 | 200 | 1.001356ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:35:32 [localhost] The node is sending us a new NodeKey, but machine is registered. All clear for /map
[GIN] 2021/06/17 - 03:35:32 | 200 | 1.170567ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074"
2021/06/17 03:35:32 [localhost] ReadOnly=true OmitPeers=false Stream=true
2021/06/17 03:35:32 [localhost] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:35:32 | 200 | 7.315647ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074/map"
2021/06/17 03:35:32 [localhost] ReadOnly=true OmitPeers=true Stream=false
2021/06/17 03:35:32 [localhost] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:35:32 | 200 | 6.525705ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074/map"
2021/06/17 03:35:33 [localhost] ReadOnly=true OmitPeers=false Stream=true
2021/06/17 03:35:33 [localhost] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:35:33 | 200 | 6.273575ms | 116.118.35.59 | POST "/machine/6932e2c2bd1d08ba75050f8add63d2874208263e9fc30d61c5e8161b34fd5074/map"
2021/06/17 03:35:33 [localhost] ReadOnly=false OmitPeers=false Stream=true
2021/06/17 03:35:33 [localhost] Client is ready to access the tailnet
2021/06/17 03:35:33 [localhost] Sending initial map
2021/06/17 03:35:33 [localhost] Notifying peers
2021/06/17 03:35:33 [localhost] Sending data (1216 bytes)
2021/06/17 03:35:33 [localhost] Sending keepalive
2021/06/17 03:35:33 [localhost] Sending data (165 bytes)
2021/06/17 03:36:33 [localhost] Sending keepalive
2021/06/17 03:36:33 [localhost] Sending data (165 bytes)
2021/06/17 03:37:33 [localhost] Sending keepalive
2021/06/17 03:37:33 [localhost] Sending data (165 bytes)
^C
root@portaladmin:# ./headscale serve &
[1] 5437
root@portaladmin:
# [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.

  • using env: export GIN_MODE=release
  • using code: gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET /key --> github.com/juanfont/headscale.(*Headscale).KeyHandler-fm (3 handlers)
[GIN-debug] GET /register --> github.com/juanfont/headscale.(*Headscale).RegisterWebAPI-fm (3 handlers)
[GIN-debug] POST /machine/:id/map --> github.com/juanfont/headscale.(*Headscale).PollNetMapHandler-fm (3 handlers)
[GIN-debug] POST /machine/:id --> github.com/juanfont/headscale.(*Headscale).RegistrationHandler-fm (3 handlers)
[GIN-debug] Listening and serving HTTP on 0.0.0.0:8000

root@portaladmin:~# 2021/06/17 03:37:50 [localhost] ReadOnly=false OmitPeers=false Stream=true
2021/06/17 03:37:50 [localhost] Client is ready to access the tailnet
2021/06/17 03:37:50 [localhost] Sending initial map
2021/06/17 03:37:50 [localhost] Notifying peers
2021/06/17 03:37:50 [localhost] Sending data (1214 bytes)
2021/06/17 03:37:50 [localhost] Sending keepalive
2021/06/17 03:37:50 [localhost] Sending data (165 bytes)
2021/06/17 03:38:50 [localhost] Sending keepalive
2021/06/17 03:38:50 [localhost] Sending data (165 bytes)
2021/06/17 03:39:50 [localhost] Sending keepalive
2021/06/17 03:39:50 [localhost] Sending data (165 bytes)
2021/06/17 03:40:50 [localhost] Sending keepalive
2021/06/17 03:40:50 [localhost] Sending data (165 bytes)
2021/06/17 03:41:50 [localhost] Sending keepalive
2021/06/17 03:41:50 [localhost] Sending data (165 bytes)
[GIN] 2021/06/17 - 03:42:13 | 200 | 202.556ยตs | 212.32.234.181 | GET "/key"
2021/06/17 03:42:13 New Machine!
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 3.560429ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 913.675ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 855.282ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 882.553ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 882.617ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:13 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:13 | 200 | 947.643ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:14 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:14 | 200 | 1.202272ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:14 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:14 | 200 | 896.731ยตs | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:15 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:15 | 200 | 1.252819ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:16 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:16 | 200 | 1.092878ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:16 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:16 | 200 | 1.06959ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:17 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:17 | 200 | 1.143727ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:18 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:18 | 200 | 1.088837ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:20 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:20 | 200 | 1.13734ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:22 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:22 | 200 | 1.089247ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
[GIN] 2021/06/17 - 03:42:23 | 200 | 52.923ยตs | 116.118.35.59 | GET "/register?key=1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:24 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:24 | 200 | 1.199791ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:27 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:27 | 200 | 1.13902ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:30 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:30 | 200 | 1.227831ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:32 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:32 | 200 | 1.142404ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"

root@portaladmin:~# 2021/06/17 03:42:35 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:35 | 200 | 1.131066ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:37 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:37 | 200 | 1.048402ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:42 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:42 | 200 | 1.105127ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:48 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:48 | 200 | 1.176801ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:50 [localhost] Sending keepalive
2021/06/17 03:42:50 [localhost] Sending data (165 bytes)
2021/06/17 03:42:52 [openwisp2] Not registered and not NodeKey rotation. Sending a authurl to register
[GIN] 2021/06/17 - 03:42:52 | 200 | 1.261325ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:58 [openwisp2] Client is registered and we have the current NodeKey. All clear to /map
[GIN] 2021/06/17 - 03:42:58 | 200 | 1.13688ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f"
2021/06/17 03:42:58 [openwisp2] ReadOnly=true OmitPeers=false Stream=true
2021/06/17 03:42:58 [openwisp2] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:42:58 | 200 | 6.32538ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f/map"
2021/06/17 03:42:58 [openwisp2] ReadOnly=true OmitPeers=true Stream=false
2021/06/17 03:42:58 [openwisp2] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:42:58 | 200 | 5.965112ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f/map"
2021/06/17 03:42:58 [openwisp2] ReadOnly=true OmitPeers=true Stream=false
2021/06/17 03:42:58 [openwisp2] Client is starting up. Asking for DERP map
[GIN] 2021/06/17 - 03:42:58 | 200 | 6.551025ms | 212.32.234.181 | POST "/machine/1c190a58787774c68ae8734fb2ee90503f2aef40307eba9aa70406c5b14e586f/map"
2021/06/17 03:42:58 [openwisp2] ReadOnly=false OmitPeers=false Stream=true
2021/06/17 03:42:58 [openwisp2] Client is ready to access the tailnet
2021/06/17 03:42:58 [openwisp2] Sending initial map
2021/06/17 03:42:58 [openwisp2] Notifying peers
2021/06/17 03:42:58 [openwisp2] Notifying peer localhost (100.107.148.109/32)
2021/06/17 03:42:58 [openwisp2] Sending data (1527 bytes)
2021/06/17 03:42:58 [localhost] Received a request for update
2021/06/17 03:42:58 [openwisp2] Sending keepalive
2021/06/17 03:42:58 [openwisp2] Sending data (165 bytes)
2021/06/17 03:43:50 [localhost] Sending keepalive
2021/06/17 03:43:50 [localhost] Sending data (165 bytes)
2021/06/17 03:43:58 [openwisp2] Sending keepalive
2021/06/17 03:43:58 [openwisp2] Sending data (165 bytes)
2021/06/17 03:44:50 [localhost] Sending keepalive
2021/06/17 03:44:50 [localhost] Sending data (165 bytes)
2021/06/17 03:44:58 [openwisp2] Sending keepalive
2021/06/17 03:44:58 [openwisp2] Sending data (165 bytes)
2021/06/17 03:45:50 [localhost] Sending keepalive
2021/06/17 03:45:50 [localhost] Sending data (165 bytes)
2021/06/17 03:45:58 [openwisp2] Sending keepalive
2021/06/17 03:45:58 [openwisp2] Sending data (165 bytes)
2021/06/17 03:46:50 [localhost] Sending keepalive
2021/06/17 03:46:50 [localhost] Sending data (165 bytes)
2021/06/17 03:46:58 [openwisp2] Sending keepalive

Publish Docker Containers

As mentioned as a TODO in the README of the k8s folder.
We should build containers like we make releases with github actions.

Therefore I was so free and registered the headscale user on hub.docker.com. (Which I would hand over)
Just wanted to make sure we will have that one. (https://hub.docker.com/u/headscale)

The idea is to publish the headscale docker containers on

  • ghrc.io
  • hub.docker.com

In short there will be a PR, which implements the needed workflows. I can afterwards help to setup the whole thing.

Preauthkey date values timezone difference

The CreatedAt and Expiration properties of preauthkeys are returned in different timezone formats:

# headscale preauthkeys -n testns list -o json
[
	{
			"ID": 1,
			"Key": "fadadadf8e33c712210a7849a78d4ecd555c34dbfcea9ca8",
			"NamespaceID": 1,
			"Namespace": {
					"ID": 1,
					"CreatedAt": "2021-10-10T18:21:35.561705156+02:00",
					"UpdatedAt": "2021-10-10T18:21:35.561705156+02:00",
					"DeletedAt": null,
					"Name": "testns"
			},
			"Reusable": false,
			"Ephemeral": false,
			"CreatedAt": "2021-10-10T16:46:01.512101112Z",
			"Expiration": "2021-10-11T20:16:09.99374485+02:00"
	}
]

The "Expiration" format is the correct one for my machine.
Tested on v0.10.1

Docker build fails

Trying to build Docker image
It fails at Step 9

Step 9/27 : RUN gpg --keyserver ipv4.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
 ---> Running in 038b390e46e2
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: keyserver receive failed: No name
The command '/bin/sh -c gpg --keyserver ipv4.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4' returned a non-zero code: 2

Multiple servers

Is it possible to connect to multiple servers?
I just set up 2 offering different subnets, but can only connect to one at a time.

Add a description

Hello,
consider adding a description. The current documentation assumes that people know what tailscale
is and what a tailscale coordination server does.

Even if they know, it would be cool to have a description about this.
(Because there may come a time where people prefer this Free Software solution over whatevery was there before. ;))

0.6.1 SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd23b47]

while doing some testing

sudo /root/headscale -n optim nodes list
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd23b47]

goroutine 1 [running]:
github.com/juanfont/headscale/cmd/headscale/cli.nodesToPtables(0xc0003d6000, 0xb, 0x14, 0xc0000ab560, 0x0, 0x0, 0x0, 0xc0000aacf0)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:167 +0x2c7
github.com/juanfont/headscale/cmd/headscale/cli.glob..func8(0x179eee0, 0xc0004da1e0, 0x0, 0x2)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:92 +0x2a5
github.com/spf13/cobra.(*Command).execute(0x179eee0, 0xc0004da1a0, 0x2, 0x2, 0x179eee0, 0xc0004da1a0)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x179d5e0, 0x0, 0xc00031fd28, 0xd1e937)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:897
github.com/juanfont/headscale/cmd/headscale/cli.Execute()
/home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:24 +0x31
main.main()
/home/runner/work/headscale/headscale/cmd/headscale/headscale.go:64 +0x287

How to turn off debug mode in headscale serve

headscale serve command runs in debug mode by default.

Is there any way to run serve as a background process so the new connections can be established while i am not logged in to the server. (Running the serve without a terminal).

Thanks in advance.

Usage with Tailscale on MacOS

Hey

Could add some clue how to use this with the MacOS TailScale client? It seems the GUI client needs to be loaded and logged in before I can use the CLI command, but then this mean I cannot run the following, as it is already authenticated to TailScales hosted controller.

/Applications/Tailscale.app/Contents/MacOS/Tailscale up -login-server <> --authkey

If I run the following, it forces the client to logout, but it doesn't reconnect:

/Applications/Tailscale.app/Contents/MacOS/Tailscale up -login-server <> --authkey --reset --force-reauth

Thank you

DERP packet from unknown key

When I try to ping an existing node from a newly joined node, I get the following error message on the existing node:

tailscale_1  | 2021/08/13 23:13:51 magicsock: DERP packet from unknown key: [Te/d2]

The new node also doesn't show up in the existing node's tailscale status. The existing node shows up in the new node's tailscale status though.

Do you know what's causing this and how I should proceed to debugging? I'm using the latest master (5b1b40c) for Headscale and v1.12.3 for Tailscale (https://github.com/unicorns/tailscale-docker). Here is my config.json:

{
    "server_url": "<some_url>",
    "listen_addr": "0.0.0.0:8080",
    "private_key_path": "private.key",
    "derp_map_path": "derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "sqlite3",
    "db_path": "db.sqlite",
    "tls_letsencrypt_hostname": "",
    "tls_letsencrypt_listen": ":http",
    "tls_letsencrypt_cache_dir": ".cache",
    "tls_letsencrypt_challenge_type": "HTTP-01",
    "tls_cert_path": "",
    "tls_key_path": "",
    "acl_policy_path": ""
}

Nodes connected to headscale fail to see each other if headscale is fronted by nginx

Descriptions

Machines manage to authenticate to headscale, see each other's existence in tailscale status, but cannot ping each other.
They are able to discover and ping each other fine when using tailscale infrastructure, or when talking to headscale directly, without nginx in the way.

Situation

Two machines running OpenBSD-current, tailscale 1.10.2, headscale 0.3.4

  • one named headscale is running headscale with postgres, tailscale, nginx in front of headscale for TLS termination; has public IP, tailscale told to listen on specific port and that port opened on firewall
  • one named innernet-test is behind NAT (aggressive). Runs only tailscaled

Configuration

headscale

{
    "server_url": "https://headscale.viq.vc:443",
    "listen_addr": "0.0.0.0:8000",
    "private_key_path": "/etc/headscale/private.key",
    "derp_map_path": "/etc/headscale/derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "postgres",
    "db_host": "localhost",
    "db_port": 5432,
    "db_name": "headscale",
    "db_user": "headscale",
    "db_pass": "XXX",
    "tls_letsencrypt_hostname": "",
    "tls_letsencrypt_cache_dir": "/var/headscale/.cache",
    "tls_letsencrypt_challenge_type": "TLS-ALPN-01",
    "tls_cert_path": "",
    "tls_key_path": "",
    "acl_policy_path": ""
}

nginx

# cat /etc/nginx/nginx.conf  | grep -v \# | grep -v ^$
worker_processes  1;
worker_rlimit_nofile 1024;
events {
    worker_connections  800;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    index         index.html index.htm;
    keepalive_timeout  65;
    server_tokens off;
    server {
        listen       80;
        listen       [::]:80;
        server_name  headscale.viq.vc;
        root         /var/www/htdocs;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root  /var/www/htdocs;
        }
        location ^~ /.well-known/acme-challenge/ {
                alias /var/www/acme/;
                default_type "text/plain";
                allow all;
        }
        location = /.well-known/acme-challenge/ {
                return 404;
        }
    }
    server {
        listen       443 ssl;
        server_name  headscale.viq.vc;
        ssl_certificate      /etc/ssl/headscale.viq.vc.fullchain.pem;
        ssl_certificate_key  /etc/ssl/private/headscale.viq.vc.key;
        ssl_session_timeout  5m;
        ssl_session_cache    shared:SSL:1m;
        ssl_ciphers  HIGH:!aNULL:!MD5:!RC4;
        ssl_prefer_server_ciphers   on;
        location / {
                proxy_read_timeout 180;
                proxy_http_version 1.1;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://127.0.0.1:8000;
        }
    }
}

Logs

Part 1

Attaching machines to headscale

nginx

51.75.32.29 - - [17/Jul/2021:17:03:35 +0200] "GET /key HTTP/1.1" 200 64 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:35 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839 HTTP/1.1" 200 326 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:36 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1303 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:36 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1293 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:36 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1293 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:36 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1293 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:03:36 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1293 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:17 +0200] "GET /key HTTP/1.1" 200 64 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:17 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317 HTTP/1.1" 200 326 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:17 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1748 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:18 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1737 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:18 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1737 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:04:18 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1737 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:06:13 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 499 0 "-" "Go-http-client/1.1"

headscale & tailscaled

headscale machine
2021-07-17T15:01:27.335Z headscale newsyslog[86153]: logfile turned over
2021-07-17T15:01:52.997Z headscale headscale[61967]: [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
2021-07-17T15:01:53.000Z headscale headscale[61967]: 
2021-07-17T15:01:53.011Z headscale headscale[61967]: [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
2021-07-17T15:01:53.012Z headscale headscale[61967]:  - using env:      export GIN_MODE=release
2021-07-17T15:01:53.012Z headscale headscale[61967]:  - using code:     gin.SetMode(gin.ReleaseMode)
2021-07-17T15:01:53.012Z headscale headscale[61967]: 
2021-07-17T15:01:53.019Z headscale headscale[61967]: [GIN-debug] GET    /key                      --> github.com/juanfont/headscale.(*Headscale).KeyHandler-fm (3 handlers)
2021-07-17T15:01:53.023Z headscale headscale[61967]: [GIN-debug] GET    /register                 --> github.com/juanfont/headscale.(*Headscale).RegisterWebAPI-fm (3 handlers)
2021-07-17T15:01:53.026Z headscale headscale[61967]: [GIN-debug] POST   /machine/:id/map          --> github.com/juanfont/headscale.(*Headscale).PollNetMapHandler-fm (3 handlers)
2021-07-17T15:01:53.029Z headscale headscale[61967]: [GIN-debug] POST   /machine/:id              --> github.com/juanfont/headscale.(*Headscale).RegistrationHandler-fm (3 handlers)
2021-07-17T15:01:53.032Z headscale headscale[61967]: 2021/07/17 17:01:53 WARNING: listening without TLS but ServerURL does not start with http://
2021-07-17T15:01:53.036Z headscale headscale[61967]: [GIN-debug] Listening and serving HTTP on 0.0.0.0:8000
2021-07-17T15:02:43.035Z headscale tailscaled[14930]: 2021/07/17 17:02:43 logtail started
2021-07-17T15:02:43.041Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Program starting: vdate.20210603, Go 1.16.6: []string{"/usr/local/bin/tailscaled", "-port", "22502"}
2021-07-17T15:02:43.050Z headscale tailscaled[14930]: 2021/07/17 17:02:43 LogID: 684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573
2021-07-17T15:02:43.057Z headscale tailscaled[14930]: 2021/07/17 17:02:43 logpolicy: using system state directory "/var/db/tailscale"
2021-07-17T15:02:43.061Z headscale tailscaled[14930]: logpolicy.Read /var/db/tailscale/tailscaled.log.conf: open /var/db/tailscale/tailscaled.log.conf: no such file or directory
2021-07-17T15:02:43.065Z headscale tailscaled[14930]: 2021/07/17 17:02:43 wgengine.NewUserspaceEngine(tun "tun") ...
2021-07-17T15:02:43.069Z headscale tailscaled[14930]: 2021/07/17 17:02:43 dns: using dns.directManager
2021-07-17T15:02:43.079Z headscale tailscaled[14930]: 2021/07/17 17:02:43 link state: interfaces.State{defaultRoute=TODO ifs={vio0:[51.75.32.29/32]} v4=true v6=false}
2021-07-17T15:02:43.090Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Creating wireguard device...
2021-07-17T15:02:43.098Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Bringing wireguard device up...
2021-07-17T15:02:43.103Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Bringing router up...
2021-07-17T15:02:43.107Z headscale tailscaled[14930]: 2021/07/17 17:02:43 external route: up
2021-07-17T15:02:43.111Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Clearing router settings...
2021-07-17T15:02:43.116Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Starting link monitor...
2021-07-17T15:02:43.120Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Starting magicsock...
2021-07-17T15:02:43.145Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Engine created.
2021-07-17T15:02:43.155Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Listening on /var/run/tailscale/tailscaled.sock
2021-07-17T15:02:43.161Z headscale tailscaled[14930]: 2021/07/17 17:02:43 netmap packet filter: (not ready yet)
2021-07-17T15:02:43.170Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Start
2021-07-17T15:02:43.173Z headscale tailscaled[14930]: 2021/07/17 17:02:43 using backend prefs
2021-07-17T15:02:43.176Z headscale tailscaled[14930]: 2021/07/17 17:02:43 created empty state for "_daemon": Prefs{ra=true dns=true want=false Persist=nil}
2021-07-17T15:02:43.179Z headscale tailscaled[14930]: 2021/07/17 17:02:43 got initial portlist info in 0s
2021-07-17T15:02:43.183Z headscale tailscaled[14930]: 2021/07/17 17:02:43 magicsock: disco key = d:110593ae14096bdd
2021-07-17T15:02:43.186Z headscale tailscaled[14930]: 2021/07/17 17:02:43 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573","OS":"openbsd","Hostname":"headscale","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":80},{"Proto":"tcp","Port":443},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:02:43.190Z headscale tailscaled[14930]: 2021/07/17 17:02:43 control: authRoutine: state:new; goal=nil paused=false
2021-07-17T15:02:43.194Z headscale tailscaled[14930]: 2021/07/17 17:02:43 control: mapRoutine: state:new
2021-07-17T15:02:43.197Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Backend: logs: be:684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573 fe:
2021-07-17T15:02:43.201Z headscale tailscaled[14930]: 2021/07/17 17:02:43 Switching ipn state NoState -> NeedsLogin (WantRunning=false, nm=false)
2021-07-17T15:02:43.204Z headscale tailscaled[14930]: 2021/07/17 17:02:43 blockEngineUpdates(true)
2021-07-17T15:02:43.207Z headscale tailscaled[14930]: 2021/07/17 17:02:43 wgengine: Reconfig: configuring userspace wireguard config (with 0/0 peers)
2021-07-17T15:02:43.211Z headscale tailscaled[14930]: 2021/07/17 17:02:43 wgengine: Reconfig: configuring router
2021-07-17T15:02:43.215Z headscale tailscaled[14930]: 2021/07/17 17:02:43 wgengine: Reconfig: configuring DNS
2021-07-17T15:02:43.218Z headscale tailscaled[14930]: 2021/07/17 17:02:43 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[]}
2021-07-17T15:02:43.222Z headscale tailscaled[14930]: 2021/07/17 17:02:43 dns: Resolvercfg: {Routes:map[] Hosts:map[] LocalDomains:[]}
2021-07-17T15:02:43.226Z headscale tailscaled[14930]: 2021/07/17 17:02:43 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:02:43.232Z headscale tailscaled[14930]: 2021/07/17 17:02:43 health("overall"): error: state=NeedsLogin, wantRunning=false
2021-07-17T15:02:43.282Z headscale tailscaled[14930]: 2021/07/17 17:02:43 logtail: dialed "log.tailscale.io:443" in 226ms
2021-07-17T15:03:35.805Z headscale tailscaled[14930]: 2021/07/17 17:03:35 Start
2021-07-17T15:03:35.810Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: client.Shutdown()
2021-07-17T15:03:35.810Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: client.Shutdown: inSendStatus=0
2021-07-17T15:03:35.810Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: authRoutine: state:new; goal=nil paused=false
2021-07-17T15:03:35.810Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: context done.
2021-07-17T15:03:35.812Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: state:new
2021-07-17T15:03:35.812Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: quit
2021-07-17T15:03:35.812Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: Client.Shutdown done.
2021-07-17T15:03:35.813Z headscale tailscaled[14930]: 2021/07/17 17:03:35 using backend prefs
2021-07-17T15:03:35.814Z headscale tailscaled[14930]: 2021/07/17 17:03:35 created empty state for "_daemon": Prefs{ra=true dns=true want=false Persist=nil}
2021-07-17T15:03:35.814Z headscale tailscaled[14930]: 2021/07/17 17:03:35 generating new machine key
2021-07-17T15:03:35.822Z headscale tailscaled[14930]: 2021/07/17 17:03:35 machine key written to store
2021-07-17T15:03:35.826Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573","OS":"openbsd","Hostname":"headscale","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":80},{"Proto":"tcp","Port":443},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:03:35.829Z headscale tailscaled[14930]: 2021/07/17 17:03:35 Backend: logs: be:684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573 fe:
2021-07-17T15:03:35.832Z headscale tailscaled[14930]: 2021/07/17 17:03:35 Switching ipn state NoState -> NeedsLogin (WantRunning=true, nm=false)
2021-07-17T15:03:35.833Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: authRoutine: state:new; goal=nil paused=false
2021-07-17T15:03:35.841Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: state:new
2021-07-17T15:03:35.842Z headscale tailscaled[14930]: 2021/07/17 17:03:35 blockEngineUpdates(true)
2021-07-17T15:03:35.842Z headscale tailscaled[14930]: 2021/07/17 17:03:35 Reconfig(down): no changes made to Engine config
2021-07-17T15:03:35.845Z headscale tailscaled[14930]: 2021/07/17 17:03:35 StartLoginInteractive: url=false
2021-07-17T15:03:35.850Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: client.Login(false, 2)
2021-07-17T15:03:35.852Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: authRoutine: state:new; wantLoggedIn=true
2021-07-17T15:03:35.859Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: direct.TryLogin(token=false, flags=2)
2021-07-17T15:03:35.872Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: LoginInteractive -> regen=true
2021-07-17T15:03:35.878Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: doLogin(regen=true, hasUrl=false)
2021-07-17T15:03:35.927Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:35 | 200 |     367.532\M-B\M-5s |     51.75.32.29 | GET      "/key"
2021-07-17T15:03:35.934Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: Generating a new nodekey.
2021-07-17T15:03:35.939Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: RegisterReq: onode=[AAAAA] node=[WwgZK] fup=false
2021-07-17T15:03:35.952Z headscale headscale[61967]: 2021/07/17 17:03:35 New Machine!
2021-07-17T15:03:35.971Z headscale headscale[61967]: 2021/07/17 17:03:35 [headscale] Successfully authenticated via AuthKey
2021-07-17T15:03:35.972Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:35 | 200 |   25.342504ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839"
2021-07-17T15:03:35.985Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: RegisterReq: got response; nodeKeyExpired=false, machineAuthorized=true; authURL=false
2021-07-17T15:03:35.988Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: No AuthURL
2021-07-17T15:03:35.988Z headscale tailscaled[14930]: 2021/07/17 17:03:35 blockEngineUpdates(false)
2021-07-17T15:03:35.988Z headscale tailscaled[14930]: 2021/07/17 17:03:35 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:03:35.995Z headscale tailscaled[14930]: 2021/07/17 17:03:35 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:03:35.995Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:03:35.999Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: new map needed while idle.
2021-07-17T15:03:35.999Z headscale tailscaled[14930]: 2021/07/17 17:03:35 control: mapRoutine: state:authenticated
2021-07-17T15:03:36.033Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:03:36.037Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:03:36.041Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:36 | 200 |   28.951678ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:03:36.049Z headscale tailscaled[14930]: 2021/07/17 17:03:36 active login: viqWORKS
2021-07-17T15:03:36.054Z headscale tailscaled[14930]: 2021/07/17 17:03:36 netmap packet filter: [[TCP UDP ICMPv4 ICMPv6][0.0.0.0/0,::/0]=>[0.0.0.0/0:*,::/0:*]]
2021-07-17T15:03:36.064Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Switching ipn state NeedsLogin -> Starting (WantRunning=true, nm=true)
2021-07-17T15:03:36.069Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: SetPrivateKey called (init)
2021-07-17T15:03:36.073Z headscale tailscaled[14930]: 2021/07/17 17:03:36 wgengine: Reconfig: configuring userspace wireguard config (with 0/0 peers)
2021-07-17T15:03:36.073Z headscale tailscaled[14930]: 2021/07/17 17:03:36 wgengine: Reconfig: configuring router
2021-07-17T15:03:36.136Z headscale tailscaled[14930]: 2021/07/17 17:03:36 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:03:36.145Z headscale tailscaled[14930]: 2021/07/17 17:03:36 wgengine: Reconfig: configuring DNS
2021-07-17T15:03:36.148Z headscale tailscaled[14930]: 2021/07/17 17:03:36 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[headscale.:[100.99.59.105]]}
2021-07-17T15:03:36.148Z headscale tailscaled[14930]: 2021/07/17 17:03:36 dns: Resolvercfg: {Routes:map[] Hosts:map[headscale.:[100.99.59.105]] LocalDomains:[]}
2021-07-17T15:03:36.148Z headscale tailscaled[14930]: 2021/07/17 17:03:36 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:03:36.150Z headscale tailscaled[14930]: 2021/07/17 17:03:36 peerapi: serving on http://100.99.59.105:39599
2021-07-17T15:03:36.157Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Received error: PollNetMap: EOF
2021-07-17T15:03:36.159Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: backoff: 5 msec
2021-07-17T15:03:36.160Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573","OS":"openbsd","Hostname":"headscale","GoArch":"amd64","Services":[{"Proto":"peerapi4","Port":39599}]}
2021-07-17T15:03:36.162Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: state:authenticated
2021-07-17T15:03:36.212Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:03:36.215Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:03:36.218Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:36 | 200 |   48.737118ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:03:36.224Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: state:authenticated
2021-07-17T15:03:36.227Z headscale tailscaled[14930]: 2021/07/17 17:03:36 [RATELIMIT] format("control: mapRoutine: %s")
2021-07-17T15:03:36.260Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:03:36.264Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:03:36.268Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:36 | 200 |   25.277085ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:03:36.276Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Received error: PollNetMap: EOF
2021-07-17T15:03:36.276Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: backoff: 36 msec
2021-07-17T15:03:36.337Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:03:36.340Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:03:36.343Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:36 | 200 |   21.983377ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:03:36.355Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Received error: PollNetMap: EOF
2021-07-17T15:03:36.357Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: backoff: 45 msec
2021-07-17T15:03:36.423Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:03:36.426Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:03:36.426Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:03:36 | 200 |   12.453532ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:03:36.437Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Received error: PollNetMap: EOF
2021-07-17T15:03:36.442Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: mapRoutine: backoff: 88 msec
2021-07-17T15:03:36.442Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: home is now derp-4 (fra)
2021-07-17T15:03:36.445Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: endpoints changed: 51.75.32.29:22502 (stun)
2021-07-17T15:03:36.451Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: client.newEndpoints(0, [51.75.32.29:22502])
2021-07-17T15:03:36.455Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:03:36.458Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:03:36.462Z headscale tailscaled[14930]: 2021/07/17 17:03:36 Switching ipn state Starting -> Running (WantRunning=true, nm=true)
2021-07-17T15:03:36.462Z headscale tailscaled[14930]: 2021/07/17 17:03:36 control: NetInfo: NetInfo{varies=false hairpin=false ipv6=false udp=true derp=#4 portmap= link=""}
2021-07-17T15:03:36.462Z headscale tailscaled[14930]: 2021/07/17 17:03:36 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:03:36.467Z headscale tailscaled[14930]: 2021/07/17 17:03:36 derphttp.Client.Connect: connecting to derp-4 (fra)
2021-07-17T15:03:36.549Z headscale tailscaled[14930]: 2021/07/17 17:03:36 magicsock: derp-4 connected; connGen=1
2021-07-17T15:03:36.553Z headscale tailscaled[14930]: 2021/07/17 17:03:36 health("overall"): ok
2021-07-17T15:03:36.564Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] ReadOnly=false   OmitPeers=false    Stream=true
2021-07-17T15:03:36.567Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Client is ready to access the tailnet
2021-07-17T15:03:36.567Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Sending initial map
2021-07-17T15:03:36.567Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Notifying peers
2021-07-17T15:03:36.570Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Sending data (1507 bytes)
2021-07-17T15:03:36.579Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Sending keepalive
2021-07-17T15:03:36.581Z headscale headscale[61967]: 2021/07/17 17:03:36 [headscale] Sending data (75 bytes)
2021-07-17T15:03:43.185Z headscale tailscaled[14930]: 2021/07/17 17:03:43 LinkChange: major, rebinding. New state: interfaces.State{defaultRoute=TODO ifs={tun0:[100.99.59.105/32] vio0:[51.75.32.29/32]} v4=true v6=false}
2021-07-17T15:03:43.214Z headscale tailscaled[14930]: 2021/07/17 17:03:43 magicsock: closing connection to derp-4 (rebind), age 7s
2021-07-17T15:03:43.219Z headscale tailscaled[14930]: 2021/07/17 17:03:43 magicsock: 0 active derp conns
2021-07-17T15:03:43.229Z headscale tailscaled[14930]: 2021/07/17 17:03:43 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:03:43.233Z headscale tailscaled[14930]: 2021/07/17 17:03:43 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:03:43.233Z headscale tailscaled[14930]: 2021/07/17 17:03:43 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:03:43.233Z headscale tailscaled[14930]: 2021/07/17 17:03:43 health("overall"): error: not connected to home DERP region 4
2021-07-17T15:03:43.233Z headscale tailscaled[14930]: 2021/07/17 17:03:43 derphttp.Client.Recv: connecting to derp-4 (fra)
2021-07-17T15:03:43.307Z headscale tailscaled[14930]: 2021/07/17 17:03:43 magicsock: derp-4 connected; connGen=1
2021-07-17T15:03:43.310Z headscale tailscaled[14930]: 2021/07/17 17:03:43 health("overall"): ok
2021-07-17T15:03:43.445Z headscale tailscaled[14930]: 2021/07/17 17:03:43 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:04:17.862Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:17 | 200 |     465.137\M-B\M-5s |     51.75.32.28 | GET      "/key"
2021-07-17T15:04:17.876Z headscale headscale[61967]: 2021/07/17 17:04:17 New Machine!
2021-07-17T15:04:17.889Z headscale headscale[61967]: 2021/07/17 17:04:17 [innernet-test] Successfully authenticated via AuthKey
2021-07-17T15:04:17.892Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:17 | 200 |   17.280435ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317"
2021-07-17T15:04:17.921Z headscale headscale[61967]: 2021/07/17 17:04:17 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:04:17.925Z headscale headscale[61967]: 2021/07/17 17:04:17 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:04:17.925Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:17 | 200 |   20.194041ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:04:18.095Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:04:18.101Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:04:18.101Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:18 | 200 |   16.963453ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:04:18.138Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:04:18.145Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:04:18.151Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:18 | 200 |   33.569286ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:04:18.234Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:04:18.241Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:04:18.241Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:04:18 | 200 |   18.543764ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:04:18.366Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] ReadOnly=false   OmitPeers=false    Stream=true
2021-07-17T15:04:18.371Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Client is ready to access the tailnet
2021-07-17T15:04:18.373Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Sending initial map
2021-07-17T15:04:18.373Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Notifying peers
2021-07-17T15:04:18.373Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Notifying peer headscale (100.99.59.105/32)
2021-07-17T15:04:18.374Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Sending data (1825 bytes)
2021-07-17T15:04:18.390Z headscale headscale[61967]: 2021/07/17 17:04:18 [headscale] Received a request for update
2021-07-17T15:04:18.397Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Sending keepalive
2021-07-17T15:04:18.438Z headscale headscale[61967]: 2021/07/17 17:04:18 [innernet-test] Sending data (75 bytes)
2021-07-17T15:04:36.593Z headscale headscale[61967]: 2021/07/17 17:04:36 [headscale] Sending keepalive
2021-07-17T15:04:36.597Z headscale headscale[61967]: 2021/07/17 17:04:36 [headscale] Sending data (75 bytes)
2021-07-17T15:04:43.193Z headscale tailscaled[14930]: 2021/07/17 17:04:43 health("overall"): error: not in map poll
2021-07-17T15:05:18.416Z headscale headscale[61967]: 2021/07/17 17:05:18 [innernet-test] Sending keepalive
2021-07-17T15:05:18.423Z headscale headscale[61967]: 2021/07/17 17:05:18 [innernet-test] Sending data (75 bytes)
2021-07-17T15:05:36.612Z headscale headscale[61967]: 2021/07/17 17:05:36 [headscale] Sending keepalive
2021-07-17T15:05:36.617Z headscale headscale[61967]: 2021/07/17 17:05:36 [headscale] Sending data (75 bytes)
2021-07-17T15:06:13.804Z headscale tailscaled[14930]: 2021/07/17 17:06:13 tailscaled got signal terminated; shutting down
2021-07-17T15:06:13.808Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: client.Shutdown()
2021-07-17T15:06:13.812Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: client.Shutdown: inSendStatus=0
2021-07-17T15:06:13.813Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:06:13.822Z headscale headscale[61967]: 2021/07/17 17:06:13 [headscale] The client has closed the connection
2021-07-17T15:06:13.825Z headscale tailscaled[14930]: 2021/07/17 17:06:13 [RATELIMIT] format("control: mapRoutine: %s") (3 dropped)
2021-07-17T15:06:13.832Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: mapRoutine: state:authenticated
2021-07-17T15:06:13.845Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: mapRoutine: quit
2021-07-17T15:06:13.849Z headscale tailscaled[14930]: 2021/07/17 17:06:13 control: Client.Shutdown done.
2021-07-17T15:06:13.849Z headscale tailscaled[14930]: 2021/07/17 17:06:13 magicsock: closing connection to derp-4 (conn-close), age 2m31s
2021-07-17T15:06:13.849Z headscale tailscaled[14930]: 2021/07/17 17:06:13 magicsock: 0 active derp conns
2021-07-17T15:06:13.855Z headscale tailscaled[14930]: 2021/07/17 17:06:13 external route: down
2021-07-17T15:06:13.859Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:06:13 | 200 |         2m37s |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:06:13.862Z headscale tailscaled[14930]: 2021/07/17 17:06:13 wgengine status error: engine closing; no status
2021-07-17T15:06:13.972Z headscale tailscaled[14930]: 2021/07/17 17:06:13 flushing log.
2021-07-17T15:06:13.976Z headscale tailscaled[14930]: 2021/07/17 17:06:13 logger closing down
2021-07-17T15:06:14.037Z headscale tailscaled[14930]: 2021/07/17 17:06:14 logtail: dialed "log.tailscale.io:443" in 216ms
2021-07-17T15:06:15.215Z headscale headscale[61967]: 2021/07/17 17:06:15 [innernet-test] The client has closed the connection
2021-07-17T15:06:15.236Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:06:15 | 200 |         1m56s |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
innernet-test machine
2021-07-17T09:00:01.585Z innernet-test newsyslog[60243]: logfile turned over
2021-07-17T15:04:06.770Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 logtail started
2021-07-17T15:04:06.770Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Program starting: vdate.20210603, Go 1.16.6: []string{"/usr/local/bin/tailscaled"}
2021-07-17T15:04:06.770Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 LogID: ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618
2021-07-17T15:04:06.770Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 logpolicy: using system state directory "/var/db/tailscale"
2021-07-17T15:04:06.772Z innernet-test tailscaled[74184]: logpolicy.Read /var/db/tailscale/tailscaled.log.conf: open /var/db/tailscale/tailscaled.log.conf: no such file or directory
2021-07-17T15:04:06.772Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 wgengine.NewUserspaceEngine(tun "tun") ...
2021-07-17T15:04:06.782Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 dns: using dns.directManager
2021-07-17T15:04:06.784Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 link state: interfaces.State{defaultRoute=TODO ifs={vio0:[192.168.135.48/24]} v4=true v6=false}
2021-07-17T15:04:06.787Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Creating wireguard device...
2021-07-17T15:04:06.788Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Bringing wireguard device up...
2021-07-17T15:04:06.790Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Bringing router up...
2021-07-17T15:04:06.809Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 external route: up
2021-07-17T15:04:06.886Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Clearing router settings...
2021-07-17T15:04:06.888Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Starting link monitor...
2021-07-17T15:04:06.890Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Starting magicsock...
2021-07-17T15:04:06.892Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Engine created.
2021-07-17T15:04:06.899Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Listening on /var/run/tailscale/tailscaled.sock
2021-07-17T15:04:06.952Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 netmap packet filter: (not ready yet)
2021-07-17T15:04:06.952Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Start
2021-07-17T15:04:06.953Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 using backend prefs
2021-07-17T15:04:06.956Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 created empty state for "_daemon": Prefs{ra=true dns=true want=false Persist=nil}
2021-07-17T15:04:06.956Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 got initial portlist info in 0s
2021-07-17T15:04:06.956Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 magicsock: disco key = d:95f0a6e02bfcbb80
2021-07-17T15:04:06.960Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618","OS":"openbsd","Hostname":"innernet-test","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:04:06.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Backend: logs: be:ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618 fe:
2021-07-17T15:04:06.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 Switching ipn state NoState -> NeedsLogin (WantRunning=false, nm=false)
2021-07-17T15:04:06.965Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 blockEngineUpdates(true)
2021-07-17T15:04:06.966Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 wgengine: Reconfig: configuring userspace wireguard config (with 0/0 peers)
2021-07-17T15:04:06.966Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 wgengine: Reconfig: configuring router
2021-07-17T15:04:06.966Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 wgengine: Reconfig: configuring DNS
2021-07-17T15:04:06.966Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[]}
2021-07-17T15:04:06.967Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 dns: Resolvercfg: {Routes:map[] Hosts:map[] LocalDomains:[]}
2021-07-17T15:04:06.967Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:04:06.968Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 control: authRoutine: state:new; goal=nil paused=false
2021-07-17T15:04:06.968Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 control: mapRoutine: state:new
2021-07-17T15:04:06.968Z innernet-test tailscaled[74184]: 2021/07/17 17:04:06 health("overall"): error: state=NeedsLogin, wantRunning=false
2021-07-17T15:04:07.267Z innernet-test tailscaled[74184]: 2021/07/17 17:04:07 logtail: dialed "log.tailscale.io:443" in 380ms
2021-07-17T15:04:17.572Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 Start
2021-07-17T15:04:17.573Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: client.Shutdown()
2021-07-17T15:04:17.573Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: client.Shutdown: inSendStatus=0
2021-07-17T15:04:17.574Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: authRoutine: state:new; goal=nil paused=false
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: context done.
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: state:new
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: quit
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: Client.Shutdown done.
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 using backend prefs
2021-07-17T15:04:17.575Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 created empty state for "_daemon": Prefs{ra=true dns=true want=false Persist=nil}
2021-07-17T15:04:17.583Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 generating new machine key
2021-07-17T15:04:17.586Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 machine key written to store
2021-07-17T15:04:17.587Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618","OS":"openbsd","Hostname":"innernet-test","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:04:17.588Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 Backend: logs: be:ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618 fe:
2021-07-17T15:04:17.588Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 Switching ipn state NoState -> NeedsLogin (WantRunning=true, nm=false)
2021-07-17T15:04:17.590Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 blockEngineUpdates(true)
2021-07-17T15:04:17.591Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 StartLoginInteractive: url=false
2021-07-17T15:04:17.591Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: client.Login(false, 2)
2021-07-17T15:04:17.591Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: authRoutine: state:new; wantLoggedIn=true
2021-07-17T15:04:17.592Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: direct.TryLogin(token=false, flags=2)
2021-07-17T15:04:17.592Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: LoginInteractive -> regen=true
2021-07-17T15:04:17.592Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: doLogin(regen=true, hasUrl=false)
2021-07-17T15:04:17.595Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: state:authenticating
2021-07-17T15:04:17.866Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: Generating a new nodekey.
2021-07-17T15:04:17.867Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: RegisterReq: onode=[AAAAA] node=[QzY2R] fup=false
2021-07-17T15:04:17.894Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: RegisterReq: got response; nodeKeyExpired=false, machineAuthorized=true; authURL=false
2021-07-17T15:04:17.895Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: No AuthURL
2021-07-17T15:04:17.895Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 blockEngineUpdates(false)
2021-07-17T15:04:17.896Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:04:17.896Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:04:17.897Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:04:17.897Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: new map needed while idle.
2021-07-17T15:04:17.897Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 control: mapRoutine: state:authenticated
2021-07-17T15:04:17.936Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 active login: viqWORKS
2021-07-17T15:04:17.941Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 netmap packet filter: [[TCP UDP ICMPv4 ICMPv6][0.0.0.0/0,::/0]=>[0.0.0.0/0:*,::/0:*]]
2021-07-17T15:04:17.948Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:04:17.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 Switching ipn state NeedsLogin -> Starting (WantRunning=true, nm=true)
2021-07-17T15:04:17.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 magicsock: SetPrivateKey called (init)
2021-07-17T15:04:17.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 wgengine: Reconfig: configuring userspace wireguard config (with 0/1 peers)
2021-07-17T15:04:17.961Z innernet-test tailscaled[74184]: 2021/07/17 17:04:17 wgengine: Reconfig: configuring router
2021-07-17T15:04:18.040Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 wgengine: Reconfig: configuring DNS
2021-07-17T15:04:18.040Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]]}
2021-07-17T15:04:18.041Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 dns: Resolvercfg: {Routes:map[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]] LocalDomains:[]}
2021-07-17T15:04:18.041Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:04:18.045Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 peerapi: serving on http://100.87.15.215:47775
2021-07-17T15:04:18.054Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 Received error: PollNetMap: EOF
2021-07-17T15:04:18.058Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618","OS":"openbsd","Hostname":"innernet-test","GoArch":"amd64","Services":[{"Proto":"peerapi4","Port":47775}]}
2021-07-17T15:04:18.062Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: mapRoutine: backoff: 8 msec
2021-07-17T15:04:18.075Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: mapRoutine: state:authenticated
2021-07-17T15:04:18.112Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: mapRoutine: state:authenticated
2021-07-17T15:04:18.112Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 [RATELIMIT] format("control: mapRoutine: %s")
2021-07-17T15:04:18.163Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 Received error: PollNetMap: EOF
2021-07-17T15:04:18.163Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: mapRoutine: backoff: 43 msec
2021-07-17T15:04:18.244Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 Received error: PollNetMap: EOF
2021-07-17T15:04:18.245Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: mapRoutine: backoff: 102 msec
2021-07-17T15:04:18.246Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 magicsock: home is now derp-4 (fra)
2021-07-17T15:04:18.247Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 magicsock: endpoints changed: 51.75.32.28:53006 (stun), 192.168.135.48:23368 (local)
2021-07-17T15:04:18.247Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: client.newEndpoints(0, [51.75.32.28:53006 192.168.135.48:23368])
2021-07-17T15:04:18.249Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:04:18.249Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:04:18.250Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 Switching ipn state Starting -> Running (WantRunning=true, nm=true)
2021-07-17T15:04:18.250Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 control: NetInfo: NetInfo{varies=true hairpin=false ipv6=false udp=true derp=#4 portmap= link=""}
2021-07-17T15:04:18.251Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:04:18.251Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 derphttp.Client.Connect: connecting to derp-4 (fra)
2021-07-17T15:04:18.330Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 magicsock: derp-4 connected; connGen=1
2021-07-17T15:04:18.331Z innernet-test tailscaled[74184]: 2021/07/17 17:04:18 health("overall"): ok
2021-07-17T15:04:26.910Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 LinkChange: major, rebinding. New state: interfaces.State{defaultRoute=TODO ifs={tun0:[100.87.15.215/32] vio0:[192.168.135.48/24]} v4=true v6=false}
2021-07-17T15:04:26.910Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 magicsock: closing connection to derp-4 (rebind), age 9s
2021-07-17T15:04:26.913Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 magicsock: 0 active derp conns
2021-07-17T15:04:26.918Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:04:26.921Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:04:26.924Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:04:26.925Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 health("overall"): error: not connected to home DERP region 4
2021-07-17T15:04:26.925Z innernet-test tailscaled[74184]: 2021/07/17 17:04:26 derphttp.Client.Recv: connecting to derp-4 (fra)
2021-07-17T15:04:27.000Z innernet-test tailscaled[74184]: 2021/07/17 17:04:27 magicsock: derp-4 connected; connGen=1
2021-07-17T15:04:27.000Z innernet-test tailscaled[74184]: 2021/07/17 17:04:27 health("overall"): ok
2021-07-17T15:04:27.178Z innernet-test tailscaled[74184]: 2021/07/17 17:04:27 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:05:06.970Z innernet-test tailscaled[74184]: 2021/07/17 17:05:06 health("overall"): error: not in map poll
2021-07-17T15:06:15.215Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 Received error: PollNetMap: Post "https://headscale.viq.vc/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map": EOF
2021-07-17T15:06:15.215Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 control: mapRoutine: backoff: 87 msec
2021-07-17T15:06:15.306Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 [RATELIMIT] format("control: mapRoutine: %s") (2 dropped)
2021-07-17T15:06:15.306Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 control: mapRoutine: state:authenticated
2021-07-17T15:06:15.312Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 trying bootstrapDNS("derp9.tailscale.com", "207.148.3.137") for "headscale.viq.vc" ...
2021-07-17T15:06:15.748Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 trying bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" ...
2021-07-17T15:06:15.749Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" error: Get "https://derp1.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2604:a880:400:d1::828:b001]:443: connect: no route to host
2021-07-17T15:06:15.749Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 trying bootstrapDNS("derp8.tailscale.com", "167.71.139.179") for "headscale.viq.vc" ...
2021-07-17T15:06:15.847Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 trying bootstrapDNS("derp4.tailscale.com", "2a03:b0c0:3:e0::36e:9001") for "headscale.viq.vc" ...
2021-07-17T15:06:15.848Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 bootstrapDNS("derp4.tailscale.com", "2a03:b0c0:3:e0::36e:9001") for "headscale.viq.vc" error: Get "https://derp4.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2a03:b0c0:3:e0::36e:9001]:443: connect: no route to host
2021-07-17T15:06:15.848Z innernet-test tailscaled[74184]: 2021/07/17 17:06:15 trying bootstrapDNS("derp7.tailscale.com", "167.179.89.145") for "headscale.viq.vc" ...
2021-07-17T15:06:16.672Z innernet-test tailscaled[74184]: 2021/07/17 17:06:16 trying bootstrapDNS("derp3.tailscale.com", "2400:6180:0:d1::67d:8001") for "headscale.viq.vc" ...
2021-07-17T15:06:16.673Z innernet-test tailscaled[74184]: 2021/07/17 17:06:16 bootstrapDNS("derp3.tailscale.com", "2400:6180:0:d1::67d:8001") for "headscale.viq.vc" error: Get "https://derp3.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2400:6180:0:d1::67d:8001]:443: connect: no route to host
2021-07-17T15:06:16.674Z innernet-test tailscaled[74184]: 2021/07/17 17:06:16 Received error: PollNetMap: Post "https://headscale.viq.vc/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map": dial tcp 51.75.32.29:443: connect: connection refused
2021-07-17T15:06:16.674Z innernet-test tailscaled[74184]: 2021/07/17 17:06:16 control: mapRoutine: backoff: 366 msec
2021-07-17T15:06:17.056Z innernet-test tailscaled[74184]: 2021/07/17 17:06:17 control: mapRoutine: state:authenticated
2021-07-17T15:06:17.064Z innernet-test tailscaled[74184]: 2021/07/17 17:06:17 trying bootstrapDNS("derp10.tailscale.com", "137.220.36.168") for "headscale.viq.vc" ...
2021-07-17T15:06:17.611Z innernet-test tailscaled[74184]: 2021/07/17 17:06:17 trying bootstrapDNS("derp9.tailscale.com", "2001:19f0:6401:1d9c:5400:2ff:feef:bb82") for "headscale.viq.vc" ...
2021-07-17T15:06:17.612Z innernet-test tailscaled[74184]: 2021/07/17 17:06:17 bootstrapDNS("derp9.tailscale.com", "2001:19f0:6401:1d9c:5400:2ff:feef:bb82") for "headscale.viq.vc" error: Get "https://derp9.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2001:19f0:6401:1d9c:5400:2ff:feef:bb82]:443: connect: no route to host
2021-07-17T15:06:17.613Z innernet-test tailscaled[74184]: 2021/07/17 17:06:17 trying bootstrapDNS("derp6.tailscale.com", "68.183.90.120") for "headscale.viq.vc" ...
2021-07-17T15:06:18.133Z innernet-test tailscaled[74184]: 2021/07/17 17:06:18 trying bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" ...
2021-07-17T15:06:18.134Z innernet-test tailscaled[74184]: 2021/07/17 17:06:18 bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" error: Get "https://derp1.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2604:a880:400:d1::828:b001]:443: connect: no route to host
2021-07-17T15:06:18.134Z innernet-test tailscaled[74184]: 2021/07/17 17:06:18 trying bootstrapDNS("derp5.tailscale.com", "103.43.75.49") for "headscale.viq.vc" ...
2021-07-17T15:06:19.020Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 trying bootstrapDNS("derp10.tailscale.com", "2001:19f0:8001:2d9:5400:2ff:feef:bbb1") for "headscale.viq.vc" ...
2021-07-17T15:06:19.021Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 bootstrapDNS("derp10.tailscale.com", "2001:19f0:8001:2d9:5400:2ff:feef:bbb1") for "headscale.viq.vc" error: Get "https://derp10.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2001:19f0:8001:2d9:5400:2ff:feef:bbb1]:443: connect: no route to host
2021-07-17T15:06:19.021Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 Received error: PollNetMap: Post "https://headscale.viq.vc/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map": dial tcp 51.75.32.29:443: connect: connection refused
2021-07-17T15:06:19.022Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 control: mapRoutine: backoff: 230 msec
2021-07-17T15:06:19.266Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 control: mapRoutine: state:authenticated
2021-07-17T15:06:19.269Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 trying bootstrapDNS("derp6.tailscale.com", "68.183.90.120") for "headscale.viq.vc" ...
2021-07-17T15:06:19.817Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 trying bootstrapDNS("derp7.tailscale.com", "2401:c080:1000:467f:5400:2ff:feee:22aa") for "headscale.viq.vc" ...
2021-07-17T15:06:19.818Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 bootstrapDNS("derp7.tailscale.com", "2401:c080:1000:467f:5400:2ff:feee:22aa") for "headscale.viq.vc" error: Get "https://derp7.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2401:c080:1000:467f:5400:2ff:feee:22aa]:443: connect: no route to host
2021-07-17T15:06:19.818Z innernet-test tailscaled[74184]: 2021/07/17 17:06:19 trying bootstrapDNS("derp9.tailscale.com", "207.148.3.137") for "headscale.viq.vc" ...
2021-07-17T15:06:20.310Z innernet-test tailscaled[74184]: 2021/07/17 17:06:20 trying bootstrapDNS("derp10.tailscale.com", "2001:19f0:8001:2d9:5400:2ff:feef:bbb1") for "headscale.viq.vc" ...
2021-07-17T15:06:20.311Z innernet-test tailscaled[74184]: 2021/07/17 17:06:20 bootstrapDNS("derp10.tailscale.com", "2001:19f0:8001:2d9:5400:2ff:feef:bbb1") for "headscale.viq.vc" error: Get "https://derp10.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2001:19f0:8001:2d9:5400:2ff:feef:bbb1]:443: connect: no route to host
2021-07-17T15:06:20.312Z innernet-test tailscaled[74184]: 2021/07/17 17:06:20 trying bootstrapDNS("derp11.tailscale.com", "18.230.97.74") for "headscale.viq.vc" ...
2021-07-17T15:06:21.051Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 trying bootstrapDNS("derp6.tailscale.com", "2400:6180:100:d0::982:d001") for "headscale.viq.vc" ...
2021-07-17T15:06:21.052Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 bootstrapDNS("derp6.tailscale.com", "2400:6180:100:d0::982:d001") for "headscale.viq.vc" error: Get "https://derp6.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2400:6180:100:d0::982:d001]:443: connect: no route to host
2021-07-17T15:06:21.060Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 Received error: PollNetMap: Post "https://headscale.viq.vc/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map": dial tcp 51.75.32.29:443: connect: connection refused
2021-07-17T15:06:21.062Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 control: mapRoutine: backoff: 344 msec
2021-07-17T15:06:21.412Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 control: mapRoutine: state:authenticated
2021-07-17T15:06:21.417Z innernet-test tailscaled[74184]: 2021/07/17 17:06:21 trying bootstrapDNS("derp5.tailscale.com", "103.43.75.49") for "headscale.viq.vc" ...
2021-07-17T15:06:22.316Z innernet-test tailscaled[74184]: 2021/07/17 17:06:22 trying bootstrapDNS("derp7.tailscale.com", "2401:c080:1000:467f:5400:2ff:feee:22aa") for "headscale.viq.vc" ...
2021-07-17T15:06:22.316Z innernet-test tailscaled[74184]: 2021/07/17 17:06:22 bootstrapDNS("derp7.tailscale.com", "2401:c080:1000:467f:5400:2ff:feee:22aa") for "headscale.viq.vc" error: Get "https://derp7.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2401:c080:1000:467f:5400:2ff:feee:22aa]:443: connect: no route to host
2021-07-17T15:06:22.317Z innernet-test tailscaled[74184]: 2021/07/17 17:06:22 trying bootstrapDNS("derp7.tailscale.com", "167.179.89.145") for "headscale.viq.vc" ...
2021-07-17T15:06:23.144Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 trying bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" ...
2021-07-17T15:06:23.145Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" error: Get "https://derp1.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2604:a880:400:d1::828:b001]:443: connect: no route to host
2021-07-17T15:06:23.146Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 trying bootstrapDNS("derp11.tailscale.com", "18.230.97.74") for "headscale.viq.vc" ...
2021-07-17T15:06:23.913Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 trying bootstrapDNS("derp6.tailscale.com", "2400:6180:100:d0::982:d001") for "headscale.viq.vc" ...
2021-07-17T15:06:23.914Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 bootstrapDNS("derp6.tailscale.com", "2400:6180:100:d0::982:d001") for "headscale.viq.vc" error: Get "https://derp6.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2400:6180:100:d0::982:d001]:443: connect: no route to host
2021-07-17T15:06:23.915Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 Received error: PollNetMap: Post "https://headscale.viq.vc/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map": dial tcp 51.75.32.29:443: connect: connection refused
2021-07-17T15:06:23.916Z innernet-test tailscaled[74184]: 2021/07/17 17:06:23 control: mapRoutine: backoff: 901 msec
2021-07-17T15:06:24.836Z innernet-test tailscaled[74184]: 2021/07/17 17:06:24 control: mapRoutine: state:authenticated
2021-07-17T15:06:24.840Z innernet-test tailscaled[74184]: 2021/07/17 17:06:24 trying bootstrapDNS("derp7.tailscale.com", "167.179.89.145") for "headscale.viq.vc" ...
2021-07-17T15:06:25.666Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 trying bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" ...
2021-07-17T15:06:25.674Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 bootstrapDNS("derp1.tailscale.com", "2604:a880:400:d1::828:b001") for "headscale.viq.vc" error: Get "https://derp1.tailscale.com/bootstrap-dns?q=headscale.viq.vc": dial tcp [2604:a880:400:d1::828:b001]:443: connect: no route to host
2021-07-17T15:06:25.674Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 trying bootstrapDNS("derp10.tailscale.com", "137.220.36.168") for "headscale.viq.vc" ...
2021-07-17T15:06:25.787Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 tailscaled got signal terminated; shutting down
2021-07-17T15:06:25.795Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: client.Shutdown()
2021-07-17T15:06:25.799Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: client.Shutdown: inSendStatus=0
2021-07-17T15:06:25.807Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:06:25.807Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 bootstrapDNS("derp10.tailscale.com", "137.220.36.168") for "headscale.viq.vc" error: Get "https://derp10.tailscale.com/bootstrap-dns?q=headscale.viq.vc": context canceled
2021-07-17T15:06:25.807Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: mapRoutine: state:authenticated
2021-07-17T15:06:25.807Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: mapRoutine: quit
2021-07-17T15:06:25.807Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 control: Client.Shutdown done.
2021-07-17T15:06:25.808Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 magicsock: closing connection to derp-4 (conn-close), age 1m59s
2021-07-17T15:06:25.809Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 magicsock: 0 active derp conns
2021-07-17T15:06:25.834Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 external route: down
2021-07-17T15:06:25.835Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 wgengine status error: engine closing; no status
2021-07-17T15:06:25.937Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 flushing log.
2021-07-17T15:06:25.937Z innernet-test tailscaled[74184]: 2021/07/17 17:06:25 logger closing down
2021-07-17T15:12:27.865Z innernet-test ntpd[57974]: adjusting clock frequency by 0.607733 to 2.555048ppm

At this point daemons were stopped. Situation at this point: tailscale status on innernet-test shows both machines, on headscale shows only itself. headscale -n viqWORKS nodes list shows both machines.

Part 2

At this point I'm rotating logs, starting daemons, and will run status and ping

headscale# tailscale status
100.99.59.105   headscale            viqWORKS     openbsd -
100.87.15.215   innernet-test        viqWORKS     openbsd -
headscale# tailscale ping 100.87.15.215
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
no reply
headscale# tailscale status             
100.99.59.105   headscale            viqWORKS     openbsd -
100.87.15.215   innernet-test        viqWORKS     openbsd active; relay "fra", tx 2960 rx 0
innernet-test# tailscale status 
100.87.15.215   innernet-test        viqWORKS     openbsd -
100.99.59.105   headscale            viqWORKS     openbsd active; relay "lhr", tx 4256 rx 5328
innernet-test# tailscale ping 100.99.59.105
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
timeout waiting for ping reply
no reply
innernet-test# tailscale status             
100.87.15.215   innernet-test        viqWORKS     openbsd -
100.99.59.105   headscale            viqWORKS     openbsd active; relay "lhr", tx 5140 rx 6512

Logs

headscale machine

nginx
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "GET /key HTTP/1.1" 200 64 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839 HTTP/1.1" 200 326 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1776 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.29 - - [17/Jul/2021:17:23:56 +0200] "POST /machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "GET /key HTTP/1.1" 200 64 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317 HTTP/1.1" 200 326 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1769 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:14 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
51.75.32.28 - - [17/Jul/2021:17:24:15 +0200] "POST /machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map HTTP/1.1" 200 1758 "-" "Go-http-client/1.1"
headscale & tailscaled
2021-07-17T15:22:55.316Z headscale newsyslog[33456]: logfile turned over
2021-07-17T15:23:56.173Z headscale tailscaled[2483]: 2021/07/17 17:23:56 logtail started
2021-07-17T15:23:56.190Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Program starting: vdate.20210603, Go 1.16.6: []string{"/usr/local/bin/tailscaled", "-port", "22502"}
2021-07-17T15:23:56.195Z headscale tailscaled[2483]: 2021/07/17 17:23:56 LogID: 684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573
2021-07-17T15:23:56.199Z headscale tailscaled[2483]: 2021/07/17 17:23:56 logpolicy: using system state directory "/var/db/tailscale"
2021-07-17T15:23:56.203Z headscale tailscaled[2483]: 2021/07/17 17:23:56 wgengine.NewUserspaceEngine(tun "tun") ...
2021-07-17T15:23:56.214Z headscale tailscaled[2483]: 2021/07/17 17:23:56 dns: using dns.directManager
2021-07-17T15:23:56.228Z headscale tailscaled[2483]: 2021/07/17 17:23:56 link state: interfaces.State{defaultRoute=TODO ifs={vio0:[51.75.32.29/32]} v4=true v6=false}
2021-07-17T15:23:56.233Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Creating wireguard device...
2021-07-17T15:23:56.236Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Bringing wireguard device up...
2021-07-17T15:23:56.239Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Bringing router up...
2021-07-17T15:23:56.261Z headscale tailscaled[2483]: 2021/07/17 17:23:56 external route: up
2021-07-17T15:23:56.266Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Clearing router settings...
2021-07-17T15:23:56.271Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Starting link monitor...
2021-07-17T15:23:56.274Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Starting magicsock...
2021-07-17T15:23:56.279Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Engine created.
2021-07-17T15:23:56.287Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Listening on /var/run/tailscale/tailscaled.sock
2021-07-17T15:23:56.320Z headscale tailscaled[2483]: 2021/07/17 17:23:56 netmap packet filter: (not ready yet)
2021-07-17T15:23:56.324Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Start
2021-07-17T15:23:56.328Z headscale tailscaled[2483]: 2021/07/17 17:23:56 using backend prefs
2021-07-17T15:23:56.331Z headscale tailscaled[2483]: 2021/07/17 17:23:56 backend prefs for "_daemon": Prefs{ra=false dns=true want=true url="https://headscale.viq.vc" Persist{lm=, o=, n=[WwgZK] u=""}}
2021-07-17T15:23:56.401Z headscale tailscaled[2483]: 2021/07/17 17:23:56 got initial portlist info in 2ms
2021-07-17T15:23:56.406Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: disco key = d:d52bb11973f8889b
2021-07-17T15:23:56.410Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573","OS":"openbsd","Hostname":"headscale","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":80},{"Proto":"tcp","Port":443},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:23:56.418Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Backend: logs: be:684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573 fe:
2021-07-17T15:23:56.427Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: client.Login(false, 0)
2021-07-17T15:23:56.434Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: authRoutine: state:new; wantLoggedIn=true
2021-07-17T15:23:56.440Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: direct.TryLogin(token=false, flags=0)
2021-07-17T15:23:56.446Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: doLogin(regen=false, hasUrl=false)
2021-07-17T15:23:56.450Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: state:authenticating
2021-07-17T15:23:56.491Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |       69.22\M-B\M-5s |     51.75.32.29 | GET      "/key"
2021-07-17T15:23:56.499Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: RegisterReq: onode=[AAAAA] node=[WwgZK] fup=false
2021-07-17T15:23:56.511Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] Client is registered and we have the current NodeKey. All clear to /map
2021-07-17T15:23:56.516Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |    9.532241ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839"
2021-07-17T15:23:56.525Z headscale tailscaled[2483]: 2021/07/17 17:23:56 logtail: dialed "log.tailscale.io:443" in 294ms
2021-07-17T15:23:56.531Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: RegisterReq: got response; nodeKeyExpired=false, machineAuthorized=true; authURL=false
2021-07-17T15:23:56.544Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: No AuthURL
2021-07-17T15:23:56.555Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:23:56.559Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:23:56.559Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |   19.689704ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:23:56.571Z headscale tailscaled[2483]: 2021/07/17 17:23:56 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:23:56.579Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:23:56.587Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: new map needed while idle.
2021-07-17T15:23:56.597Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: state:authenticated
2021-07-17T15:23:56.602Z headscale tailscaled[2483]: 2021/07/17 17:23:56 active login: viqWORKS
2021-07-17T15:23:56.611Z headscale tailscaled[2483]: 2021/07/17 17:23:56 netmap packet filter: [[TCP UDP ICMPv4 ICMPv6][0.0.0.0/0,::/0]=>[0.0.0.0/0:*,::/0:*]]
2021-07-17T15:23:56.624Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Switching ipn state NoState -> Starting (WantRunning=true, nm=true)
2021-07-17T15:23:56.630Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: SetPrivateKey called (init)
2021-07-17T15:23:56.635Z headscale tailscaled[2483]: 2021/07/17 17:23:56 wgengine: Reconfig: configuring userspace wireguard config (with 0/1 peers)
2021-07-17T15:23:56.639Z headscale tailscaled[2483]: 2021/07/17 17:23:56 wgengine: Reconfig: configuring router
2021-07-17T15:23:56.643Z headscale tailscaled[2483]: 2021/07/17 17:23:56 health("overall"): error: state=Starting, wantRunning=true
2021-07-17T15:23:56.647Z headscale tailscaled[2483]: 2021/07/17 17:23:56 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:23:56.674Z headscale tailscaled[2483]: 2021/07/17 17:23:56 wgengine: Reconfig: configuring DNS
2021-07-17T15:23:56.679Z headscale tailscaled[2483]: 2021/07/17 17:23:56 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]]}
2021-07-17T15:23:56.686Z headscale tailscaled[2483]: 2021/07/17 17:23:56 dns: Resolvercfg: {Routes:map[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]] LocalDomains:[]}
2021-07-17T15:23:56.690Z headscale tailscaled[2483]: 2021/07/17 17:23:56 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:23:56.695Z headscale tailscaled[2483]: 2021/07/17 17:23:56 peerapi: serving on http://100.99.59.105:39599
2021-07-17T15:23:56.702Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Received error: PollNetMap: EOF
2021-07-17T15:23:56.708Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: backoff: 10 msec
2021-07-17T15:23:56.714Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"684e0fca0c5f487084b120b5dbe9bd2711ccffd8987b1fd88ed91205a4e2b573","OS":"openbsd","Hostname":"headscale","GoArch":"amd64","Services":[{"Proto":"peerapi4","Port":39599}]}
2021-07-17T15:23:56.730Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: state:authenticated
2021-07-17T15:23:56.754Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:23:56.759Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:23:56.759Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |   18.575769ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:23:56.813Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: state:authenticated
2021-07-17T15:23:56.829Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:23:56.831Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:23:56.831Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |   10.318743ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:23:56.861Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Received error: PollNetMap: EOF
2021-07-17T15:23:56.866Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: backoff: 27 msec
2021-07-17T15:23:56.910Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: state:authenticated
2021-07-17T15:23:56.922Z headscale tailscaled[2483]: 2021/07/17 17:23:56 [RATELIMIT] format("control: mapRoutine: %s")
2021-07-17T15:23:56.936Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:23:56.939Z headscale headscale[61967]: 2021/07/17 17:23:56 [headscale] Client is starting up. Asking for DERP map
2021-07-17T15:23:56.939Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:23:56 | 200 |   21.678717ms |     51.75.32.29 | POST     "/machine/8c9e29df0f628d41d480e8951331f1d5d621b47d3019214e3db0c1eac661f839/map"
2021-07-17T15:23:56.958Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Received error: PollNetMap: EOF
2021-07-17T15:23:56.964Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: mapRoutine: backoff: 58 msec
2021-07-17T15:23:56.968Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: home is now derp-8 (lhr)
2021-07-17T15:23:56.972Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: endpoints changed: 51.75.32.29:22502 (stun)
2021-07-17T15:23:56.976Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: client.newEndpoints(0, [51.75.32.29:22502])
2021-07-17T15:23:56.981Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: adding connection to derp-8 for home-keep-alive
2021-07-17T15:23:56.984Z headscale tailscaled[2483]: 2021/07/17 17:23:56 magicsock: 1 active derp conns: derp-8=cr0s,wr0s
2021-07-17T15:23:56.988Z headscale tailscaled[2483]: 2021/07/17 17:23:56 Switching ipn state Starting -> Running (WantRunning=true, nm=true)
2021-07-17T15:23:56.990Z headscale tailscaled[2483]: 2021/07/17 17:23:56 control: NetInfo: NetInfo{varies=false hairpin=false ipv6=false udp=true derp=#8 portmap= link=""}
2021-07-17T15:23:56.992Z headscale tailscaled[2483]: 2021/07/17 17:23:56 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:23:56.995Z headscale tailscaled[2483]: 2021/07/17 17:23:56 derphttp.Client.Connect: connecting to derp-8 (lhr)
2021-07-17T15:23:57.037Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] ReadOnly=false   OmitPeers=false    Stream=true
2021-07-17T15:23:57.043Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Client is ready to access the tailnet
2021-07-17T15:23:57.043Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Sending initial map
2021-07-17T15:23:57.043Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Notifying peers
2021-07-17T15:23:57.049Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Peer innernet-test does not appear to be polling
2021-07-17T15:23:57.050Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Sending data (1833 bytes)
2021-07-17T15:23:57.066Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Sending keepalive
2021-07-17T15:23:57.080Z headscale headscale[61967]: 2021/07/17 17:23:57 [headscale] Sending data (75 bytes)
2021-07-17T15:23:57.109Z headscale tailscaled[2483]: 2021/07/17 17:23:57 magicsock: home is now derp-4 (fra)
2021-07-17T15:23:57.111Z headscale tailscaled[2483]: 2021/07/17 17:23:57 control: NetInfo: NetInfo{varies=false hairpin=false ipv6=false udp=true derp=#4 portmap= link=""}
2021-07-17T15:23:57.115Z headscale tailscaled[2483]: 2021/07/17 17:23:57 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:23:57.120Z headscale tailscaled[2483]: 2021/07/17 17:23:57 magicsock: 2 active derp conns: derp-4=cr0s,wr0s derp-8=cr143ms,wr143ms
2021-07-17T15:23:57.122Z headscale tailscaled[2483]: 2021/07/17 17:23:57 derphttp.Client.Recv: connecting to derp-4 (fra)
2021-07-17T15:23:57.150Z headscale tailscaled[2483]: 2021/07/17 17:23:57 magicsock: derp-8 connected; connGen=1
2021-07-17T15:23:57.206Z headscale tailscaled[2483]: 2021/07/17 17:23:57 magicsock: derp-4 connected; connGen=1
2021-07-17T15:23:57.209Z headscale tailscaled[2483]: 2021/07/17 17:23:57 health("overall"): ok
2021-07-17T15:24:06.314Z headscale tailscaled[2483]: 2021/07/17 17:24:06 LinkChange: major, rebinding. New state: interfaces.State{defaultRoute=TODO ifs={tun0:[100.99.59.105/32] vio0:[51.75.32.29/32]} v4=true v6=false}
2021-07-17T15:24:06.331Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: closing connection to derp-8 (rebind), age 9s
2021-07-17T15:24:06.343Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: closing connection to derp-4 (rebind), age 9s
2021-07-17T15:24:06.343Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: 0 active derp conns
2021-07-17T15:24:06.354Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:24:06.355Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:24:06.356Z headscale tailscaled[2483]: 2021/07/17 17:24:06 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:06.356Z headscale tailscaled[2483]: 2021/07/17 17:24:06 health("overall"): error: not connected to home DERP region 4
2021-07-17T15:24:06.356Z headscale tailscaled[2483]: 2021/07/17 17:24:06 derphttp.Client.Recv: connecting to derp-4 (fra)
2021-07-17T15:24:06.428Z headscale tailscaled[2483]: 2021/07/17 17:24:06 magicsock: derp-4 connected; connGen=1
2021-07-17T15:24:06.430Z headscale tailscaled[2483]: 2021/07/17 17:24:06 health("overall"): ok
2021-07-17T15:24:06.573Z headscale tailscaled[2483]: 2021/07/17 17:24:06 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:14.579Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |        66.5\M-B\M-5s |     51.75.32.28 | GET      "/key"
2021-07-17T15:24:14.596Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] Client is registered and we have the current NodeKey. All clear to /map
2021-07-17T15:24:14.601Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |   10.785271ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317"
2021-07-17T15:24:14.629Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:24:14.635Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:24:14.635Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |   17.089359ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:24:14.859Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:24:14.863Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:24:14.863Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |   19.440787ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:24:14.886Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:24:14.889Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:24:14.889Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |    11.74931ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:24:14.964Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:24:14.968Z headscale headscale[61967]: 2021/07/17 17:24:14 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:24:14.968Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:14 | 200 |   15.699249ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:24:15.085Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] ReadOnly=true   OmitPeers=false    Stream=true
2021-07-17T15:24:15.091Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Client is starting up. Asking for DERP map
2021-07-17T15:24:15.091Z headscale headscale[61967]: [GIN] 2021/07/17 - 17:24:15 | 200 |   15.791005ms |     51.75.32.28 | POST     "/machine/6594a17c9e61cd05571e10493228fe16277608228fa94b5f72764840333d8317/map"
2021-07-17T15:24:15.117Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] ReadOnly=false   OmitPeers=false    Stream=true
2021-07-17T15:24:15.122Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Client is ready to access the tailnet
2021-07-17T15:24:15.122Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Sending initial map
2021-07-17T15:24:15.122Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Notifying peers
2021-07-17T15:24:15.125Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Notifying peer headscale (100.99.59.105/32)
2021-07-17T15:24:15.130Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Sending data (1835 bytes)
2021-07-17T15:24:15.138Z headscale headscale[61967]: 2021/07/17 17:24:15 [headscale] Received a request for update
2021-07-17T15:24:15.148Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Sending keepalive
2021-07-17T15:24:15.159Z headscale headscale[61967]: 2021/07/17 17:24:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:24:34.511Z headscale tailscaled[2483]: 2021/07/17 17:24:34 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:24:34.519Z headscale tailscaled[2483]: 2021/07/17 17:24:34 wgengine: idle peer d:95f0a6e02bfcbb80 now active, reconfiguring wireguard
2021-07-17T15:24:34.519Z headscale tailscaled[2483]: 2021/07/17 17:24:34 wgengine: Reconfig: configuring userspace wireguard config (with 1/1 peers)
2021-07-17T15:24:34.519Z headscale tailscaled[2483]: 2021/07/17 17:24:34 magicsock: ParseEndpoint: key=[QzY2R]: disco=d:95f0a6e02bfcbb80 ipps=
2021-07-17T15:24:34.536Z headscale tailscaled[2483]: 2021/07/17 17:24:34 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:24:34.541Z headscale tailscaled[2483]: 2021/07/17 17:24:34 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:34.654Z headscale tailscaled[2483]: 2021/07/17 17:24:34 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:24:39.532Z headscale tailscaled[2483]: 2021/07/17 17:24:39 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:24:44.535Z headscale tailscaled[2483]: 2021/07/17 17:24:44 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:24:49.547Z headscale tailscaled[2483]: 2021/07/17 17:24:49 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:24:54.556Z headscale tailscaled[2483]: 2021/07/17 17:24:54 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:24:56.339Z headscale tailscaled[2483]: 2021/07/17 17:24:56 health("overall"): error: not in map poll
2021-07-17T15:24:57.081Z headscale headscale[61967]: 2021/07/17 17:24:57 [headscale] Sending keepalive
2021-07-17T15:24:57.085Z headscale headscale[61967]: 2021/07/17 17:24:57 [headscale] Sending data (75 bytes)
2021-07-17T15:24:59.565Z headscale tailscaled[2483]: 2021/07/17 17:24:59 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:25:04.577Z headscale tailscaled[2483]: 2021/07/17 17:25:04 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:25:05.353Z headscale tailscaled[2483]: 2021/07/17 17:25:05 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:25:05.360Z headscale tailscaled[2483]: 2021/07/17 17:25:05 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:25:05.473Z headscale tailscaled[2483]: 2021/07/17 17:25:05 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:25:09.604Z headscale tailscaled[2483]: 2021/07/17 17:25:09 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:25:14.623Z headscale tailscaled[2483]: 2021/07/17 17:25:14 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:25:15.166Z headscale headscale[61967]: 2021/07/17 17:25:15 [innernet-test] Sending keepalive
2021-07-17T15:25:15.173Z headscale headscale[61967]: 2021/07/17 17:25:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:25:19.635Z headscale tailscaled[2483]: 2021/07/17 17:25:19 ping(100.87.15.215): sending disco ping to [QzY2R] innernet-test ...
2021-07-17T15:25:35.983Z headscale tailscaled[2483]: 2021/07/17 17:25:35 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:25:35.988Z headscale tailscaled[2483]: 2021/07/17 17:25:35 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:25:36.095Z headscale tailscaled[2483]: 2021/07/17 17:25:36 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:25:57.091Z headscale headscale[61967]: 2021/07/17 17:25:57 [headscale] Sending keepalive
2021-07-17T15:25:57.095Z headscale headscale[61967]: 2021/07/17 17:25:57 [headscale] Sending data (75 bytes)
2021-07-17T15:26:06.584Z headscale tailscaled[2483]: 2021/07/17 17:26:06 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:26:06.589Z headscale tailscaled[2483]: 2021/07/17 17:26:06 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:26:06.696Z headscale tailscaled[2483]: 2021/07/17 17:26:06 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:26:15.186Z headscale headscale[61967]: 2021/07/17 17:26:15 [innernet-test] Sending keepalive
2021-07-17T15:26:15.192Z headscale headscale[61967]: 2021/07/17 17:26:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:26:35.170Z headscale tailscaled[2483]: 2021/07/17 17:26:35 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:26:35.179Z headscale tailscaled[2483]: 2021/07/17 17:26:35 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:26:35.280Z headscale tailscaled[2483]: 2021/07/17 17:26:35 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:26:57.101Z headscale headscale[61967]: 2021/07/17 17:26:57 [headscale] Sending keepalive
2021-07-17T15:26:57.104Z headscale headscale[61967]: 2021/07/17 17:26:57 [headscale] Sending data (75 bytes)
2021-07-17T15:27:07.302Z headscale tailscaled[2483]: 2021/07/17 17:27:07 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:27:07.306Z headscale tailscaled[2483]: 2021/07/17 17:27:07 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:27:07.412Z headscale tailscaled[2483]: 2021/07/17 17:27:07 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:27:15.206Z headscale headscale[61967]: 2021/07/17 17:27:15 [innernet-test] Sending keepalive
2021-07-17T15:27:15.211Z headscale headscale[61967]: 2021/07/17 17:27:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:27:38.782Z headscale tailscaled[2483]: 2021/07/17 17:27:38 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:27:38.786Z headscale tailscaled[2483]: 2021/07/17 17:27:38 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:27:38.893Z headscale tailscaled[2483]: 2021/07/17 17:27:38 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:27:57.121Z headscale headscale[61967]: 2021/07/17 17:27:57 [headscale] Sending keepalive
2021-07-17T15:27:57.123Z headscale headscale[61967]: 2021/07/17 17:27:57 [headscale] Sending data (75 bytes)
2021-07-17T15:28:09.582Z headscale tailscaled[2483]: 2021/07/17 17:28:09 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:28:09.587Z headscale tailscaled[2483]: 2021/07/17 17:28:09 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:28:09.693Z headscale tailscaled[2483]: 2021/07/17 17:28:09 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:28:15.226Z headscale headscale[61967]: 2021/07/17 17:28:15 [innernet-test] Sending keepalive
2021-07-17T15:28:15.231Z headscale headscale[61967]: 2021/07/17 17:28:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:28:37.820Z headscale tailscaled[2483]: 2021/07/17 17:28:37 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:28:37.829Z headscale tailscaled[2483]: 2021/07/17 17:28:37 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:28:37.932Z headscale tailscaled[2483]: 2021/07/17 17:28:37 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:28:57.131Z headscale headscale[61967]: 2021/07/17 17:28:57 [headscale] Sending keepalive
2021-07-17T15:28:57.133Z headscale headscale[61967]: 2021/07/17 17:28:57 [headscale] Sending data (75 bytes)
2021-07-17T15:29:05.593Z headscale tailscaled[2483]: 2021/07/17 17:29:05 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:29:05.598Z headscale tailscaled[2483]: 2021/07/17 17:29:05 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:29:05.892Z headscale tailscaled[2483]: 2021/07/17 17:29:05 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:29:05.895Z headscale tailscaled[2483]: 2021/07/17 17:29:05 control: NetInfo: NetInfo{varies=false hairpin=true ipv6=false udp=true derp=#4 portmap= link=""}
2021-07-17T15:29:15.249Z headscale headscale[61967]: 2021/07/17 17:29:15 [innernet-test] Sending keepalive
2021-07-17T15:29:15.256Z headscale headscale[61967]: 2021/07/17 17:29:15 [innernet-test] Sending data (75 bytes)
2021-07-17T15:29:36.412Z headscale tailscaled[2483]: 2021/07/17 17:29:36 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:29:36.416Z headscale tailscaled[2483]: 2021/07/17 17:29:36 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:29:36.523Z headscale tailscaled[2483]: 2021/07/17 17:29:36 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:29:57.141Z headscale headscale[61967]: 2021/07/17 17:29:57 [headscale] Sending keepalive
2021-07-17T15:29:57.144Z headscale headscale[61967]: 2021/07/17 17:29:57 [headscale] Sending data (75 bytes)
2021-07-17T15:30:07.232Z headscale tailscaled[2483]: 2021/07/17 17:30:07 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:30:07.235Z headscale tailscaled[2483]: 2021/07/17 17:30:07 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:30:07.347Z headscale tailscaled[2483]: 2021/07/17 17:30:07 magicsock: STUN done; sending call-me-maybe to d:95f0a6e02bfcbb80 [QzY2R]
2021-07-17T15:30:15.265Z headscale headscale[61967]: 2021/07/17 17:30:15 [innernet-test] Sending keepalive
2021-07-17T15:30:15.270Z headscale headscale[61967]: 2021/07/17 17:30:15 [innernet-test] Sending data (75 bytes)

innernet-test

tailscaled
2021-07-17T15:24:14.050Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 logtail started
2021-07-17T15:24:14.072Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Program starting: vdate.20210603, Go 1.16.6: []string{"/usr/local/bin/tailscaled"}
2021-07-17T15:24:14.074Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 LogID: ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618
2021-07-17T15:24:14.077Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 logpolicy: using system state directory "/var/db/tailscale"
2021-07-17T15:24:14.082Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 wgengine.NewUserspaceEngine(tun "tun") ...
2021-07-17T15:24:14.087Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 dns: using dns.directManager
2021-07-17T15:24:14.089Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 link state: interfaces.State{defaultRoute=TODO ifs={vio0:[192.168.135.48/24]} v4=true v6=false}
2021-07-17T15:24:14.094Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Creating wireguard device...
2021-07-17T15:24:14.101Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Bringing wireguard device up...
2021-07-17T15:24:14.104Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Bringing router up...
2021-07-17T15:24:14.132Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 external route: up
2021-07-17T15:24:14.136Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Clearing router settings...
2021-07-17T15:24:14.138Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Starting link monitor...
2021-07-17T15:24:14.141Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Starting magicsock...
2021-07-17T15:24:14.143Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Engine created.
2021-07-17T15:24:14.152Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Listening on /var/run/tailscale/tailscaled.sock
2021-07-17T15:24:14.181Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 netmap packet filter: (not ready yet)
2021-07-17T15:24:14.183Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Start
2021-07-17T15:24:14.185Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 using backend prefs
2021-07-17T15:24:14.186Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 backend prefs for "_daemon": Prefs{ra=false dns=true want=true url="https://headscale.viq.vc" Persist{lm=, o=, n=[QzY2R] u=""}}
2021-07-17T15:24:14.186Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 got initial portlist info in 0s
2021-07-17T15:24:14.189Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 magicsock: disco key = d:4ee08d2740640e2e
2021-07-17T15:24:14.190Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618","OS":"openbsd","Hostname":"innernet-test","GoArch":"amd64","Services":[{"Proto":"tcp","Port":22},{"Proto":"tcp","Port":25},{"Proto":"tcp","Port":8000}]}
2021-07-17T15:24:14.190Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Backend: logs: be:ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618 fe:
2021-07-17T15:24:14.191Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: client.Login(false, 0)
2021-07-17T15:24:14.191Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: authRoutine: state:new; wantLoggedIn=true
2021-07-17T15:24:14.199Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: direct.TryLogin(token=false, flags=0)
2021-07-17T15:24:14.200Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: doLogin(regen=false, hasUrl=false)
2021-07-17T15:24:14.200Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: state:authenticating
2021-07-17T15:24:14.445Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 logtail: dialed "log.tailscale.io:443" in 371ms
2021-07-17T15:24:14.587Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: RegisterReq: onode=[AAAAA] node=[QzY2R] fup=false
2021-07-17T15:24:14.608Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: RegisterReq: got response; nodeKeyExpired=false, machineAuthorized=true; authURL=false
2021-07-17T15:24:14.608Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: No AuthURL
2021-07-17T15:24:14.609Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 authReconfig: netmap not yet valid. Skipping.
2021-07-17T15:24:14.609Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: authRoutine: state:authenticated; goal=nil paused=false
2021-07-17T15:24:14.613Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: new map needed while idle.
2021-07-17T15:24:14.613Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: state:authenticated
2021-07-17T15:24:14.653Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 active login: viqWORKS
2021-07-17T15:24:14.664Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 netmap packet filter: [[TCP UDP ICMPv4 ICMPv6][0.0.0.0/0,::/0]=>[0.0.0.0/0:*,::/0:*]]
2021-07-17T15:24:14.675Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Switching ipn state NoState -> Starting (WantRunning=true, nm=true)
2021-07-17T15:24:14.675Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 magicsock: SetPrivateKey called (init)
2021-07-17T15:24:14.675Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 wgengine: Reconfig: configuring userspace wireguard config (with 0/1 peers)
2021-07-17T15:24:14.675Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 wgengine: Reconfig: configuring router
2021-07-17T15:24:14.719Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 health("overall"): error: state=Starting, wantRunning=true
2021-07-17T15:24:14.739Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:14.803Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 wgengine: Reconfig: configuring DNS
2021-07-17T15:24:14.803Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 dns: Set: {DefaultResolvers:[] Routes:map[] SearchDomains:[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]]}
2021-07-17T15:24:14.807Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 dns: Resolvercfg: {Routes:map[] Hosts:map[headscale.:[100.99.59.105] innernet-test.:[100.87.15.215]] LocalDomains:[]}
2021-07-17T15:24:14.810Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 dns: OScfg: {Nameservers:[] SearchDomains:[] MatchDomains:[]}
2021-07-17T15:24:14.810Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 peerapi: serving on http://100.87.15.215:47775
2021-07-17T15:24:14.814Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Received error: PollNetMap: EOF
2021-07-17T15:24:14.816Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: backoff: 14 msec
2021-07-17T15:24:14.820Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: HostInfo: {"IPNVersion":"date.20210603","BackendLogID":"ee6414f1b608db52193ac3e35f185522bc0ce6528ee16a49bab8c6a8c2060618","OS":"openbsd","Hostname":"innernet-test","GoArch":"amd64","Services":[{"Proto":"peerapi4","Port":47775}]}
2021-07-17T15:24:14.839Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: state:authenticated
2021-07-17T15:24:14.872Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: state:authenticated
2021-07-17T15:24:14.899Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Received error: PollNetMap: EOF
2021-07-17T15:24:14.901Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: backoff: 34 msec
2021-07-17T15:24:14.944Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: state:authenticated
2021-07-17T15:24:14.945Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 [RATELIMIT] format("control: mapRoutine: %s")
2021-07-17T15:24:14.979Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 Received error: PollNetMap: EOF
2021-07-17T15:24:14.979Z innernet-test tailscaled[56712]: 2021/07/17 17:24:14 control: mapRoutine: backoff: 82 msec
2021-07-17T15:24:15.080Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: home is now derp-4 (fra)
2021-07-17T15:24:15.081Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: endpoints changed: 51.75.32.28:57997 (stun), 192.168.135.48:22735 (local)
2021-07-17T15:24:15.082Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 control: client.newEndpoints(0, [51.75.32.28:57997 192.168.135.48:22735])
2021-07-17T15:24:15.084Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:24:15.084Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:24:15.092Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 Switching ipn state Starting -> Running (WantRunning=true, nm=true)
2021-07-17T15:24:15.093Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 control: NetInfo: NetInfo{varies=true hairpin=false ipv6=false udp=true derp=#4 portmap= link=""}
2021-07-17T15:24:15.102Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:15.102Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 derphttp.Client.Connect: connecting to derp-4 (fra)
2021-07-17T15:24:15.165Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: derp-4 connected; connGen=1
2021-07-17T15:24:15.165Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 health("overall"): ok
2021-07-17T15:24:15.211Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 magicsock: endpoints changed: 51.75.32.28:61715 (stun), 192.168.135.48:22735 (local)
2021-07-17T15:24:15.211Z innernet-test tailscaled[56712]: 2021/07/17 17:24:15 control: client.newEndpoints(0, [51.75.32.28:61715 192.168.135.48:22735])
2021-07-17T15:24:24.163Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 LinkChange: major, rebinding. New state: interfaces.State{defaultRoute=TODO ifs={tun0:[100.87.15.215/32] vio0:[192.168.135.48/24]} v4=true v6=false}
2021-07-17T15:24:24.164Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 magicsock: closing connection to derp-4 (rebind), age 9s
2021-07-17T15:24:24.164Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 magicsock: 0 active derp conns
2021-07-17T15:24:24.171Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 magicsock: adding connection to derp-4 for home-keep-alive
2021-07-17T15:24:24.171Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 magicsock: 1 active derp conns: derp-4=cr0s,wr0s
2021-07-17T15:24:24.172Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:24.172Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 health("overall"): error: not connected to home DERP region 4
2021-07-17T15:24:24.173Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 derphttp.Client.Recv: connecting to derp-4 (fra)
2021-07-17T15:24:24.258Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 magicsock: derp-4 connected; connGen=1
2021-07-17T15:24:24.258Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 health("overall"): ok
2021-07-17T15:24:24.423Z innernet-test tailscaled[56712]: 2021/07/17 17:24:24 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:34.561Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 health("overall"): error: not in map poll
2021-07-17T15:24:34.561Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 wgengine: idle peer d:d52bb11973f8889b now active, reconfiguring wireguard
2021-07-17T15:24:34.563Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 wgengine: Reconfig: configuring userspace wireguard config (with 1/1 peers)
2021-07-17T15:24:34.574Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 magicsock: ParseEndpoint: key=[WwgZK]: disco=d:d52bb11973f8889b ipps=
2021-07-17T15:24:34.585Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 magicsock: adding connection to derp-8 for [WwgZK]
2021-07-17T15:24:34.592Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 magicsock: 2 active derp conns: derp-4=cr10s,wr10s derp-8=cr0s,wr0s
2021-07-17T15:24:34.596Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 magicsock: DERP packet received from idle peer [WwgZK]; created=true
2021-07-17T15:24:34.600Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 derphttp.Client.Recv: connecting to derp-8 (lhr)
2021-07-17T15:24:34.722Z innernet-test tailscaled[56712]: 2021/07/17 17:24:34 magicsock: derp-8 connected; connGen=1
2021-07-17T15:24:55.224Z innernet-test tailscaled[56712]: 2021/07/17 17:24:55 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:24:55.226Z innernet-test tailscaled[56712]: 2021/07/17 17:24:55 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:24:55.336Z innernet-test tailscaled[56712]: 2021/07/17 17:24:55 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:25:25.673Z innernet-test tailscaled[56712]: 2021/07/17 17:25:25 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:25:25.675Z innernet-test tailscaled[56712]: 2021/07/17 17:25:25 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:25:25.784Z innernet-test tailscaled[56712]: 2021/07/17 17:25:25 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:25:56.512Z innernet-test tailscaled[56712]: 2021/07/17 17:25:56 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:25:56.514Z innernet-test tailscaled[56712]: 2021/07/17 17:25:56 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:25:56.624Z innernet-test tailscaled[56712]: 2021/07/17 17:25:56 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:26:29.231Z innernet-test tailscaled[56712]: 2021/07/17 17:26:29 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:26:29.237Z innernet-test tailscaled[56712]: 2021/07/17 17:26:29 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:26:29.342Z innernet-test tailscaled[56712]: 2021/07/17 17:26:29 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:26:46.745Z innernet-test tailscaled[56712]: 2021/07/17 17:26:46 [WwgZK] - Failed to create response message: handshake initiation must be consumed first
2021-07-17T15:26:57.093Z innernet-test tailscaled[56712]: 2021/07/17 17:26:57 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:26:57.097Z innernet-test tailscaled[56712]: 2021/07/17 17:26:57 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:26:57.209Z innernet-test tailscaled[56712]: 2021/07/17 17:26:57 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:27:28.405Z innernet-test tailscaled[56712]: 2021/07/17 17:27:28 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:27:28.407Z innernet-test tailscaled[56712]: 2021/07/17 17:27:28 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:27:28.517Z innernet-test tailscaled[56712]: 2021/07/17 17:27:28 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:27:59.395Z innernet-test tailscaled[56712]: 2021/07/17 17:27:59 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:27:59.397Z innernet-test tailscaled[56712]: 2021/07/17 17:27:59 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:27:59.506Z innernet-test tailscaled[56712]: 2021/07/17 17:27:59 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:28:01.999Z innernet-test tailscaled[56712]: 2021/07/17 17:28:01 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:07.023Z innernet-test tailscaled[56712]: 2021/07/17 17:28:07 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:12.031Z innernet-test tailscaled[56712]: 2021/07/17 17:28:12 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:17.042Z innernet-test tailscaled[56712]: 2021/07/17 17:28:17 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:22.062Z innernet-test tailscaled[56712]: 2021/07/17 17:28:22 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:27.082Z innernet-test tailscaled[56712]: 2021/07/17 17:28:27 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:32.020Z innernet-test tailscaled[56712]: 2021/07/17 17:28:32 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:28:32.027Z innernet-test tailscaled[56712]: 2021/07/17 17:28:32 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:28:32.101Z innernet-test tailscaled[56712]: 2021/07/17 17:28:32 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:32.133Z innernet-test tailscaled[56712]: 2021/07/17 17:28:32 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:28:37.112Z innernet-test tailscaled[56712]: 2021/07/17 17:28:37 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:42.121Z innernet-test tailscaled[56712]: 2021/07/17 17:28:42 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:28:47.143Z innernet-test tailscaled[56712]: 2021/07/17 17:28:47 ping(100.99.59.105): sending disco ping to [WwgZK] headscale ...
2021-07-17T15:29:00.440Z innernet-test tailscaled[56712]: 2021/07/17 17:29:00 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:29:00.442Z innernet-test tailscaled[56712]: 2021/07/17 17:29:00 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:29:00.555Z innernet-test tailscaled[56712]: 2021/07/17 17:29:00 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:29:31.404Z innernet-test tailscaled[56712]: 2021/07/17 17:29:31 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:29:31.406Z innernet-test tailscaled[56712]: 2021/07/17 17:29:31 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:29:31.711Z innernet-test tailscaled[56712]: 2021/07/17 17:29:31 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:30:02.153Z innernet-test tailscaled[56712]: 2021/07/17 17:30:02 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:30:02.155Z innernet-test tailscaled[56712]: 2021/07/17 17:30:02 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:30:02.302Z innernet-test tailscaled[56712]: 2021/07/17 17:30:02 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:30:30.730Z innernet-test tailscaled[56712]: 2021/07/17 17:30:30 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:30:30.738Z innernet-test tailscaled[56712]: 2021/07/17 17:30:30 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:30:30.850Z innernet-test tailscaled[56712]: 2021/07/17 17:30:30 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]
2021-07-17T15:30:58.208Z innernet-test tailscaled[56712]: 2021/07/17 17:30:58 magicsock: want call-me-maybe but endpoints stale; restunning
2021-07-17T15:30:58.210Z innernet-test tailscaled[56712]: 2021/07/17 17:30:58 netcheck: probePortMapServices: failed to look up gateway address
2021-07-17T15:30:58.324Z innernet-test tailscaled[56712]: 2021/07/17 17:30:58 magicsock: STUN done; sending call-me-maybe to d:d52bb11973f8889b [WwgZK]

Docker port issue or by design?

Thanks for the new dockerfile :)

I wondered why you are exposing 8080/tcp from the docker but use 8000/tcp in the sample config files.

Are both ports used or we should we update and use 8080 as the default?

Thanks.

Stale (Machine) objects are written back to database

There is a series of calls to h.db.Save around the code which is typically done on long living Machine objects loaded/created when the map endpoint (longpolling) is opened.

headscale/poll.go

Lines 51 to 53 in 5b1b40c

now := time.Now().UTC()
m.LastSeen = &now
h.db.Save(&m)

By calling save on this object, sometimes with only a single change (e.g. last seen), a potentially stale object is written to the database.

This becomes apparent when you use the CLI to modify Machines, where the next update from the server will revert your change.

For example:

  1. headscale is running, and client1 has a longpolling session
  2. Admin uses headscale cli to enable an advertised route on client1
  3. A keepalive is sent to client1, updating the lastSeen field on its already loaded Machine object.
  4. Machine object is saved, not containing the route change from the CLI, effectively reverting the change.

We should probably get all the database calls out of the code, and into some helper functions so we can control the behaviour from a single place.

Error while register node

I've setup headscale(v0.3.3) on my Ubuntu 18.04 VM.
This is my config.json:

{
    "server_url": "http://127.0.0.1:8000",
    "listen_addr": "0.0.0.0:8000",
    "private_key_path": "/etc/wireguard/privatekey",
    "derp_map_path": "derp.yaml",
    "ephemeral_node_inactivity_timeout": "30m",
    "db_type": "postgres",
    "db_host": "localhost",
    "db_port": 5432,
    "db_name": "headscale",
    "db_user": "headscale",
    "db_pass": "BZv1XGkrC7dlzjudJy0J",
    "tls_letsencrypt_hostname": "",
    "tls_letsencrypt_cache_dir": ".cache",
    "tls_letsencrypt_challenge_type": "HTTP-01",
    "tls_cert_path": "",
    "tls_key_path": "",
    "acl_policy_path": ""
}

And I've created a namespace.

When I try to register a node from another vm, I got an output key and I manual registered on my headscale vm:
image

But nothing changed on my tailscale vm. screenshot below:

image

No success response

Mobile clients

Tailscale has clients for linux, Windows, macOS, Android and iOS. Linux, Windows and macOS can be told to connect to a headscale server. I'm not aware of a way to do that on Android or iOS.

Can the (open source) android client be compiled with another server or be patched to allow server selection? What about iOS?

Update channel loop bug

I noticed that headscale v0.7.0 enters a loop sometimes โ€“ it constantly receives requests for update and checks that the client is up to date. It snaps out of it a minute later.
I'm attaching a log (with slight modifications) of the entire process from program start to the loop ending. And bisecting the repo led me to find the offending commit: 88d7ac0

hs_88d7ac04b_bug.log

Ability to remove a node

Currently nodes can only be added. I'd like to be able to remove nodes that don't exist anymore (without going into SQL myself).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.