Máy chủ web biến mất khi máy khách VPN kết nối
Các yêu cầu đến trên LAN và các câu trả lời đi ra qua đường hầm. Chọn tuyến bị loại trừ, định tuyến theo chính sách hoặc dịch địa chỉ tùy theo việc máy chủ phải làm.
Một dịch vụ biến mất ngay khi máy khách VPN kết nối thường không bị chặn, mà nó trả lời qua giao diện sai. Yêu cầu đến trên card mạng vật lý, tiến trình nền ghi một câu trả lời, và bảng định tuyến giao câu trả lời đó cho đường hầm, vì đường hầm đã chiếm tuyến mặc định. Máy khách từ xa không bao giờ thấy câu trả lời cho kết nối mà nó đã mở, nên nó chờ rồi báo hết thời gian. Không có quy tắc tường lửa nào tham gia ở bất kỳ đâu trong chuỗi đó.
Triệu chứng: yêu cầu vào, câu trả lời ra qua cửa sai
Dấu hiệu là một kết nối đến bị lỗi trong khi mọi thứ khác trên máy chủ vẫn hoạt động. Một dấu hiệu khác là máy chủ truy cập được từ LAN nhưng không từ internet, hoặc máy chủ hoạt động cho đến khi đường hầm kết nối lại rồi dừng. Trong mọi trường hợp chiều đi hoạt động tốt còn chiều về thì không, điều này chỉ ra sự bất đối xứng định tuyến chứ không phải chính sách.
Hãy xác nhận bằng cách quan sát câu trả lời đi đâu, không phải bằng cách quan sát yêu cầu đến thế nào.
Bắt gói đồng thời trên giao diện vật lý và trên thiết bị đường hầm. Nếu yêu cầu xuất hiện trên giao diện vật lý và câu trả lời xuất hiện trên đường hầm thì chẩn đoán đã xong. Một câu trả lời không xuất hiện ở đâu cả nghĩa là dịch vụ chưa bao giờ chấp nhận kết nối, đó là một cuộc điều tra riêng với nguyên nhân riêng.
Hai tuyến mặc định và một quyết định định tuyến
Máy khách cài một tuyến mặc định sẽ thêm mục thứ hai có metric tốt hơn cổng LAN. Một số máy khách thay vào đó cài hai tuyến nửa phạm vi, bao phủ cùng không gian cụ thể hơn và thắng việc tra cứu theo cùng cách. Cả hai kỹ thuật đều để các gói đi ra thông thường chọn giao diện đường hầm.
Lựa chọn đó chỉ dựa trên đích đến. Nhân hệ điều hành không hỏi gói tin đến từ đâu trừ khi một quy tắc chính sách bảo nó làm vậy. Vì thế câu trả lời cho một địa chỉ công cộng của máy khách được giao cho đường hầm, mà đầu xa nhận một gói có địa chỉ nguồn không thuộc về nó và loại bỏ gói đó hoặc chuyển tiếp đến một nơi vô ích. Trên Linux, lọc đường đi ngược nghiêm ngặt cũng có thể loại bỏ yêu cầu gốc trước khi dịch vụ của bạn nhìn thấy nó, điều này từ bên ngoài trông giống hệt. Cả hai triệu chứng đều đến từ cùng một mối liên hệ thiếu giữa luồng vào và câu trả lời của nó.
Đường hầm cư xử đúng trong suốt quá trình. Nó được bảo phải mang tuyến mặc định và nó làm đúng như vậy.
Sửa đường về mà không làm hỏng đường hầm
Có ba hình thức sửa chữa bền vững, và lựa chọn phụ thuộc vào việc bao nhiêu lưu lượng của chính máy chủ nên ở lại trong đường hầm. Loại trừ đích hoặc cổng của dịch vụ là thay đổi nhỏ nhất. Định tuyến theo chính sách dựa trên nguồn hoặc dấu là chính xác nhất. Dịch địa chỉ nguồn là thô nhất và dễ giải thích nhất sau hai năm.
Chọn theo việc máy chủ phải làm, không phải theo đoạn mã bạn tìm thấy trước.
Loại trừ một đích phù hợp với dịch vụ có địa chỉ công cộng ổn định, và việc gắn tiến trình nền vào địa chỉ vật lý thay vì mọi địa chỉ làm cho việc loại trừ đó an toàn hơn. Một quy tắc chính sách chọn bảng theo nguồn giữ các kết nối của chính máy chủ trong đường hầm đồng thời trả câu trả lời của dịch vụ về qua cổng WAN. Che giấu câu trả lời trên giao diện WAN đạt cùng đường đi với cái giá là ẩn địa chỉ của máy khách khỏi nhật ký dịch vụ. Thay đổi tuyến mặc định tùy hứng là chẩn đoán chứ không phải cấu hình, vì máy khách ghi lại các tuyến ở mỗi lần kết nối lại.
ip rule show
ip route get 203.0.113.9 from 192.0.2.44Khi máy chủ cũng định tuyến cho một LAN phía sau nó
Xa thêm một bước nhảy, sự bất đối xứng tương tự quay lại với nhiều bộ phận chuyển động hơn. Lưu lượng đến bộ định tuyến từ internet, được chuyển tiếp đến một thiết bị nội bộ, và đường về duy nhất của thiết bị đó là đường hầm, nên câu trả lời đến máy khách gốc từ chính địa chỉ của nhà cung cấp. Sau đó việc theo dõi kết nối gặp một câu trả lời cho luồng mà nó không thấy bắt đầu, và loại bỏ nó. Máy khách trong lúc đó không thấy gì cả.
Hai thay đổi sửa được điều đó: dịch địa chỉ đích để kết nối vào đến được thiết bị nội bộ, và dịch địa chỉ nguồn để câu trả lời của thiết bị đó trông như đến từ chính bộ định tuyến.
Trong phần sụn của bộ định tuyến, cách diễn đạt thông thường là một quy tắc chính sách ghim việc chuyển tiếp cổng sang phía WAN trong khi lưu lượng của chính bộ định tuyến đi qua đường hầm. Không có dịch địa chỉ nguồn, câu trả lời đó được gửi đến máy khách bên ngoài và thiết bị nội bộ đơn giản là không có tuyến tới đó. Hãy thử ba thứ riêng biệt, vì chúng thất bại vì những lý do khác nhau: một kết nối đến từ bên ngoài, một kết nối do chính máy chủ khởi tạo, và một lần tra cứu tên.