Một hồ sơ mang redirect-gateway def1 bypass-dhcp kết hợp việc ghi đè tuyến IPv4 mặc định với một ngoại lệ hẹp duy nhất. Người ta đọc từ cuối và mong đợi một giải pháp chung cho kết nối di động, rồi dành cả buổi chiều với một lý thuyết DHCP mà cờ này chưa bao giờ hỗ trợ. Mỗi phần làm một việc, và ngoại lệ nhỏ hơn nhiều so với danh tiếng của nó.

Hãy tách các cờ ra trước khi quy một lỗi chỉ xảy ra trên mạng di động cho việc cấp địa chỉ. Hai nửa của chuỗi đó không liên quan gì đến nhau.

Hai cờ, hai công việc không liên quan

Với def1, máy khách thêm hai nửa tuyến IPv4 mặc định thay vì thay thế tuyến mặc định đã có. 0.0.0.0/1 bao phủ nửa dưới của không gian địa chỉ và 128.0.0.0/1 nửa trên, nên cùng nhau chúng đến được mọi đích trong khi mỗi tuyến vẫn cụ thể hơn 0.0.0.0/0. Vì vậy tuyến mặc định ban đầu vẫn nằm trong bảng mà không thắng các tra cứu đó, điều này giữ cổng cũ có thể đến được cho mọi thứ mà máy khách định tuyến rõ ràng. Nó cũng để lại hai tuyến mặc định chồng lấn trong bảng, và đó là lý do một bản kết xuất tuyến có thể trông lạ hơn so với hồ sơ gợi ý.

bypass-dhcp tách biệt và hoàn toàn không đụng đến tuyến mặc định. Hướng dẫn OpenVPN 2.6 mô tả nó là thêm một tuyến trực tiếp đến máy chủ DHCP không nằm trên mạng con cục bộ, để lưu lượng thuê bao đi ra ngoài đường hầm, và lưu ý rằng hành vi này được triển khai trên máy khách Windows và có thể không có ở nơi khác.

Lý do tồn tại của nó là cơ học. Khi các nửa tuyến mặc định bắt lấy lưu lượng đi ra, một lần gia hạn DHCP nhắm đến máy chủ trên mạng vật lý sẽ bị định tuyến vào đường hầm trừ khi có gì đó ghim địa chỉ đó vào giao diện thật. Cờ này ghim nó.

Ngoại lệ thực sự giới hạn ở đâu

Một bảng minh họa sau khi kết nối thành công cho thấy hình dạng: hai nửa tuyến mặc định qua đường hầm, và một tuyến máy chủ cho máy chủ DHCP qua cổng vật lý. Hãy đọc nó như một hình dạng, không phải địa chỉ của chính bạn.

0.0.0.0/1        via 10.8.0.1      dev tun0
128.0.0.0/1      via 10.8.0.1      dev tun0
192.168.1.1/32   via 192.168.1.254 dev wlan0

Dòng thứ ba đó nêu một đích duy nhất. Đây không phải cài đặt trình phân giải, không phải quyền chung cho mạng cục bộ và không phải quy tắc ra vào trên máy chủ. Một chiếc điện thoại trên nhà mạng di động có thể không có máy chủ DHCP nào để máy khách nhận diện theo cách này, và đó là lý do cờ không thay đổi gì ở đó.

Kiểm tra xem máy khách thực sự đã cài gì

Phân biệt một tùy chọn được ghi trong hồ sơ, một tùy chọn do máy chủ đề nghị và một tuyến mà chủ kết nối thực sự đã áp dụng. Một máy khách từ chối cờ không được hỗ trợ có thể giữ phần còn lại của cấu hình, nên đường hầm vẫn dựng lên và ngoại lệ đơn giản là vắng mặt. Hãy đọc nhật ký của chính máy khách và bảng định tuyến thu được thay vì cho rằng dòng trong tệp đã có hiệu lực. Ba điều đó có thể cùng đúng một lúc, và chỉ điều cuối cùng thay đổi nơi các gói thực sự đi.

Giữ tuyến đến điểm cuối VPN cũng dùng được cùng lúc. Ngoại lệ điểm cuối đó là một yêu cầu khác với ngoại lệ DHCP, và không có nó đường hầm có thể bắt chính phương tiện vận chuyển đang duy trì nó.

Đối với một đích ứng dụng, hãy xem xét tra cứu hiệu lực trong ngữ cảnh nó thất bại. Các tuyến cục bộ cụ thể hơn, định tuyến theo chính sách và loại trừ theo từng ứng dụng đều thay đổi câu trả lời, nên việc có hai nửa tuyến mặc định không phải là bản kiểm kê mọi luồng.

Phần còn lại của đường đi không nằm trong cờ này

Máy chủ vẫn cần quyền chuyển tiếp lưu lượng internet của máy khách và một cách xếp đặt lối ra có thể trả nó về. Không tuyến nào ở phía máy khách tạo ra việc chuyển tiếp hay dịch địa chỉ nguồn còn thiếu trên máy chủ, và không cờ nào thay thế một đường về đang hoạt động.

Phân giải tên và IPv6 mỗi thứ cần chính sách riêng. Việc ghi đè IPv4 không trỏ trình phân giải đến máy chủ phía đường hầm và cũng không thiết lập phạm vi IPv6, và máy khách chỉ chuyển hướng v4 sẽ để nguyên tuyến v6.

So sánh một yêu cầu vô hại đã được chấp thuận trên một đường truy cập hoạt động và một đường thất bại, giữ cố định hồ sơ và đích. Ghi lại xem khác biệt nằm ở phân giải tên, thiết lập đường hầm, chọn tuyến hay lưu lượng được chuyển tiếp, và giữ câu trả lời cùng hồ sơ. Chính bản ghi đó ngăn người tiếp theo đổ lỗi cho DHCP về một vấn đề mà nó không thể chạm tới.

Bài viết liên quan