Loại trừ một tên máy chủ là việc mà đường hầm không thể làm. Tuy nhiên, một tuyến có thể đưa một địa chỉ duy nhất vòng qua đường hầm và ra ngoài qua cổng nhà, và thường thế là đủ cho một trang. Vấn đề là mọi thứ ở hạ nguồn của tuyến phải đồng ý: tường lửa phải cho gói đi ra, DNS phải trả lại địa chỉ bạn đã định tuyến, và trang phải tiếp tục dùng địa chỉ đó. Khi một trong ba thứ đó lệch đi, ngoại lệ ngừng hoạt động mà không thông báo gì.

Đọc địa chỉ đích trước khi chạm vào đường hầm

Tải trang một lần khi đường hầm đang bật, rồi xem địa chỉ ngang hàng mà trình duyệt thực sự đã kết nối. Trên Linux, ss -tunp liệt kê địa chỉ từ xa cho mỗi socket đang mở, và dig +short trên cùng tên đó cho biết trình phân giải đã trả lại gì. Giữ cả hai con số trước mắt.

Hai câu trả lời thường không khớp nhau, và chính sự khác biệt đó là toàn bộ vấn đề. Các trang lớn đặt mạng phân phối nội dung trước nguồn của họ, nên địa chỉ mà trình phân giải trả về bây giờ có thể không phải địa chỉ mà trình duyệt đã dùng một phút trước. Hãy định tuyến điều bạn quan sát được trên socket, không phải điều một hướng dẫn cũ liệt kê. Nếu các câu trả lời cứ xoay vòng giữa các vùng, ngoại lệ địa chỉ là công cụ sai cho trang cụ thể đó.

Chạy tra cứu lần thứ hai từ một mạng khác, và ghi lại câu trả lời IPv6 cùng với câu trả lời IPv4. Một đường hầm mang cả hai họ cần ngoại lệ ở cả hai, nếu không trình duyệt lặng lẽ quay về đường IPv6 mà bạn chưa từng chạm tới. Ghi các địa chỉ và ngày tháng ở nơi bạn sẽ xem lại.

Đặt một tuyến máy chủ trên máy khách

Giả sử giao diện tên là home-wg và bộ định tuyến LAN ở 192.168.1.1. NetworkManager nhận một tuyến có cổng là bộ định tuyến đó và độ dài tiền tố bao phủ toàn bộ 32 bit, và nhân hệ điều hành ưu tiên nó vì tiền tố dài nhất thắng.

nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20

Cổng phải đến được mà không cần đường hầm; trỏ bước nhảy tiếp theo vào địa chỉ đường hầm làm hỏng mục đích, vì gói sẽ quay lại vào giao diện mà bạn đang cố tránh. Sau khi kết nối lên lại, ip route get đối với ngoại lệ lệnh này sẽ in ra cổng LAN, và cùng lệnh đó với một trình phân giải công cộng vẫn sẽ in ra thiết bị đường hầm.

Hồ sơ wg-quick không có trường tuyến, nên ngoại lệ đó nằm trong một dòng PostUp thêm tuyến máy chủ vào bảng chính với giao diện LAN làm thiết bị của nó. Hạ rồi nâng lại giao diện sau khi sửa, vì giao diện đang chạy không bao giờ đọc lại tệp của nó. Các quy tắc fwmark mà wg-quick cài đặt chỉ dẫn các gói được đóng gói của chính nó, nên lưu lượng trình duyệt thông thường vẫn đi theo bảng chính và tìm thấy /32 của bạn.

Công tắc tiêu diệt là thứ tiếp theo chặn nó

Một chính sách tường lửa chỉ cho phép lưu lượng trên giao diện đường hầm sẽ bỏ ngoại lệ ngay cả khi tuyến hoàn toàn đúng. Hãy đọc các quy tắc phía sau công tắc thay vì tin vào công tắc, vì những quy tắc triển khai kill switch thường bị giới hạn theo tên giao diện.

Điều bạn muốn là một sự cho phép hẹp cho giao diện vật lý và đúng một đích đó, đặt trước chỗ bỏ, trong khi chính sách mặc định vẫn không bị chạm tới. Tạm dừng toàn bộ kill switch chứng minh luận điểm, nhưng cũng để máy hở trong suốt thời gian bạn quên bật lại.

Kiểm tra hai hướng riêng biệt. Yêu cầu tới địa chỉ ngoại lệ phải thành công trong khi yêu cầu tới một trang không liên quan vẫn đi ra qua đường hầm. Nếu cả hai đều thành công nhưng cái thứ hai báo địa chỉ nhà, thì thứ tự các quy tắc tường lửa sai, không phải tuyến.

DNS quyết định địa chỉ mà trình duyệt gọi tới

Khi tên được phân giải bên trong đường hầm, trình phân giải của nhà cung cấp có thể trả lời bằng địa chỉ khác với địa chỉ của trình phân giải cục bộ. Tuyến của bạn khi đó áp dụng cho một địa chỉ mà trình duyệt không bao giờ liên hệ, và trang tải qua đường hầm như thể không có gì thay đổi. Sự cố này trông như một ngoại lệ hỏng dù bảng định tuyến vẫn đúng.

Gửi cả các truy vấn của tên đó qua trình phân giải cục bộ, hoặc bỏ qua tên hoàn toàn và kiểm tra địa chỉ trực tiếp. Tách địa chỉ trong khi để DNS ở trong đường hầm là phiên bản nửa vời phổ biến nhất của thiết lập này, và cũng khó nhận ra nhất, vì trang vẫn hoạt động, chỉ là không như bạn định.

Cùng ngoại lệ đó trên bộ định tuyến, một lần, cho mọi thiết bị

Khi đường hầm chạy trên bộ định tuyến, tuyến máy chủ thuộc bảng định tuyến theo chính sách của bộ định tuyến và trỏ tới cổng WAN thay vì cổng LAN. Mọi thiết bị phía sau thừa hưởng ngoại lệ, điều này quan trọng với một hộp phát trực tuyến hoặc laptop làm việc mà bạn không thể đổi cài đặt mạng.

Để đường hầm làm lối ra mặc định cho mọi máy khách khác, rồi xác minh từ một máy khách thay vì từ bảng điều khiển của bộ định tuyến. Tải trang ngoại lệ và một trang thứ hai trong cùng phiên trình duyệt và so sánh địa chỉ lối ra; nếu trang thứ hai vẫn hiện đường hầm, bảng chính sách đang làm đúng điều bạn yêu cầu.

Ghi lại địa chỉ, ngày tháng và lý do trong ghi chú của bộ định tuyến. Một ngoại lệ dựng quanh một địa chỉ sau này di chuyển sẽ thành lỗi không ai giải thích được sau một năm, và cách sửa luôn trông như một bí ẩn cho tới khi có người tìm thấy ghi chú cũ.

Bài viết liên quan