Hai ứng dụng VPN, một bảng định tuyến: ai thắng tuyến mặc định
Hai ứng dụng VPN hiếm khi đụng nhau trực tiếp; chúng ghi đè cùng một tuyến mặc định. Hãy kiểm tra đường đi đã chọn, rồi ngăn một ứng dụng chiếm mọi đích đến.
Có vẻ như hai ứng dụng VPN đang tranh nhau cùng một socket, và cách sửa hiển nhiên phải là gỡ cài đặt một cái. Trên thực tế chúng hiếm khi chạm vào cùng một socket. Mỗi lần kết nối ghi lại bảng định tuyến của hệ điều hành, và một hồ sơ tunnel đầy đủ chiếm tuyến mặc định. Bên kết nối sau thường thắng, đó là lý do triệu chứng có vẻ di chuyển giữa các ứng dụng.
Xung đột nằm trong bảng định tuyến
Một bộ điều hợp ảo cộng với một tuyến mặc định là cách một tunnel đầy đủ bắt lưu lượng. Khi ứng dụng thứ hai cài tuyến mặc định của riêng nó, mục cũ bị thay thế hoặc bị hạ bởi metric, và mọi đích đến giờ đi qua tunnel mới hơn. Ứng dụng thứ nhất vẫn kết nối và vẫn hiện biểu tượng xanh, nghĩa là giao diện còn hoạt động trong khi đường đi đã mất. Chính sự tách biệt giữa trạng thái kết nối và trạng thái định tuyến khiến hành vi khó hiểu.
Các ứng dụng là người biên tập của một bảng dùng chung. Biết thay đổi nào xảy ra sau cùng giải thích gần như mọi triệu chứng.
Đọc xem tunnel nào sở hữu đường đi hiện tại
Hãy kiểm tra quyết định thực tế thay vì tin ứng dụng báo đã kết nối. Hỏi hệ thống xem giao diện nào sẽ chở một đích đến cụ thể.
ip route get 10.20.0.5
route print -4Lệnh đầu tiên nêu tên giao diện và địa chỉ nguồn cho một đích đến, và đó chính là câu hỏi bạn quan tâm. Bản kết xuất tuyến hiển thị trên Windows các mục mặc định đang cạnh tranh và metric của chúng, nên bạn thấy mục nào đang thắng. Hãy chạy tra cứu cho một máy chủ trong từng mạng từ xa, vì một đích có thể đúng trong khi mạng kia không thể tới. Nếu câu trả lời nêu sai tunnel, kết nối lại sẽ không giúp; chính sách định tuyến phải thay đổi.
Ngăn ứng dụng thứ hai chiếm mọi thứ
Một ứng dụng nên sở hữu tuyến mặc định, và cái kia chỉ nên mang tiền tố của riêng nó. OpenVPN các ứng dụng có thể từ chối những gì máy chủ đẩy xuống.
pull-filter ignore "redirect-gateway"
ip route get 10.30.4.10route-nopull bỏ qua mọi tuyến bị đẩy xuống, trong khi pull-filter ignore "redirect-gateway" chỉ bỏ chỉ thị tuyến mặc định và giữ DNS cùng các tùy chọn khác bị đẩy xuống. Chọn giữa hai cách tùy theo bạn còn muốn bao nhiêu phần cấu hình máy chủ, rồi thêm các tiền tố cụ thể mà mạng thứ hai cần. Hãy nhớ DNS, vì một bộ phân giải do tunnel không chở truy vấn đẩy xuống sẽ không trả về gì. Thử một máy chủ đã biết trong từng mạng và xác nhận địa chỉ nguồn mà phía xa thấy.
Các mạng con chồng lấn không thể lách được
Khi cả hai mạng công bố cùng một tiền tố, nhân hệ điều hành giữ một mục cho hai nơi khác nhau và buộc phải chọn. Tuyến máy chủ không thể tạo ra sự phân biệt còn thiếu, và việc chỉnh metric cũng vậy. Hãy đánh số lại một bên, hoặc để quản trị viên bên đó dịch dải từ xa để các tiền tố khác nhau. Kiểm tra các mạng con thật trước khi đổ lỗi cho ứng dụng, vì giá trị mặc định 192.168.1.0/24 của router gia đình đụng dải văn phòng thường xuyên hơn mọi người tưởng. Ghi cả hai dải vào phiếu để thay đổi tiếp theo không tạo lại sự chồng lấn.
Cũng hãy tách hai mục tiêu: tới được cả hai mạng là bài toán định tuyến, còn nối chuỗi tunnel vì quyền riêng tư là thiết kế khác với thêm một nhà vận hành trên đường đi. Đừng dùng cái này để giải quyết cái kia.