Cách kiểm tra xem một vệ tinh Mesh Wi-Fi có dùng router VPN hay không
Theo dõi cổng mặc định, chế độ chuyển tiếp của nút và bảng trạng thái của router để chứng minh máy khách của một vệ tinh Mesh có đi qua VPN hay không.
Một vệ tinh trả lời cùng tên Wi-Fi với router gốc gần như không cho bạn biết gì về nơi các gói tin của máy khách đi tới. Nút này chỉ là một bộ phát sóng và một cầu nối cho tới khi có bằng chứng ngược lại. Thứ quyết định đường ra là cổng mặc định mà mỗi máy khách nhận được và chế độ chuyển tiếp của nút đứng trước nó. Hãy làm năm bước kiểm tra này từ máy khách ra ngoài, bạn sẽ có một câu trả lời bảo vệ được chứ không phải cảm giác từ một bài đo tốc độ.
Đọc cổng mà máy khách thực sự nhận được
Trên máy khách, in bảng định tuyến và bảng láng giềng. Tuyến mặc định nêu địa chỉ chuyển tiếp lưu lượng; mục láng giềng nêu MAC sở hữu địa chỉ đó. Hãy dùng máy khách chứ không dùng danh sách thiết bị của router, vì danh sách thiết bị cho thấy liên kết chứ không cho thấy đường đi.
ip route show default
ip -6 route show default
ip neigh showWindows in cùng những dữ kiện đó theo cách khác: ipconfig /all cho cổng mặc định và arp -a cho MAC. Trên macOS, route -n get default và arp -an bao quát cùng nội dung.
So cổng đó với hai địa chỉ bạn đã biết: địa chỉ LAN của router gốc và địa chỉ quản trị của vệ tinh. Nếu cổng là địa chỉ LAN của router thì máy khách được bắc cầu tới router và chính sách của router cho mạng đó áp dụng nguyên vẹn. Nếu cổng là địa chỉ của vệ tinh thì vệ tinh đang định tuyến, router không bao giờ thấy gói tin của máy khách như lưu lượng LAN, và quyết định phải nằm ở nút, nếu không thì nó không xảy ra.
Xác nhận nút đang thật sự ở chế độ nào
Các sản phẩm Mesh dùng lại ba từ cho những hành vi khác nhau, nên hãy tin đường đi của gói tin hơn là nhãn trong ứng dụng. Chế độ cầu nối hay điểm truy cập chuyển tiếp khung. Chế độ router kết thúc một mạng con và chạy DHCP. Chế độ khách thường đặt máy khách vào một VLAN riêng có luật riêng. Một nút ở chế độ router đứng sau router khác là NAT hai lớp, và máy khách của nó tới router VPN trong trạng thái đã bị dịch địa chỉ, điều này vô hiệu hóa chính sách dựa trên địa chỉ nguồn.
| What you see | What it means | Next check |
|---|---|---|
| Gateway is the router's LAN address, one MAC for every node | The node bridges; the router owns the policy | Router policy for that LAN and VLAN |
| Gateway is the node's address and DHCP comes from the node | The node routes; double NAT | Node's own VPN client, or a static route plus policy on the router |
| Gateway is a different subnet on a guest SSID | Guest VLAN, often client-isolated | Whether that VLAN is inside the tunnel policy |
| Gateway changes when you walk into another room | Roaming across segments | Repeat the check per node |
Để xác định MAC, hãy đọc nhãn trên nút và so với ip neigh. Nhà sản xuất in MAC gốc và suy ra MAC của từng bộ phát bằng cách tăng một byte, nên chữ số thập lục phân cuối khác nhau; hãy so phần đầu thay vì so cả địa chỉ. Nếu MAC của cổng thuộc giao diện LAN của router thì nút không định tuyến cho máy khách đó.
Chứng minh đường ra trên router, không phải bằng bài đo tốc độ
Trạng thái phía router là nơi duy nhất cho thấy việc dịch địa chỉ. Trên OpenWrt, hãy liệt kê các quy tắc chính sách và bảng định tuyến, rồi xác nhận đường hầm có bắt tay mới:
ip rule show
ip route show table all | grep default
wg showTrên pfSense hoặc OPNsense, cùng bằng chứng đó nằm ở pfctl -sr cho quy tắc, pfctl -ss cho trạng thái đang hoạt động và trang trạng thái WireGuard cho bộ đếm peer, theo tài liệu máy khách WireGuard. Lọc bảng trạng thái theo địa chỉ của máy khách. Nếu trạng thái cho thấy máy khách được dịch sang địa chỉ đường hầm thì lưu lượng nằm trong đường hầm; nếu cho thấy địa chỉ WAN thì không, bất kể huy hiệu trên bảng điều khiển nói gì.
Một lệnh traceroute từ máy khách thêm một dữ kiện mà bảng trạng thái không thể cho: chặng đầu tiên. Nếu chặng đầu là địa chỉ LAN của router thì máy khách tới router trực tiếp. Nếu đó là địa chỉ của nút và theo sau là một chặng riêng khác, bạn đang ở một phân đoạn có định tuyến, và chặng thứ hai chính là thiết bị phải giữ chính sách.
Kiểm tra nút còn phát gì ngoài địa chỉ
Các tùy chọn DHCP đi kèm bản thuê, nên một nút tự phục vụ DHCP cũng có thể phục vụ DNS riêng và thông báo router IPv6 riêng. Vì vậy máy khách có thể đi ra qua đường hầm mà vẫn gửi truy vấn tới trình phân giải trên nút, hoặc nhận một địa chỉ IPv6 toàn cầu mà chính sách đường hầm không bao giờ phủ tới. Hãy in cả hai trên máy khách:
cat /etc/resolv.conf
ip -6 addr show scope globalNếu trình phân giải là nút và nút chuyển tiếp tới router thì DNS đi theo đường hầm. Nếu nút phân giải cục bộ hoặc trỏ tới trình phân giải của nhà mạng thì các truy vấn ra ngoài đường hầm dù HTTP không làm vậy. IPv6 cũng đáng được kiểm tra như thế: một địa chỉ toàn cầu cộng với tuyến mặc định vòng qua đường hầm là rò rỉ, và phần mềm Mesh thường để IPv6 bật trong khi chính sách VPN chỉ phủ IPv4.
Cố ý cắt đường hầm, rồi ghi lại kết quả
Hạ đường hầm xuống và quan sát một máy khách gắn với nút đó, không phải máy khách ngồi cạnh router. ping và một curl với thời gian chờ ngắn là đủ; câu hỏi là lưu lượng dừng lại hay rơi về WAN. Dừng đường hầm bằng lệnh dịch vụ của chính router, ví dụ wg-quick down wg0 hoặc dừng dịch vụ OpenVPN, và giữ bài kiểm tra ngắn.
Nếu máy khách vẫn hoạt động thì nút hoặc router đang hỏng theo hướng mở cho phân đoạn đó, và mesh đã âm thầm gỡ bỏ công tắc ngắt. Đưa đường hầm trở lại, xác nhận bộ đếm bắt tay đã nhích, và lặp lại phần kiểm tra bảng trạng thái ở bước thứ ba.
Ghi một dòng cho mỗi nút: nhãn, SSID, địa chỉ cổng, tiền tố MAC, đường ra đã xác nhận hay chưa, IPv6 có được phủ hay không, và hành vi khi hạ đường hầm. Chuyển vùng là nơi câu trả lời thay đổi, nên hãy thử những căn phòng bạn thật sự đi qua. Khi một dòng không khớp với các dòng còn lại thì nút đó là đối tượng cần điều tra, và bản sửa thuộc về thiết bị đang giữ cổng của dòng ấy.