Chuyên mục
Network

Thiết lập kết nối đến máy chủ Samba trên Linux

Trước đây mình cài đặt Plex Media Server trên PC chạy Windows 10 để stream phim đến TV đặt trong phòng khách. Còn hiện tại mình đang nghiên cứu cài đặt Plex trên máy ảo Linux của Proxmox.

Tuy nhiên, ổ cứng HDD 4TB chứa phim vẫn nằm trong PC, không thể gắn qua con Dell 7040M đang cài đặt Proxmox do nó không hỗ trợ ổ cứng 3.5inch. Do đó, mình phải tìm cách thiết lập kết nối từ máy ảo Linux đang cài Plex đến thư mục chứa phim trên Windows 10. Rồi sau đó mới cấu hình thư viện phim trên Plex được.

Tính năng Sharing (chia sẻ file) trên Windows hoạt động dựa trên giao thức SMB / CIFS. Mình sẽ thiết lập kết nối đến máy chủ Samba trên Linux là có thể truy cập được thư mục chứa phim trên Windows 10.

Máy chủ Samba là một máy chủ chia sẻ tập tin được dùng trong mạng nội bộ, dựa trên giao thức SMB (Server Message Block). Giao thức SMB còn được biết đến với cái tên CIFS (Common Internet File Sharing) khi được Microsoft thừa hưởng và tích hợp trên hệ điều hành Windows.

1. Thiết lập Sharing trên Server

Mình cần phải thiết lập Sharing cho thư mục Entertainment trên Windows bằng cách bấm chuột phải vào thư mục -> chọn Properties -> Sharing -> Bấm vào nút Share để kích hoạt tính năng chia sẻ cho thư mục.

2. Xem danh sách chia sẻ trên Samba server

Cài đặt samba client trên Linux

sudo apt install smbclient

Liệt kê danh sách các thư mục được chia sẻ trên Samba server

smbclient -L //192.168.0.100

Thay thế 192.168.0.100 bằng địa chỉ IP của Server bạn đang cần kết nối.

Hệ thống sẽ yêu cầu bạn nhập mật khẩu để kết nối như dưới đây

root@ubuntu:~ # smbclient -L //192.168.0.100
Enter WORKGROUProot's password:

Tuy nhiên, ubuntu lại mặc định kết nối bằng username root, vốn không tồn tại trên Windows. Mình phải sửa lại câu lệnh và thêm vào hậu tố --user=USERNAME

smbclient -L //192.168.0.100 --user=blntech

Nhập vào mật khẩu của tài khoản blntech trên Windows 10, mình nhận được danh sách chia sẻ như dưới đây

root@ubuntu:~# smbclient -L //192.168.0.100 --user=blntech Enter blntech's password: Sharename Type Comment --------- ---- -------  ADMIN$ Disk Remote Admin  C$ Disk Default share  D$ Disk Default share  E$ Disk Default share Entertainment Disk  F$ Disk Default share  IPC$ IPC Remote IPC Linux-Distros Disk

Ghi lại tên của thư mục chia sẻ bạn cần kết nối. Chẳng hạn ở đây mình cần kết nối đến thư mục Entertaiment

3. Kết nối Samba Share vào thư mục

Cài đặt package cifs-utils:

sudo apt install cifs-utils

Tạo thư mục mới trên Ubuntu và kết nối thư mục share vào đó

sudo mkdir /mnt/Entertainment
sudo mount -t cifs -o username=blntech //192.168.0.100/Entertainment /mnt/"utf-8">Entertainment/

Chú ý bạn cần thay đổi lại thông số username, địa chỉ IP và tên Samba Share cho phù hợp.

Kiểm tra lại bằng lệnh lsdf -h sẽ thấy thư mục Entertainment trên Windows 10 đã được kết nối thành công vào thư mục /mnt/Entertainment trên Ubuntu.

4. Tự động kết nối Samba Share khi khởi động

Cách kết nối ở bước trên sẽ bị mất mỗi khi Ubuntu khởi động lại. Để duy trì kết nối cố định đến Samba Share, chúng ta cần phải chỉnh sửa lại file fstab

sudo vi /etc/fstab

Place the following line at or near the bottom of the file:

//<ip-address>/<mount-name> /mnt/Entertainment/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777

(nhớ thay đổi lại thông số cho phù hợp với thiết lập của bạn)

Khởi động lại Ubuntu, và kiểm tra lại bằng lệnh df -h, bạn sẽ thấy thư mục samba share đã được tự động kết nối vào thư mục trên hệ thống.

Sau khi thiết lập xong, mình đã có thể truy cập vào Plex và thiết lập thư mục phim trong thư mục /mnt/Entertainment/Movies