Kiểm tra VPN không giao diện: từng luồng một, kèm bằng chứng
Một hộp không giao diện cần một yêu cầu mà bạn đọc được câu trả lời. Hãy thử từng họ địa chỉ, ngữ cảnh và đích đến, rồi ghi lại những gì kết quả chưa bao phủ.
Trên một hộp không giao diện không có trình duyệt để mở và không có ổ khóa để nhìn, nên việc kiểm tra phải là một yêu cầu mà bạn đọc được câu trả lời. Điều đó nghe có vẻ tầm thường cho đến khi bạn nhận ra rằng một kết quả địa chỉ đầu ra duy nhất được dùng để chứng nhận một thiết bị chạy hàng chục dịch vụ, hai họ địa chỉ và một proxy. Phần trình bày dưới đây xây dựng từng mảnh bằng chứng giới hạn một, trong cùng ngữ cảnh mà khối lượng công việc thực sự chạy.
Quyết định bài kiểm tra phải chứng minh điều gì
Trước khi chạy bất cứ thứ gì, hãy viết kỳ vọng trong một dòng: luồng nào, qua giao diện nào, đến đích nào, và điều gì phải thấy ở đầu bên kia. Một bài kiểm tra không có kỳ vọng được nêu ra sẽ tạo ra một con số không ai giải thích được.
Phiên bản hữu ích nhất nêu tên một điểm cuối đã được phê duyệt báo cáo địa chỉ nguồn mà nó đã thấy.
Điểm cuối đó là phần duy nhất bạn phải chuẩn bị. Mọi thứ khác là quan sát phía máy khách, và các quan sát phía máy khách hỏng theo những cách thú vị.
Chạy quan sát trong đúng ngữ cảnh
Shell của quản trị viên không phải môi trường của khối lượng công việc. Nó có thể mang một biến proxy khác, một bảng định tuyến khác trong không gian tên khác, hoặc tệp môi trường của người dùng khác. Chạy bài kiểm tra trong cùng ngữ cảnh máy chủ, container, không gian tên hoặc dịch vụ như thứ bạn đang kiểm tra. Nếu không, bạn đang đo chính shell của mình.
Trên một máy chủ bình thường, điều đó có nghĩa là cùng người dùng và cùng đơn vị. Trong môi trường container, điều đó có nghĩa là vào không gian tên mạng của container thay vì kiểm tra từ máy chủ. Trên một dịch vụ systemd, điều đó có thể có nghĩa là một đơn vị tạm thời với cùng cài đặt.
Yêu cầu tiếp theo chỉ có ý nghĩa khi bạn ở đúng ngữ cảnh.
Kiểm tra riêng từng họ địa chỉ
Hỏi từng họ một cách rõ ràng, vì một yêu cầu IPv4 thành công hoàn toàn không luyện một đường IPv6. Các bộ chọn --ipv4 và --ipv6 buộc lựa chọn, và sự khác biệt giữa hai kết quả tự nó là thông tin.
curl --ipv4 https://probe.example/observed-source
curl --ipv6 https://probe.example/observed-sourceMột yêu cầu IPv6 thất bại không phải bằng chứng của việc chặn hiệu quả. Nó có thể có nghĩa là điểm cuối không có địa chỉ IPv6, DNS không trả về gì dùng được, hoặc thiết bị không có đường IPv6 nào. Hãy đọc lỗi trước khi kết luận. Một yêu cầu IPv6 thành công qua đường hầm là kết quả duy nhất chứng minh đường IPv6 đã được bao phủ.
Ghi lại cả hai câu trả lời cạnh nhau. Chỉ một trong số đó là nửa sự thật.
Thêm bốn điều mà kiểm tra đầu ra bỏ sót
Một địa chỉ đầu ra trả lời một câu hỏi. Bốn điều nữa quyết định liệu đường hầm có hành xử như thiết kế hay không.
| Check | What it proves | What it does not |
|---|---|---|
| Included and excluded destinations | The split behaves as designed for those flows | Coverage of any other destination |
| Resolver path | Where a fresh lookup actually travelled | Where a cached answer came from |
| Tunnel-down behaviour | The failure policy for a new request | What an already open connection does |
| Reconnect and restart | The requirement survives the lifecycle event | Behaviour under load or partial failure |
Chính sách đích đến đứng đầu: thử một luồng cần được đưa vào và một luồng cần bị loại trừ, khi thiết kế có sự phân chia. Sau đó là DNS, nơi bạn kiểm tra đường đi thực tế của bộ phân giải thay vì giá trị được cấu hình, vì một câu trả lời đã lưu trong bộ nhớ đệm hoặc một cài đặt được in ra không nói gì về nơi một truy vấn mới đã đi.
Hành vi khi lỗi cần một kế hoạch và một đường khôi phục được giữ lại. Quan sát một yêu cầu mới trong khi đường hầm không sẵn có, và nhớ rằng một kết nối cũ đang mở không phải bằng chứng về chính sách lỗi. Vòng đời đến cuối cùng: lặp lại quan sát sau khi kết nối lại hoặc khởi động lại dịch vụ nếu những sự kiện đó ảnh hưởng đến yêu cầu.
Ghi lại bằng chứng, không phải phán quyết
Với mỗi kết quả, giữ ngữ cảnh tiến trình, đích đến, họ địa chỉ, thời gian và nguồn quan sát được. Tập hợp đó là bằng chứng giới hạn về các luồng bạn đã luyện, và nó có thể bảo vệ được chính vì nó nói rõ nó đã bao phủ những gì.
Đây không phải một cuộc kiểm toán hồ sơ của nhà cung cấp VPN, và không phải chứng chỉ cho mọi ứng dụng tương lai trên thiết bị.
Viết các giới hạn bên cạnh kết quả. Một bài kiểm tra nêu rõ nó chưa bao phủ điều gì sẽ sống sót qua đánh giá, còn bài kiểm tra khẳng định thiết bị đã được xác minh thì không. Giữ sổ tay curl bên cạnh các bộ chọn họ địa chỉ bạn đã dùng, và giữ bảng bốn dòng cùng với kết quả.