Hai mã định danh xuất hiện trong mọi cuộc trò chuyện về ZeroTier, và chúng trông giống nhau đủ để bị nhầm trong cửa sổ chat. ID nút đặt tên cho một thiết bị. ID mạng đặt tên cho mạng ảo mà thiết bị đó muốn tham gia. Tham gia dùng cái thứ hai, và cấp quyền cho thành viên dùng cái thứ nhất.

Hai mã định danh, hai việc

Danh tính nút được tạo khi dịch vụ chạy lần đầu trên một máy, và đó là địa chỉ thập lục phân mười ký tự. Nó gắn với bản cài đặt đó cho đến khi các tệp danh tính bị xóa, vì thế cài lại có thể tạo ra một thành viên mới mà không ai phê duyệt. ID mạng gồm mười sáu ký tự thập lục phân, và nó xác định một mạng ảo chứ không phải một máy. Bộ điều khiển sở hữu mạng cũng chính là một nút, vì thế mười ký tự đầu của ID mạng khớp với địa chỉ của bộ điều khiển.

Không giá trị nào là bí mật và không giá trị nào thay thế giá trị kia. Chia sẻ ID mạng với mọi người tham gia là bình thường; chia sẻ ID nút là chỉ ra một thiết bị cho bộ điều khiển.

Đọc từng giá trị từ lệnh báo cáo nó

Một lệnh báo cáo danh tính của dịch vụ cục bộ, và một lệnh khác báo cáo các mạng nó đã tham gia. Hỏi sai lệnh để lấy một giá trị là cách người ta cuối cùng dán ID mạng vào danh sách thành viên.

zerotier-cli info
zerotier-cli status
zerotier-cli listnetworks

Lệnh đầu in địa chỉ nút và việc dịch vụ có trực tuyến hay không. Lệnh thứ hai thêm thông tin phiên bản và cổng. Lệnh thứ ba liệt kê các mạng đã tham gia với ID, trạng thái và địa chỉ được cấp, và đây là lệnh duy nhất nên dùng khi bạn cần ID mạng.

Tham gia bằng mạng, cấp quyền bằng nút

Lệnh tham gia nhận ID mạng do người điều hành bộ điều khiển cung cấp. Phản hồi tích cực từ lệnh nghĩa là yêu cầu đã được gửi, không phải là tư cách thành viên trên mạng riêng đã được cấp.

Sau khi tham gia, quản trị viên cấp quyền cho thiết bị theo ID nút của nó trong danh sách thành viên của mạng đó. Họ không cần ID mạng nữa, và không thể cấp quyền cho thiết bị theo tên máy chủ, vì danh tính chính là địa chỉ. Nếu bạn là quản trị viên, hãy đọc danh sách thành viên và đối chiếu địa chỉ nút với yêu cầu. Một yêu cầu nêu tên mạng nhưng không có địa chỉ nút thì không thể thực hiện.

Tiền tố chung có lý do

Vì ID mạng bắt đầu bằng địa chỉ nút của bộ điều khiển, mười ký tự đó xuất hiện ở cả hai chỗ. Đó là sự thuận tiện cho định tuyến, không phải dấu hiệu rằng hai giá trị có thể hoán đổi cho nhau.

Điều này cũng giải thích vì sao danh tính của bộ điều khiển quan trọng hơn tên hiển thị của nó. Khôi phục bộ điều khiển dưới một danh tính mới tạo ra không gian địa chỉ khác, nên các mạng được định nghĩa dưới danh tính cũ không phải là cùng những mạng đó dù tên có được dùng lại.

Hãy giữ danh tính của bộ điều khiển trong bản sao lưu cùng với cấu hình của nó. Coi danh tính đó như một nhãn có thể tạo lại sẽ biến việc khôi phục thành thiết kế lại.

Kiểm chứng kết quả, không phải đầu ra của lệnh

Một lần tham gia thành công là khởi đầu của việc kiểm tra, không phải kết thúc. Sau đó hãy xem mục mạng và đọc ba trường: trạng thái, địa chỉ được cấp và ID mạng.

zerotier-cli listnetworks -j
ip -br addr show | grep zt
ping -c 2 10.147.20.5

Lệnh đầu in cùng danh sách ở dạng phân tích được, giúp so sánh với điều quản trị viên mong đợi dễ hơn. Lệnh thứ hai xác nhận giao diện đã nhận địa chỉ, và lệnh thứ ba kiểm tra một đối tác trên mạng thay vì trạng thái cục bộ.

Nếu mục ghi ACCESS_DENIED, ID nút chưa được cấp quyền. Nếu ghi NOT_FOUND, ID mạng sai. Nếu ghi OK mà không có địa chỉ, câu hỏi tiếp theo là việc cấp địa chỉ của bộ điều khiển, và không điều nào trong ba điều đó được giải quyết bằng cách tham gia lại.

Bài viết liên quan