(D240812) Ghi chép về Máy chủ tệp tin và Quản lý nhóm người dùng trong công ty nhỏ tại Việt Nam
Bài này được viết trong quá trình triển khai máy chủ tệp tin cho một công ty nhỏ tại HP dưới 20 nhân sự.
Công ty tìm kiếm giải pháp để chia sẻ tệp tin giữa các máy tính khách chạy hệ điều hành Windows 10/11.
1. Yêu cầu đối với hệ thống
Các nhân viên công ty không thông thạo máy tính cho nên cần giải pháp đơn giản, ổn định và dễ bảo trì.
Ngoài ra còn có một số yêu cầu cụ thể:
- Truy cập từ xa có mã hóa
- Snapshot, backup dễ dàng
- Có WebUI để doanh nghiệp tự vận hành
- Không lưu dữ liệu trên máy khách
2. Các lựa chọn cân nhắc
Chia sẻ tệp là nhu cầu khá cơ bản, có rất nhiều giải pháp / hệ thống sẵn sàng. Chúng tôi xin liệt kê một số thông tin dưới đây.
2.1. Hệ điều hành
Để chạy máy chủ tệp tin chúng ta có thể sử dụng Linux, FreeBSD hoặc các hệ điều hành tối ưu cho NAS.
- TrueNAS CORE (based on FreeBSD)
- TrueNAS SCALE (based on Linux)
- FreeBSD (Barebone)
- Debian (Barebone)
TrueNAS, OpenMediaVault và rất nhiều hệ điều hành chuyên NAS khác. Chúng thường tích hợp sẵn FTP, SMB, NFS, GUI.. có thể sử dụng được ngay một cách dễ dàng.
Chúng tôi sẽ chọn TrueNAS SCALE vì Web UI quản trị khá tốt, nó dựa trên Linux hỗ trợ phần cứng tốt hơn so với FreeBSD.
2.2. Giao thức chia sẻ tệp
Để chia sẽ tệp tin qua mạng các lựa chọn thích hợp có thể là:
- Server Message Block (SMB)
- Network File System (NFS)
- WebDAV (Web Distributed Authoring and Versioning)
- Sync solutions: Nextcloud, ownCloud
Chúng tôi sẽ dùng SMB vì nó tương thích với máy khách Windows 10//11. Cũng có thể sử dụng WebDAV tuy nhiên bảo trì sẽ phức tạp hơn.
TrueNAS SCALE có sẵn hệ thống quản lý người dùng và phân quyền hoạt động rất tốt cùng với SMB. Không nghi ngờ rằng SMB là lựa chọn tối ưu nếu sử dụng TrueNAS.
3.1. Lựa chọn cuối cùng
Vì muốn đơn giản hóa việc quản trị chúng tôi đã chọn TrueNAS SCALE và SMB. Ngoài ra cũng cần bổ sung VPN để tăng cường bảo mật vì DN muốn truy cập từ xa.
Vậy nên chúng tôi sẽ cài đặt hệ thống như dưới đây:
- TrueNAS SCALE "Dragonfish" 24.04
- Server Message Block (SMB)
- WireGuard (VPN)
4. TrueNAS SCALE "Dragonfish" 24.04
- Dữ liệu chứa trên 2 HDD chạy RAID1
- Snapshot, backup định kỳ bằng ZFS
- Chia sẻ qua SMB tương tích máy khách Windows
- Mã hóa dữ liệu truyền qua VPN (WireGuard)
- Phân quyền ACL của TrueNAS (Filesystem, SAMBA)
4.1. Do quy mô nhân sự và yêu cầu phân quyền không quá khắt khe do đó
- Tạo group chung cho các user từng phòng ban
- Tạo dataset /smb share cho mỗi phòng ban
- Cho phép đọc ghi theo mỗi group phòng ban
4.2. Mạng riêng ảo
Kết nối các máy với nhau bằng WireGuard, sử dụng GUI là WireGuard Easy.
- Cài đặt
wg-easy
trực tiếp trên TrueNAS bằng Apps (k3s?) - Mở port trên modem vào port
wg-easy
(UDP) - Cài đặt WireGuard trên máy khách tương đối dễ dàng
- Truy cập vào TrueNAS bằng WireGuard IP (không sử dụng DNS giảm độ trễ)
- Không Site-to-Site, có thể chuyển sau
4.3. Bổ sung sao lưu sau thời gian chạy thử
- Sao lưu ngoại tuyến bằng ZFS recv/send (pull method, auto on/off by other machine)
- Thêm phương án sao lưu bằng rsync hoặc tương tự
5. Các vấn đề gặp phải
5.1. WireGuard client mất kết nối
Một số máy khách Windows mất kết nối, phải kích hoạt lại bằng tay.
- Máy chủ WireGuard không có IP tĩnh do đó phải dùng ddns, khi public IP của endpoint thay đổi có thể là nguyên nhân.