Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Feature]: Support for Tailscale mesh network endpoints (CGNAT IPs and MagicDNS domain names)

Aberta
#85 2 comentários 1 reação 1 responsável Ver no GitHub

Mantenedores costumam responder em até 5 dias

@ckelseynv já está trabalhando nisso.

Desde 9/10/2026.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
go

Direção de pesquisa

Comece rastreando o fluxo de Add Node para endereços manuais e pairing e, em seguida, inspecione services/shared/netpick e nvpair-manual-nodes. Verifique como a validação do host, a resolução de DNS, o pairing por PIN e os SANs dos certificados são tratados para endpoints de nós. Está concluído quando um IP do Tailscale ou um nome do MagicDNS puder concluir o pairing, preencher as informações do nó e encaminhar solicitações de inferência na configuração de validação.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement
Area

Discovery or pairing

User problem

Note: This feature request includes AI generated suggestions (Google's Antigravity). I have marked
form sections where I lack context knowledge.

When attempting to connect a device (such as a MacBook Pro) located outside the local physical network using
Tailscale, PAIR is unable to connect to the remote LLM or register the remote machine as a node.

Specifically:

  1. Automatic Discovery Fails: mDNS discovery does not span across subnets or overlay networks without
    explicit multicast forwarding.
  2. Manual IP Addition Fails: Adding a node manually using its Tailscale IPv4 address (100.64.x.x CGNAT
    range) fails to establish pairing or route requests.
  3. MagicDNS Hostnames Fail: Adding a node using its Tailscale domain name
    (e.g., macbook-pro.tailnet- name.ts.net) is either rejected by host validation or fails during probe/pairing.

As a result, users working remotely cannot access their home/office PAIR cluster's LLM resources or contribute remote nodes to an existing cluster.

Desired outcome

Tailscale & VPN Node Pairing: Users should be able to manually add out-of-network nodes by entering
either their Tailscale IP address (100.64.0.0/10) or MagicDNS domain name in the "Add Node" interface.

Alternatives considered

I tried an OpenVPN connection instead of Tailscale and had the same user problem.

Compatibility and security implications

Note: these are AI generated suggestions (Google's Antigravity) that I am not certain of.

  • Address Scoring: Updating services/shared/netpick so that explicit manual node additions for CGNAT
    (100.64.0.0/10) and virtual interface addresses (tailscale0, utun) are not demoted below unreachable
    physical LAN interfaces.
  • DNS & FQDN Support: Ensuring nvpair-manual-nodes and cluster pairing clients perform asynchronous DNS
    re-resolution for MagicDNS domain names (.ts.net).
  • mTLS & SANs: Ensuring TLS certificates issued during PIN pairing include MagicDNS hostnames and
    Tailscale IP addresses in Subject Alternative Names (SANs).
  • Security: PAIR's PIN pairing, identity verification, and mTLS traffic encryption will protect
    communication even over external overlay networks.
Validation approach
  1. Set up a PAIR host on a local network equipped with Tailscale.
  2. Connect a remote device (e.g., MacBook Pro on cellular/external Wi-Fi) to the same Tailscale network
    (Tailnet).
  3. Open PAIR UI on the host, select Add Node, and input the MacBook Pro's Tailscale IP (100.64.x.y) or
    MagicDNS domain.
  4. Verify PIN pairing completes successfully, telemetry/node-info populates, and inference requests route to
    the remote node.
Confirmations
  • I searched existing issues for duplicates.
  • I agree to follow the Code of Conduct.
Linguagem predominante
Go
Estrelas
1.6k
Forks
266
Merge médio
3d 6h
PRs com merge (30d)
22

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de NVIDIA/Personal-AI-Router

Todas as issues de NVIDIA/Personal-AI-Router

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.