Chạy hai ứng dụng VPN cùng lúc là một cuộc tranh luận định tuyến, không phải thiết lập quyền riêng tư. Đường hầm nào sở hữu tuyến cụ thể hơn sẽ nhận lưu lượng, còn bên kia vẫn kết nối nhưng ngồi không. Cổng doanh nghiệp khi đó thấy một kết nối đến từ lối ra cá nhân, trong khi ứng dụng doanh nghiệp trên máy bạn vẫn thấy mọi bộ điều hợp. Quyết định xem sự thật nào trong hai sự thật này mới quan trọng chính là toàn bộ bài tập.

Bảng tuyến chọn một người thắng duy nhất

Chụp bảng trước và sau khi ứng dụng doanh nghiệp khởi động, và đọc cột giao diện thay vì chỉ đích đến. Một tuyến mặc định đơn giản từ đường hầm ngoài dễ bị đẩy ra, vì cặp /1 cụ thể hơn /0. Cặp nguyên văn 0.0.0.0/1 và 128.0.0.0/1 bao phủ toàn bộ không gian IPv4 trong hai nửa và thắng mọi tuyến mặc định đơn lẻ. Sau khi được cài, đường hầm ngoài vẫn hiển thị đã kết nối và không chở gì cả.

ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'

Định tuyến theo chính sách có thể bỏ qua hoàn toàn bảng chính, nên hãy đọc cả quy tắc lẫn tuyến. Một quy tắc gửi lưu lượng được đánh dấu sang bảng khác sẽ thắng trước khi bảng chính được xem xét. Nhờ đó một ứng dụng có thể ở lại liên kết vật lý trong khi mọi thứ khác dùng đường hầm.

ip rule show

Windows quyết định bằng chỉ số

Trên Windows, người thắng là tuyến có chỉ số thấp nhất cho đích đến, và hai ứng dụng đều có thể cài tuyến mặc định với chỉ số khác nhau. Đọc bảng và cấu hình giao diện cùng nhau, vì bộ điều hợp có chỉ số thấp hơn không phải lúc nào cũng là cái bạn mong đợi. Một ứng dụng cũng đặt chỉ số giao diện có thể dịch chuyển tuyến mặc định mà không thêm một tuyến nào. Bộ điều hợp thua vẫn bật và đơn giản là không nhận gì.

route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGateway

So sánh hai đầu ra và gọi tên giao diện sở hữu 0.0.0.0/0. Nếu cả hai ứng dụng cùng đòi nó, chỉ số quyết định, đó là lý do bài kiểm tra thứ tự kết nối có thể trông không nhất quán giữa các máy. Nếu không đầu ra nào cho thấy cổng mặc định, ứng dụng không chạy ở chế độ đường hầm đầy đủ và lập luận chuỗi trở nên vô nghĩa.

Hai quan sát viên, hai góc nhìn khác nhau

Cổng từ xa thấy một kết nối đến từ lối ra ngoài cùng với mọi thứ ứng dụng chuyển tiếp vào đường hầm của nó. Ứng dụng cục bộ thấy bộ điều hợp, tuyến và sự tồn tại của đường hầm khác, vì nó chạy với quyền tạo ra chúng. Tách các góc nhìn đó chính là điểm mấu chốt; còn nói rằng ứng dụng không thể nhận ra thì không phải.

Giả sử ứng dụng có thể liệt kê bất cứ thứ gì nó muốn, và thay vào đó hãy lập kế hoạch cho góc nhìn của cổng. Một thiết kế phụ thuộc vào việc ứng dụng vẫn mù chỉ cách hỏng một bản cập nhật.

DNS và IPv6 là nơi chuỗi rò rỉ

DNS đi theo cài đặt bộ phân giải nào thắng, và đó không nhất thiết là đường các gói tin đi. Một bộ phân giải doanh nghiệp tiếp cận qua đường hầm doanh nghiệp là nhất quán với thiết kế; một bộ phân giải cục bộ tiếp cận bên ngoài thì không, và nó phơi bày những tên mà đường hầm lẽ ra phải che. IPv6 là rò rỉ thứ hai: một máy chủ hai ngăn xếp tiếp tục dùng IPv6 tới những đích mà đường hầm chỉ chở qua IPv4. Kiểm tra từng họ riêng, vì đường hầm chỉ IPv4 không nói gì về tuyến hay bộ phân giải IPv6.

ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'

Hãy sửa bộ phân giải và tuyến IPv6 một cách có chủ đích thay vì chồng thêm đường hầm thứ hai lên trên. Đóng gói kép cũng tốn MTU, nên MTU bên trong nhỏ hơn là thứ đầu tiên nên thử khi trang bị treo sau khi chuỗi được dựng. Một bộ phân giải trả lời nhanh không phải bằng chứng rằng nó là bộ phân giải đúng.

Bài viết liên quan