1 điểm bởi GN⁺ 2025-04-03 | 1 bình luận | Chia sẻ qua WhatsApp

Port Tailscale sang Plan 9

  • Giới thiệu

    • Tailscale nay đã chạy được trên Plan 9. Đây không phải trò đùa ngày 1 tháng 4 mà là sự thật.
    • Trong quá trình port Tailscale sang Plan 9 đã có nhiều thách thức kỹ thuật và cách giải quyết tương ứng.
  • Hiểu về Plan 9

    • Plan 9 là một hệ điều hành độc đáo, và quá trình port Tailscale sang đó đã giúp học được nhiều điều mới.
    • Hỗ trợ Plan 9 của trình biên dịch Go đã phát sinh vấn đề theo thời gian, và cần rất nhiều nỗ lực để khắc phục.
  • Các thách thức kỹ thuật

    • Cần chỉnh sửa kernel để giải quyết vấn đề hỗ trợ SSE trên Plan 9.
    • Các vấn đề IPC gây ra lỗi bộ nhớ, và để khắc phục đã sử dụng TCP localhost.
    • Để cải thiện môi trường phát triển, Russ Cox đã tạo một kho GitHub cung cấp mã nguồn Plan 9 và các binary biên dịch sẵn.
  • Mạng và định tuyến

    • Tailscale đã hoạt động trên Plan 9 bằng chế độ "userspace networking", nhưng đây không phải giải pháp lý tưởng.
    • Đã thao tác các đường dẫn mạng của Plan 9 để triển khai bảng định tuyến.
  • Tính năng bổ sung và cải tiến

    • Đã thêm hỗ trợ Tailscale SSH để máy chủ SSH xác thực bằng ID của Tailscale.
    • Đã triển khai tính năng MagicDNS để có thể dễ dàng tham chiếu các peer trong mạng Tailscale trên Plan 9.
    • Đã giải quyết vấn đề thời gian của Plan 9 để ngăn lỗi crash xảy ra trong netstack của gVisor.
  • Định hướng tương lai

    • Cần kiểm thử để Tailscale cũng hoạt động trên các nhánh Plan 9 khác (9legacy, 9front).
    • Cần hỗ trợ 64-bit và triển khai thêm các tính năng khác.
  • Kết luận

    • Việc port Tailscale sang Plan 9 là một trải nghiệm thú vị và giàu tính học hỏi, đồng thời góp phần cải thiện hỗ trợ Plan 9 trong Go.
    • Dự án này được kỳ vọng sẽ được cộng đồng Plan 9 tiếp nhận và phát triển tiếp.

1 bình luận

 
GN⁺ 2025-04-03
Ý kiến Hacker News
  • Nếu có câu hỏi thì tôi luôn sẵn sàng trả lời
  • Đã có vài người đang trò chuyện về chủ đề này trên Google Meet (rồi theo thời gian mọi người đều rời đi)
  • Bài đăng blog ngày 1 tháng 4 trước đó là về trò đùa của Tailscale
  • Sự tận tâm của Russ Cox với trò đùa này thật sự mang tầm huyền thoại
  • Nếu bạn đã bỏ lỡ bài đăng đầu tiên, bạn có thể thử với ảnh v86
  • Bạn có thể khởi động tailscaledtailscale bên trong VM. Do proxy có khả năng sẵn sàng hạn chế, có thể sẽ mất một lúc để lên trạng thái trực tuyến
  • Để mở terminal, bạn có thể giữ alt rồi nhấp chuột phải, chọn tạo mới, sau đó thả alt và kéo chuột phải để điều chỉnh kích thước cửa sổ terminal
  • Tôi đang nghiêm túc nghĩ rằng giá như có một phiên bản enterprise của Plan 9. Tôi viết hầu hết script bằng rc, điều này cũng ổn vì đồng nghiệp của tôi dùng nix nên có thể tự động đưa vào bằng dirnev
  • Đang tổ chức webinar trên Google Meet
  • Tôi thích tiền đề của trò đùa này, nhưng khi phần giải thích tiếp tục thì bỗng thấy chán nản. Có quá nhiều sự phức tạp và quá nhiều thứ bị hỏng. Nếu chừng này công sức bổ sung để tạo một network tunnel chỉ là trò đùa thì đã buồn cười hơn
  • Việc vá kernel Plan 9 để làm cho nó hoạt động là điều tôi không ngờ tới
  • Tôi yêu Plan 9. Mục tiêu cho dự án nghỉ hưu của tôi là tạo ra hệ điều hành của riêng mình, dùng nhiều nguyên tắc của nó
  • Tôi đã dành sẵn cái tên "chaos10" cho dự án này. Sẽ không có kế hoạch nào cả, giống như SerenityOS
  • Plan 9 có Tailscale trước cả trình duyệt. Điều này bằng cách nào đó lại hợp lý
  • Rob Pike chết lặng trước sự phản bội gây sốc này