NVIDIA / NVIDIA/Personal-AI-Router

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

Abierto
#85 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement
Lenguaje dominante
Go
Estrellas
1.4k
Forks
250
Merge medio
23 h 27 min
PR fusionados (30 d)
1

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza siguiendo el flujo de Add Node para direcciones manuales y pairing, y después inspecciona services/shared/netpick y nvpair-manual-nodes. Comprueba cómo se gestionan la validación del host, la resolución DNS, el pairing mediante PIN y los SANs de los certificados para los endpoints de los nodos. La tarea está completa cuando una IP de Tailscale o un nombre de MagicDNS puede completar el pairing, rellenar la información del nodo y enrutar solicitudes de inferencia en la configuración de validación.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
go
Área
authentication, networking, security
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.