3 điểm bởi GN⁺ 2025-11-03 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trải nghiệm làm mới lại mối quan hệ với công nghệ và khơi lại hứng thú với self-hosting thông qua FreeBSD và các hệ điều hành họ BSD
  • Xây dựng cấu hình bằng cách tự thử nghiệm và trải qua nhiều lần thử sai, dùng BastilleBSD để thiết lập jail và vm-bhyve để cấu hình VM
  • Cấu trúc đơn giản, tài liệu xuất sắckhả năng tương thích dài hạn giúp ngay cả tài liệu cũ vẫn còn giá trị trong môi trường hệ thống hiện tại
  • Sự hỗ trợ thân thiện từ cộng đồng BSD giúp giải quyết những bối rối trong quá trình học và mang lại cảm giác háo hức như người mới bắt đầu
  • Nhấn mạnh niềm vui và giá trị của việc liên tục khám phá đến từ chính quá trình học công nghệ mới

Chuyển sang FreeBSD và một khởi đầu mới

  • Cách sử dụng công nghệ trước đây không còn phù hợp, nên tìm kiếm một khởi đầu mới với các hệ điều hành họ BSD
    • Trước đó đã thử cả FreeBSD lẫn OpenBSD; OpenBSD được dùng ổn định cho VM đơn mục đích và router
    • Tuy nhiên, nó không phù hợp với hệ thống đa mục đích, nên đã chọn FreeBSD
  • Có được một máy chủ phù hợp thông qua đấu giá máy chủ của Hetzner và bắt đầu xây dựng môi trường FreeBSD
  • Trong quá trình học hệ thống mới, đồng thời trải nghiệm sự bối rối ban đầu và niềm vui học hỏi

Cấu hình hệ thống và lựa chọn công cụ

  • Dùng BastilleBSD để quản lý môi trường jail và vm-bhyve để quản lý máy ảo
    • Dù phần lớn thiết lập đều là lần đầu tiếp xúc, sau nhiều lần thử sai cuối cùng đã hoàn thiện được cấu hình phù hợp với bản thân
    • Dù có phần khác với cấu hình thông thường, vẫn hài lòng với một môi trường được cá nhân hóa
  • Có nhắc tới kế hoạch sẽ chia sẻ thêm cấu hình chi tiết khi môi trường ổn định hơn trong tương lai

Ưu điểm và triết lý của FreeBSD

  • Tính đơn giảntài liệu rất tốt được nhắc đến là những ưu điểm lớn nhất
    • Phần lớn công việc có thể giải quyết qua SSH chỉ với vài lệnh
    • Thông tin cần thiết có thể xem ngay trên trang man trực tuyến hoặc từ CLI
  • Khả năng tương thích dài hạn rất ấn tượng, đến mức cả giải pháp từ diễn đàn năm 2008 vẫn còn hiệu lực
    • Đồng thời, các tính năng mới vẫn liên tục được bổ sung nên hệ thống không tạo cảm giác lỗi thời

Khó khăn trong quá trình học và sự hỗ trợ từ cộng đồng

  • Đã trải qua sự bối rối khi học, chẳng hạn như nhầm lẫn giữa chu kỳ phát hành và mối quan hệ giữa pkg/ports
    • Việc không diễn đạt được từ khóa tìm kiếm phù hợp cũng khiến quá trình tra cứu thông tin trở nên khó khăn
  • Cộng đồng BSD và người dùng Fediverse đã giúp giải quyết vấn đề
    • Nhiều người đã đưa ra những câu trả lời cụ thể và hữu ích
    • Tác giả cảm nhận được niềm vui như quay lại làm người mới bắt đầu và sự ấm áp từ cộng đồng

Sự hài lòng hiện tại và hướng đi sắp tới

  • Vẫn chưa chắc liệu cấu hình này có được duy trì lâu dài hay không
    • Tuy nhiên, hiện tại điều cốt lõi là niềm vui khi học công nghệ mới
  • Thông qua học hỏi và thử nghiệm, tác giả đã tìm lại sự thú vị và tính sáng tạo của self-hosting
  • Kết lại bằng thái độ: “Chính quá trình học hỏi lúc này mới là điều quan trọng”

1 bình luận

 
GN⁺ 2025-11-03
Ý kiến Hacker News
  • Nền tảng của homelab của tôi là OpenBSD
    Tôi chạy DNS, DHCP, router tường lửa và cả một web server nhỏ trên đó
    Việc cấu hình đơn giản hơn Linux rất nhiều, thậm chí còn có cảm giác dễ hơn cả FreeBSD
    Chỉ cần sao chép ví dụ trong FAQ rồi chỉnh sửa là xong, không phải xử lý nhiều daemon và các file cấu hình phức tạp như trên Linux
    Tuy vậy, host KVM thì tôi vẫn vận hành riêng trên nền Linux

    • OpenBSD thực sự là một viên ngọc ẩn
      Điểm mạnh lớn là có thể dùng yên tĩnh, tránh xa những màn kịch mua bán doanh nghiệp của Linux hay sự ồn ào trong cộng đồng
      Tôi nghĩ cách tiếp cận kiểu “toxic slug” để chặn can thiệp từ bên ngoài cũng cần thiết cho các dự án mã nguồn mở khác
    • Hệ BSD được tối ưu tập trung cho môi trường phần mềm xương sống mạng
      Có thể dễ dàng điều khiển mọi thứ bằng rc.conf, và các thành phần không cần thiết bị loại khỏi bản cài mặc định
      Trong khi đó Linux vì theo đuổi tính đa dụng nên có xu hướng khiến cấu hình trở nên phức tạp
    • Tôi chạy Alpine Linux bằng hypervisor vmm của OpenBSD để vận hành docker và container
      Nhờ vậy mà vẫn có thể tận dụng công nghệ server hiện đại ngay trên OBSD
    • Tôi tò mò không biết bạn có từng gặp lỗi phần cứng hay sự thiếu ổn định nào không
      Nếu không có nhiều linh kiện dự phòng thì việc xác định nguyên nhân khá khó, mà thời gian và sự tập trung thì lúc nào cũng thiếu
  • Tôi cũng đang vận hành FreeBSD cho homelab của mình
    Hỗ trợ ZFS rất tuyệt vời, và việc thử làm theo một cách khác cũng rất thú vị
    Cấu hình cơ bản được quản lý bằng README.md, phần còn lại được tự động hóa bằng Ansible
    Mỗi dịch vụ chạy trong một jail, còn dữ liệu thì được mount các subvolume ZFS vào /bucket
    Nhờ vậy tôi có thể xóa rồi dựng lại jail bất cứ lúc nào, và cũng dễ truy cập riêng lẻ qua SSH

    • Tính năng service jail mới sẽ được thêm trong FreeBSD 15 khá thú vị
      Nó vẫn chia sẻ nguyên file system của host nhưng lại giới hạn truy cập mạng
      Tài liệu liên quan có trong FreeBSD Handbooktrang man
    • Nếu không cần hỗ trợ CUDA thì tôi đã chuyển hẳn sang FreeBSD rồi
      Nó không có systemd, và khái niệm container cũng đã được tích hợp từ rất lâu
  • Tôi rất muốn thực sự yêu thích FreeBSD, nhưng thực tế thì nỗi đau cấu hình quá lớn
    Tài liệu về cấu hình tường lửa khá ít, còn pm2 thì có bug liên quan đến process ID
    Cuối cùng tôi phải từ bỏ vì cứ phải phát minh lại bánh xe mỗi lần làm các tác vụ server thông thường
    Với một người không phải nhà phát triển OS như tôi thì quá sức

    • Tôi cũng từng có trải nghiệm tương tự, nhưng dạo này nhờ LLM mà việc cấu hình dễ hơn rất nhiều
      Không biết bạn đã thử lại các vấn đề ngày xưa đó với LLM hiện nay chưa
    • Lúc mới học pf thì tôi thấy khó, nhưng khi hiểu được nguyên lý tường lửa thì mọi thứ rõ ràng hơn hẳn
      FreeBSD cũng có các template mặc định dựa trên IPFW
      Chỉ cần nhìn vào tùy chọn firewall_type trong rc.conf là có thể cấu hình dễ dàng từ NAT gateway đơn giản đến tường lửa cho client
      Chi tiết xem tại /etc/rc.firewall
    • Tài liệu tường lửa chính thức được tổng hợp rất tốt trong FreeBSD Handbook - Firewalls
    • pf vẫn là một trong những tường lửa tốt nhất mà tôi từng dùng
      Trước đây tôi từng tự xây dựng VPN server bằng FreeBSD và openvpn để phục vụ hàng trăm khách hàng
      Đến giờ tôi vẫn thích pf hơn tường lửa trên Linux
      Chỉ là vẫn nhớ các tính năng điều phối đa host như docker swarm
    • PF có cấu hình dựa trên DSL rất gọn gàng, và cũng có các lựa chọn khác như IPFW hay IPFILTER
      Tôi cảm thấy kiến thức FreeBSD có giá trị lâu dài hơn Linux
      Nhìn môi trường hỗn loạn của Linux thì ngược lại BSD lại cho cảm giác dễ chịu hơn
  • Có những lúc lý do đổi công nghệ đơn giản chỉ là vì niềm vui học hỏi
    Tôi cũng từng tạo một nền tảng self-hosting để theo đuổi “sự tiện lợi”, nhưng phép màu thật sự nằm ở quá trình tự mình giải quyết

    • Khi từ bỏ sự tiện lợi và tự mình va chạm, bạn sẽ học được bản chất của stack
      Nhờ các công nghệ như docker/podman, flatpak mà giờ khả năng tiếp cận đã tốt hơn khá nhiều
      Chỉ tiếc là ứng dụng CLI hiếm khi được phân phối bằng flatpak
  • Tôi đã yêu BSD, đặc biệt là FreeBSD, suốt 25 năm
    Tôi từng thử dùng DragonflyBSD làm desktop, và thấy tiếc vì ngày nay BSD nhận được quá ít sự chú ý
    Cũng không nên quên rằng BSD đã đóng vai trò rất lớn trong nền tảng của iOS và macOS

    • Hiện giờ tôi vẫn dùng FreeBSD làm desktop OS
      Nó ổn định và không bị cuốn theo các trào lưu doanh nghiệp như Linux
      Các ứng dụng hiện đại như KDE vẫn được duy trì theo kiểu rolling, và tài liệu thì rất tuyệt
      ZFS on root cũng được hỗ trợ mặc định nên tôi rất thích
      Một số ít maintainer vẫn đang kiên trì duy trì rất tốt
    • Bạn có phải fluffypony của Monero không?
      Trước đây tôi đã nghe podcast bạn khen FreeBSD rồi mới bắt đầu tìm hiểu
  • Trước đây tôi dùng FreeBSD ở nhà vì muốn có một môi trường khác với công việc
    Nhưng từ khi bắt đầu dùng CPU có kiến trúc big.LITTLE như ARM RockChip và Intel Alder Lake, scheduler của FreeBSD không tận dụng được đúng cách
    Vì thế tôi quay lại Linux và rồi mê luôn hệ sinh thái Nix
    Nếu scheduler ULE được cải thiện thì tôi sẽ quay lại

  • Gần đây tôi đã dựng một router dựa trên OpenBSD, và đó thực sự là một trải nghiệm rất sảng khoái
    Tôi đã ghi lại chi tiết trong bài blog của mình

    • Tôi đọc bài rồi, rất hay!
      OpenBSD về cơ bản khuyến nghị cài toàn bộ các file set
      Vì một số port có thể yêu cầu các thư viện ngoài dự kiến
      Ngoài ra OpenBSD Handbook không phải tài liệu chính thức, nên tốt hơn là tham khảo trang man, openbsd.org hoặc mailing list misc@
      Việc bạn hoàn tất cả cấu hình IPv6 cũng rất ấn tượng
  • Tôi đang tự host Jellyfin và n8n, nhưng dần dần chuyển lên cloud
    Thời gian bỏ ra để duy trì độ sẵn sàng của dịch vụ quá lớn, còn blog thì tôi đã chuyển sang Cloudflare Pages
    Đưa 45TB dữ liệu media lên cloud sẽ tốn khoảng $250~$1500 mỗi tháng nên thực tế là khá khó, nhưng tôi vẫn muốn chuyển một ngày nào đó

    • Tôi tò mò phần nào lại tốn thời gian đến vậy
      Tôi cũng self-hosting nhưng chỉ phải quản lý vài giờ mỗi năm
    • Có thể lưu 45TB trên pCloud với gói trả một lần $5,000 (tôi khuyến nghị ở góc độ khách hàng)
    • Tôi nâng cấp lên Jellyfin 10.11 thì hệ thống bị hỏng vì bug migration DB
      Xem liên kết issue
  • Tôi chỉ từng dùng Linux, Windows và macOS, nên muốn biết cần học gì để bắt đầu với BSD
    Các lệnh coreutils có hoạt động nguyên vẹn không? Tôi cũng muốn biết tính tương thích của các gói Emacs ra sao

    • Các utility trên BSD không phải GNU mà là bản BSD, nên có hơi khác một chút
      Nhưng trong phạm vi POSIX thì không có vấn đề gì
      Bạn cũng có thể cài công cụ GNU, ví dụ make sẽ dùng dưới tên gmake
      Từ 1999 đến 2015 tôi dùng mà không gặp vấn đề lớn nào
    • Nếu không có yêu cầu đặc biệt thì phần lớn sẽ hoạt động giống nhau
      Ngay cả khi không biết gnu/coreutils thì có lẽ cũng không thấy khác biệt lớn
  • Tôi tò mò về mức độ hỗ trợ ứng dụng trên BSD
    Hầu hết tôi chỉ thấy deb hay rpm, nên muốn biết FreeBSD Ports bao phủ được đến đâu
    Tôi cũng muốn biết về driver phần cứng, đặc biệt là hỗ trợ các chip Wi‑Fi mới

    • Theo repology.org, FreeBSD có kho gói lớn thứ 4 thế giới
    • Còn tùy bạn nói đến loại ứng dụng nào
      Môi trường desktop thì có phần khó nhằn, nhưng BSD được tối ưu cho web server
      Với các công cụ như Bastille, việc triển khai dựa trên jail khá dễ dàng
      Tôi khuyên bạn nên tự cài thử FreeBSD trên VM hoặc USB
      Tài liệu và diễn đàn rất thân thiện