Bài viết sẽ nói về các giải pháp để chia sẻ file trong mạng nội bộ, chia sẻ đồng bộ từ xa với nhiều thiết bị khác nhau. Nội dung đề cập đến những cách thức chia sẻ tệp tin phổ biến nhất.
1. Tài nguyên chia sẻ
- Server Message Block (SMB)
- Samba – Bộ chương trình tương tác tiêu chuẩn của Windows dành cho Linux và Unix.
- Network File System (NFS)
- Apple Filing Protocol (AFP)
- Netatalk – Máy chủ tệp AFP mã nguồn mở có sẵn miễn phí.
Các giao thức phía trên chủ yếu được sử dụng trong môi trường mạng nội bộ.
1.1. SMB
SMB server có thể triển khai trên Windows, hoặc Linux / macOS với Samba. Samba có thể tích hợp với Microsoft Windows Server domain, với tư cách là Domain controller (DC) hoặc với tư cách là thành viên miền. Kể từ phiên bản 4, nó hỗ trợ các miền Active Directory và Microsoft Windows NT. SMB có thể truy cập từ Windows, Linux, macOS và nhiều hệ điều hành khác.
Tham khảo cách Thiết lập Samba làm máy chủ độc lập tại đây.
1.2. NFS
NFS là phương thức được dùng phổ biến trên Linux, nó cũng có thể truy cập từ Windows hoặc macOS.
Tham khảo Thiết lập máy chủ NFS tại đây.
1.3. AFP
AFP được sử dụng trên macOS trước đây, bắt đầu với OS X 10.9 SMB được coi là giao thức chia sẻ tệp chính.
Hãy sử dụng SMB nếu thiết bị của bạn chạy macOS.
2. Giao thức truyền tệp
- WebDAV (Web Distributed Authoring and Versioning)
- File Transfer Protocol (FTP)
- SSH File Transfer Protocol (SFTP)
- rsync
2.1. WebDAV
WebDAV (Web Distributed Authoring and Versioning) là một tập hợp các tiện ích mở rộng cho Giao thức truyền siêu văn bản (HTTP), cho phép các tác nhân người dùng cộng tác tác giả nội dung trực tiếp trong máy chủ web HTTP bằng cách cung cấp các phương tiện để kiểm soát đồng thời và các hoạt động không gian tên, do đó cho phép Web được xem như một phương tiện có thể ghi, có tính cộng tác chứ không chỉ là một phương tiện chỉ đọc.
WebDAV được hỗ trợ bởi hầu hết các web server như Apache, nginx, Caddy.. Để cài đặt WebDAV bạn tham khảo hướng dẫn của từng web server cụ thể.
WebDAV cũng được tích hợp và cài đặt sẵn trong NAS, Nextcloud, OwnCloud hoặc các tiện ích truyền tệp phổ biến khác.
2.2. FTP
FTP thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP. Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách. Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới.
FTP hiện nay vẫn được sử dụng do tính lịch sử. Nó vẫn còn được hỗ trợ bởi các file manager, download manager, web hosting control panel..
Nếu không có lý do cụ thể, bạn nên sử dụng một trong số các giao thức mới và tin cậy hơn như FTPS hoặc SFTP.
2.3. SFTP
Giao thức truyền tệp SSH (còn được gọi là Giao thức truyền tệp an toàn hoặc SFTP) là giao thức mạng cung cấp quyền truy cập tệp, truyền tệp và quản lý tệp qua bất kỳ luồng dữ liệu đáng tin cậy nào.
SFTP được hỗ trợ bởi hầu hết các phần mềm FTP server và FTP client. Hãy sử dụng nó thay thế cho FTP.
2.4. rsync
rsync là một tiện ích để truyền và đồng bộ hóa các tệp một cách hiệu quả giữa máy tính và ổ lưu trữ cũng như trên các máy tính nối mạng bằng cách so sánh thời gian sửa đổi và kích thước của tệp.
rsync được sử dụng nhiều như một tiện ích sao lưu phục hồi dữ liệu, nó thường được sử dụng để nhân bản hệ thống. rsync cũng được sử dụng để thay thế lệnh cp/mv khi truy cập từ xa.
3. Quản lý nền web
- miniserve – Công cụ CLI để phân phát tệp và thư mục qua HTTP.
- dufs – Máy chủ tập tin hỗ trợ phục vụ tĩnh, tải lên, tìm kiếm, kiểm soát truy cập, webdav…
- filebrowser – Trình duyệt tệp web.
- FileGator – Trình quản lý tệp nhiều người dùng mạnh mẽ.
3.1. miniserve
miniserve là ứng dụng đơn giản, nó cho phép bạn chia sẻ file qua HTTP nhanh chóng. Để chia sẻ file hoặc thư mục bạn chỉ cần chạy lệnh sau:
$ miniserve [TUYCHON] [THUMUC]
miniserve sẽ in ra các địa chỉ, bạn sao chép nó và chia sẻ cho người khác.
miniserve rất hữu ích trong trường hợp bạn cần chia sẻ file nhanh, ví dụ khi bạn cần chia sẻ file sản phẩm cho khách hàng.
3.2. dufs
dufs là ứng dụng file server tương tự miniserve, nó có thêm các chức năng như cho phép tải lên, xóa, tìm kiếm..
Bạn cần tải về file thực thi sau đó chạy lệnh như sau:
$ dufs [TUY CHON] [thu-muc-can-host]
dufs cũng sẽ in ra danh sách địa chỉ để bạn chia sẻ cho người khác. Nó hữu ích trong trường hợp bạn muốn người khác tải lên hoặc sửa xóa tệp thư mục đó.
Để đọc hướng dẫn chi tiết bạn chạy lệnh dufs -h
.
3.3. filebrowser
filebrowser được sử dụng trong trường hợp bạn cần chia sẻ file cho nhiều người và trong thời gian dài. Nó cung cấp giao diện web và hỗ trợ nhiều người dùng dễ dàng hơn.
Tham khảo cách cài đặt filebrowser tại đây.
3.4. FileGator
FileGator tương tự filebrowser, nó viết bằng PHP nên cài đặt và bảo trì phức tạp hơn filebrowser. Bạn nên chọn triển khai bằng docker để tiết kiệm công sức. Nó dường như cung cấp nhiều tính năng phân quyền hơn filebrowser.
Tham khảo cách cài đặt FileGator tại đây.
4. Tiện ích truyền tệp
- LocalSend – Chia sẻ tập tin với các thiết bị ở gần.
- croc – Gửi mọi thứ từ máy tính này sang máy tính khác dễ dàng và an toàn.
4.1. LocalSend
LocalSend là ứng dụng truyền tệp nhanh trong mạng nội bộ. Nó tự tìm thiết bị bất kể bạn dùng Windows, Linux, macOS, Android hay iOS. Nó hữu ích trong trường hợp bạn muốn truyền tệp qua Wifi hoặc mạng có dây một cách dễ dàng.
4.2. croc
croc là ứng dụng truyền tệp nhanh qua mạng internet. Bạn không cần NAT port, không cần địa chỉ IP / domain.
Để truyền tệp bạn chỉ cần chạy lệnh croc send DUONG_DAN_TOI_TEP
. Để nhận tệp bạn sao chép lệnh tại bước gửi và gõ vào terminal. Nó hoàn toàn tự động.
5. Đồng bộ tệp tin
- Nextcloud – Nền tảng cộng tác nội dung nguồn mở.
- ownCloud – Chia sẻ tập tin và thư mục, dễ dàng và an toàn.
- Syncthing – Đồng bộ hóa tệp liên tục mã nguồn mở.
5.1. Nextcloud
Nextcloud là một bộ phần mềm máy khách-máy chủ để tạo và sử dụng các dịch vụ lưu trữ tệp. Nextcloud cung cấp chức năng tương tự như Dropbox, Office 365 hoặc Google Drive khi được sử dụng với bộ ứng dụng văn phòng tích hợp Collabora Online hoặc OnlyOffice. Nó có thể được lưu trữ trên đám mây hoặc tại chỗ.
Để cài đặt Nextcloud bạn có thể tham khảo tại đây. Hoặc xem video cài đặt Nextcloud bằng docker của chúng tôi.
5.2. OwnCloud
ownCloud là một sản phẩm phần mềm mã nguồn mở và miễn phí để cộng tác nội dung cũng như chia sẻ và đồng bộ hóa các tệp trong các tình huống doanh nghiệp được phân phối và liên kết.
Để cài đặt ownCloud Infinite Scale bạn tham khảo tại đây.
5.3. Syncthing
Syncthing là một chương trình đồng bộ hóa tập tin liên tục. Nó đồng bộ hóa các tập tin giữa hai hoặc nhiều máy tính trong thời gian thực, được bảo vệ an toàn khỏi những con mắt tò mò. Dữ liệu của bạn chỉ là dữ liệu của bạn và bạn có quyền chọn nơi lưu trữ dữ liệu đó, liệu dữ liệu đó có được chia sẻ với bên thứ ba nào đó hay không và cách dữ liệu đó được truyền qua internet.
Syncthing hoạt động không cần máy chủ tập trung, nó chia sẻ tệp trên mạng ngang hàng. Bạn có thể tham khảo cách cài đặt tại đây.
Để chia sẻ giữa bằng Syncthing giữa các máy không cùng mạng nội bộ, bạn cần cài đặt router của mình để đạt được tốc độ truyền tải tốt nhất bằng một trong hai cách sau:
- Kích hoạt UPnP
- Mở port 22000/TCP và 22000/UDP
One thought on “File server và các phương thức chuyển tập tin”