Tuy nhiên, ở đây tồn tại một nhược điểm lớn - bảng tỷ số bóng đá
headscale
trong hai bài viết đầu tiên về trải nghiệm ban đầu và thêm nút chủ yếu đã giới thiệu cách xây dựng và sử dụng. Tuy nhiên, ở đây tồn tại một nhược điểm lớn. Ví dụ, nếu tôi muốn kết nối mạng giữa hai địa điểm khác nhau, nhưng mỗi địa điểm có nhiều hơn một máy tính, thì để kết nối chúng lại với nhau, ta cần đưa tất cả các thiết bị này vào mạng cục bộ ảo mà headscale
tạo ra. Mỗi thiết bị sẽ nhận được một địa chỉ IP của mạng ảo này, thay thế cho địa chỉ IP gốc vốn dễ nhớ hơn. Vậy làm sao để không phải gặp phiền phức này? Tất nhiên là có thể, đó chính là nhờ chức năng định tuyến (routing) của headscale
.
Trước kia, giả sử chúng ta có hai thiết bị tại hai địa điểm khác nhau, thông qua headscale, tôi đã thêm cả hai nút này vào hệ thống. Nút A có địa chỉ IP là 10.0.0.1
, còn nút B là 10.0.0.2
. Trong tình trạng trước đây, nút A chỉ có thể kết nối đến nút B thông qua địa chỉ 10.0.0.2
. Nếu nút A muốn kết nối đến các thiết bị khác trong mạng nội bộ nơi nút B đang hoạt động, chúng ta có thể kích hoạt chức năng chuyển tiếp gói tin (forwarding) trên client của nút B. Khi đó, nút B sẽ đóng vai trò như một thiết bị định tuyến, cho phép truy cập trực tiếp vào mạng nội bộ của nó mà không cần sử dụng dải địa chỉ 10.0.0.x
. Ví dụ, bạn có thể truy cập vào địa chỉ 192.168.2.10
thuộc mạng nội bộ của nút B.
Cụ thể, để thực hiện điều này, bạn cần khởi chạy client bằng dòng lệnh và sử dụng tùy chọn --advertise-routes
để chỉ định đoạn mạng cần chuyển tiếp:
1tailscale up --advertise-routes=192.168.xx.0/24 --accept-dns=false --login-server=<địa chỉ_headscale> --unattended
Trong đó, 192.168.xx.0
là đoạn mạng của mạng nội bộ nơi nút B đang hoạt động, và <địa chỉ_headscale>
là địa chỉ IP và cổng của dịch vụ headscale mà client sẽ sử dụng.
Một điều kiện quan trọng nữa là bạn cần bật chức năng chuyển tiếp gói tin trên hệ thống. Đối với Windows, tính năng này thường được kích hoạt mặc định, nhưng trên Linux, bạn cần cấu hình thủ công:
1$ echo 'net.ipv4.ip_forward = 1' | tee /etc/sysctl.d/ipforwarding.conf
2$ echo 'net.ipv6.conf.all.forwarding = 1' | tee -a /etc/sysctl.d/ipforwarding.conf
3$ sysctl -p /etc/sysctl.d/ipforwarding.conf
Sau khi hoàn thành bước trên, chúng ta tiến hành bước thứ hai: kích hoạt cấu hình định tuyến trên máy chủ headscale
. Trước tiên, bạn có bảng tỷ số bóng đá thể kiểm tra danh sách các v9bet999 đường dẫn hiện có bằng lệnh sudo headscale routes
. Để kích hoạt một đường dẫn cụ thể, hãy dùng lệnh sau:
1sudo headscale routes enable -r 1
Lưu ý rằng tùy thuộc vào phiên bản của bạn, cú pháp lệnh có thể thay đổi. Một số tài liệu trên mạng sử dụng tùy chọn -i
để chỉ định ID của đường dẫn, nhưng trong ví dụ này, tôi sử dụng -r
để chỉ định ID của đường dẫn cần kích hoạt.
Với những bước này, bạn đã có thể tận dụng tối đa khả năng định tuyến của headscale
, giúp việc quản lý mạng trở nên linh hoạt và tiện lợi hơn rất nhiều.