Hãy tưởng tượng bạn gặp trường hợp này, các thiết bị PI bạn đang để ở VP để phát triển, tuy nhiên về nhà bạn bỗng nhiên nghĩ ra một ý tưởng mới vào muốn ssh vào Pi để thử triển khai code. Nhưng máy tính VP đã tắt, Pi thì vẫn bật nhưng không thể nào ssh vào vì mạng VP không có VPN, không lẽ lại chạy đến VP làm việc luôn, đang ngày nghỉ VP cũng đâu mở cửa !?! Chắc các bạn cũng đã gặp nhiều trường hợp tương tự như vậy, muốn kết nối với các thiết bị Pi đang mở tại một mạng bên trong, mà không thể truy cập từ xa. ZeroTier chính là giải pháp cho công việc đó.
ZeroTier cũng là một mạng riêng áo (VPN) tuy nhiên khác chút là nó hoạt động trên hầu hết các thiết bị, từ máy tính Windows, Linux cho đến điện thoại Android, Apple, hay kể các các thiết bị NAS phổ biến. ZeroTier là phần mềm mã nguồn mở, có phiên bản miễn phí hỗ trợ cộng đồng và cũng có phiên bản thương mại, các bạn tìm hiểu thêm tại https://www.zerotier.com
Giờ chúng ta sẽ tập trung vào việc cài đặt. Giả sử bạn có 1c Orange Pi Zero tại Văn phòng, và bạn muốn remote ssh vào nó tại nhà. Mạng Văn phòng không mở cổng SSH và đương nhiên nếu có mở bạn cũng phải routing nó qua router rồi NAT các kiểu rất phức tạp. Vậy thì hãy cài ZeroTier trên Orange Pi Zero trước.
Đăng nhập vào Orange Pi Zero, sử dụng account root. Sử dụng câu lệnh này
curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi
Nếu không có lỗi gì xảy ra, bạn sẽ cài được zerotier-one thành công. Sẽ có thông báo như sau
*** Success! You are ZeroTier address [ 39da7exxxx ].
(xxxx là 4 kí tự tôi đã thay đổi)
Bạn có thể kiểm tra xem service zerotier-one đã chạy chưa bằng lệnh
systemctl status zerotier-one
Rồi tạo 1 tài khoản trên Zero Central https://my.zerotier.com, đăng nhập vào sau đó tạo một Mạng (Create A Network). Lúc đó bạn sẽ có một mạng riêng có ID và tên tương tự như bên dưới, hãy copy id đó lại và quay lại với Orange Pi Zero.
Lúc này, có 2 cách để thêm Orange Pi Zero vào trong mạng vừa tạo. Cách thứ nhất, tìm dòng có chữ “Manually Add Member” sau đó điền address mà bạn có ở trên vào (trên ví dụ là 39da7exxxx)
. Cách thứ 2, chạy lệnh zerotier-cli join ####
trên Pi và điền mã network của bạn vào vào phần #### đó (mã thường có 16 kí tự). Sau khi trên Pi báo 200 join OK
thì quay lại Zero Central và đợi cho thiết bị Pi hiện lên trong phần Member, sau đó tick vào ô Auth để cho phép thiết bị tham gia vào mạng.
Cuối cùng, bạn chỉ cần cài nốt ZeroTier trên máy tính tại nhà, join network bằng cách điền mã network 16 kí tự đã có, sau đó là có thể SSH vào PI thông qua địa chỉ trên mạng ZeroTier. CÁch tìm địa chỉ mạng riêng cũng rất dễ, một là bạn sẽ thấy trên Pi sẽ có 1 IP mới khác với các IP trên network cũ mà bạn đang có, hoặc ngay trên ZeroCentral cũng sẽ cung cấp cho bạn các dải IP v4 để tùy chọn, sau đó xem chúng ở danh sách các member.
Bạn có thể tạo nhiều mạng riêng cùng trong Zero Central đã có của bạn cho nhiều văn phòng khác nhau, bạn cũng có thể đặt tên gợi nhớ cho các thiết bị khác nhau, thay đổi dải IP v4, thêm IP hoặc mời thêm đồng nghiệp cùng tham gia vào mạng riêng Zero này. Khi đã kết nối vào mạng riêng này, với IP nội bộ kia hầu hết các cổng đều được mở từ SSH đến FTP hay cổng qua giao thức HTTP của Influx hay Grafana đều dễ dàng có thể truy cập từ máy tính khác công cùng mạng.
Ngoài ra ZeroTier còn có rất nhiều chức năng khác, hay tự mình tìm hiểu thêm