Trabajo de portabilidad de Tailscale a Plan 9
(tailscale.com)Port de Tailscale a Plan 9
-
Introducción
- Tailscale ahora funciona en Plan 9. No es una broma del 1 de abril, sino un hecho real.
- Durante el proceso de portar Tailscale a Plan 9 hubo varios desafíos técnicos y soluciones.
-
Entendiendo Plan 9
- Plan 9 es un sistema operativo único, y durante el proceso de portar Tailscale fue posible aprender muchas cosas nuevas.
- El soporte de Plan 9 en el compilador de Go fue presentando problemas con el tiempo, y resolverlos requirió mucho esfuerzo.
-
Desafíos técnicos
- Fue necesario modificar el kernel para resolver problemas con el soporte de SSE en Plan 9.
- Debido a problemas de IPC se produjeron errores de memoria, y para resolverlos se usó TCP de localhost.
- Para mejorar el entorno de desarrollo, Russ Cox creó un repositorio de GitHub que ofrece el código fuente de Plan 9 y binarios precompilados.
-
Redes y enrutamiento
- Tailscale llegó a funcionar en Plan 9 con el modo "userspace networking", aunque esta no es una solución ideal.
- Se implementó una tabla de enrutamiento manipulando las rutas de red de Plan 9.
-
Funciones adicionales y mejoras
- Se añadió soporte para Tailscale SSH para que el servidor SSH autentique usando la identidad de Tailscale.
- Se implementó la función MagicDNS para poder referirse fácilmente a los pares de la red de Tailscale desde Plan 9.
- Se resolvieron los problemas de tiempo de Plan 9 para evitar fallos en el netstack de gVisor.
-
Dirección futura
- Hace falta probar que Tailscale funcione también en otros forks de Plan 9 (9legacy, 9front).
- Se necesita soporte de 64 bits y la implementación de funciones adicionales.
-
Conclusión
- El port de Tailscale a Plan 9 fue una experiencia divertida y educativa, y contribuyó a mejorar el soporte de Plan 9 en Go.
- Se espera que la comunidad de Plan 9 pueda retomar este proyecto y seguir desarrollándolo.
1 comentarios
Comentarios en Hacker News
tailscaledytailscaledentro de la VM. Puede tardar en aparecer en línea debido a la disponibilidad limitada del proxyalt, hacer clic derecho y seleccionar Nuevo, soltaralty luego ajustar el tamaño de la ventana de la terminal arrastrando con clic derechorc, lo cual está bien porque mis colegas usan nix, así que pueden incorporarlo automáticamente con dirnev