1P by GN⁺ 1일전 | ★ favorite | 댓글 1개

Tailscale의 Plan 9 포팅

  • 소개

    • Tailscale이 Plan 9에서 작동하게 되었음. 이는 4월 1일의 농담이 아닌 실제 사실임.
    • Plan 9에 Tailscale을 포팅하는 과정에서 여러 기술적 도전과 해결책이 있었음.
  • Plan 9에 대한 이해

    • Plan 9는 독특한 운영체제로, Tailscale을 포팅하는 과정에서 여러 가지 새로운 것을 배울 수 있었음.
    • Go 컴파일러의 Plan 9 지원이 시간이 지나면서 문제가 생겼고, 이를 해결하기 위해 많은 노력이 필요했음.
  • 기술적 도전

    • Plan 9의 SSE 지원 문제를 해결하기 위해 커널 수정이 필요했음.
    • IPC 문제로 인해 메모리 오류가 발생했으며, 이를 해결하기 위해 localhost TCP를 사용함.
    • 개발 환경을 개선하기 위해 Russ Cox가 Plan 9 소스 코드와 사전 컴파일된 바이너리를 제공하는 GitHub 저장소를 생성함.
  • 네트워킹 및 라우팅

    • Tailscale의 "userspace networking" 모드로 Plan 9에서 작동하게 되었으나, 이는 이상적인 해결책은 아님.
    • Plan 9의 네트워크 경로를 조작하여 라우팅 테이블을 구현함.
  • 추가 기능 및 개선

    • Tailscale SSH 지원을 추가하여 SSH 서버가 Tailscale의 ID를 사용해 인증하도록 함.
    • MagicDNS 기능을 구현하여 Plan 9에서 Tailscale 네트워크의 피어를 쉽게 참조할 수 있도록 함.
    • Plan 9의 시간 문제를 해결하여 gVisor의 netstack에서 발생하는 충돌을 방지함.
  • 미래 방향

    • Plan 9의 다른 포크(9legacy, 9front)에서도 Tailscale이 작동하도록 테스트가 필요함.
    • 64비트 지원 및 추가 기능 구현이 필요함.
  • 결론

    • Tailscale의 Plan 9 포팅은 재미있고 교육적인 경험이었으며, Go의 Plan 9 지원을 개선하는 데 기여했음.
    • 이 프로젝트는 Plan 9 커뮤니티가 이어받아 발전시킬 수 있기를 기대함.
Hacker News 의견
  • 질문이 있으면 언제든지 답변할 준비가 되어 있음
  • 여러 명이 현재 Google Meet에서 이 주제에 대해 대화 중이었음 (시간이 지나 모두 떠남)
  • 이전 4월 1일 블로그 게시물은 Tailscale의 농담에 관한 것임
  • Russ Cox가 이 농담에 헌신한 것은 전설적임
  • 첫 게시물을 놓쳤다면, v86 이미지에서 시도해볼 수 있음
  • VM 안에서 tailscaled와 tailscale을 시작할 수 있음. 제한된 프록시 가용성으로 인해 온라인 상태가 되기까지 시간이 걸릴 수 있음
  • 터미널을 시작하려면 alt를 누르고 오른쪽 클릭 후 새로 만들기를 선택하고 alt를 놓은 후 오른쪽 클릭 드래그로 터미널 창 크기를 조절할 수 있음
  • Plan 9의 엔터프라이즈 버전이 있었으면 좋겠다는 생각을 진지하게 하고 있음. 대부분의 스크립트를 rc로 작성하고 있으며, 이는 동료들이 nix를 사용하기 때문에 자동으로 dirnev로 가져올 수 있어 괜찮음
  • Google Meet에서 웨비나 진행 중
  • 농담의 전제가 마음에 들었지만 설명이 계속되면서 갑자기 우울해짐. 너무 많은 복잡성과 깨진 것들이 많음. 네트워크 터널을 만들기 위해 이렇게 많은 추가 작업이 농담이었다면 재미있었을 것임
  • Plan 9 커널을 패치하여 작동하게 만든 것은 예상치 못한 일이었음
  • Plan 9을 사랑함. 많은 원칙을 사용하여 나만의 운영체제를 만드는 것이 은퇴 프로젝트의 목표임
  • 이 프로젝트를 위해 "chaos10"이라는 이름을 예약함. SerenityOS처럼 계획이 없을 것임
  • Plan 9이 브라우저보다 먼저 Tailscale을 얻음. 이것이 어떻게든 말이 됨
  • Rob Pike는 이 충격적인 배신에 망연자실함