Định tuyến máy khách OpenVPN qua Cloudflare? Hãy kiểm tra vai trò trước
Máy khách thiết bị không phải bộ định tuyến. Xác nhận rằng vai trò Cloudflare chuyển tiếp gói của các máy chủ khác, rồi giữ đường hầm của chính máy chủ trên lối cũ.
Bạn có một máy chủ OpenVPN đang hoạt động và một máy chủ cũng chạy phần mềm thiết bị của Cloudflare, và bước tiếp theo hiển nhiên trông giống như hướng lưu lượng máy khách về phía đó. Hai kết nối đang hoạt động trên một máy không hợp thành một cổng trung chuyển. Điều còn thiếu là một vai trò được ghi nhận để chuyển tiếp các gói thuộc về người khác, và một chính sách phân loại những gói đó khi chúng đến.
Trước mọi quy tắc là bốn câu hỏi: lưu lượng nào đi vào, nó đi đâu tiếp theo, các câu trả lời tìm đường quay lại thế nào, và thiết kế làm gì khi con đường thứ hai đó thất bại. Hai câu đầu là câu hỏi về năng lực.
Hai dịch vụ trên một máy chủ không phải là đường trung chuyển
Máy khách thiết bị được xây dựng để xử lý lưu lượng phát sinh trên máy nơi nó chạy. Nó chặn việc phân giải tên, hoặc lưu lượng ứng dụng được chọn, và gửi qua đường hầm riêng của nó, và chính sách của nó được viết cho người dùng thiết bị đó và các tiến trình của thiết bị đó. Một gói được chuyển tiếp từ máy khách OpenVPN không phải là đầu ra cục bộ, nên các quy tắc đó không phân loại nó. Đây không phải là chi tiết cấu hình có thể che bằng một quy tắc rộng hơn, vì nó quyết định liệu phần mềm có nhìn thấy gói hay không.
Đó là lý do câu hỏi thiết kế là câu hỏi về năng lực. Hoặc sản phẩm đã cài có một vai trò được ghi nhận chuyển tiếp lưu lượng cho các mạng khác, hoặc chức năng trung chuyển thuộc về một nơi hoàn toàn khác.
Vai trò nào của Cloudflare được phép chuyển tiếp
Máy khách thiết bị của Cloudflare cung cấp các chế độ khác nhau về phạm vi: chỉ phân giải tên, lưu lượng từ thiết bị, và đôi khi cả hai. Không chế độ nào biến máy chủ thành bộ định tuyến cho một dải riêng đến qua một đường hầm khác. Vai trò định tuyến chuyên dụng là một sản phẩm riêng với trình kết nối, đăng ký và mô hình mạng của riêng nó.
| Question | What has to answer it |
|---|---|
| Does the installed product forward packets from other hosts? | A documented routing or connector role, not a device mode |
| Which prefixes does the connector advertise? | Its own configuration and status output |
| Does the server's own transport still take the old path? | ip route get for the endpoint, before and after |
| Do replies return through the same path? | Connection tracking counters on the forward rule |
Kiểm tra vai trò đã cài trước khi thiết kế các tuyến xung quanh nó. Đọc xem trình kết nối tạo giao diện nào, nó có công bố tiền tố cụ thể hay tuyến mặc định không, và chính sách cục bộ có áp dụng cho gói được chuyển tiếp như gói cục bộ không. Nếu chỉ xử lý lưu lượng cục bộ, máy chủ OpenVPN không thể là điểm trung chuyển, dù quy tắc dịch được viết thế nào.
Ở đây yêu cầu về lối ra công cộng cũng phải được phát biểu chính xác. Lối ra do Cloudflare cung cấp cho lưu lượng máy khách được chuyển tiếp là một trường hợp sử dụng cụ thể, và phải được xác nhận với dịch vụ bạn thực sự có.
Giữ đường hầm bên ngoài độc lập với tuyến mới
Ngay khi bạn thêm tuyến mặc định về giao diện mới, lưu lượng đi ra của chính máy chủ bắt đầu cạnh tranh cho nó, và điều đó bao gồm các câu trả lời cho máy khách OpenVPN và phiên SSH của bạn tới máy. Triệu chứng thường gặp là một đường hầm thiết lập rồi chết, hoặc một quản trị viên bị khóa ngoài trong khi thay đổi có vẻ đã hoạt động. So sánh ip route get cho điểm cuối trước và sau, và dùng định tuyến dựa trên chính sách hoặc tuyến máy chủ để giữ vận chuyển của chính máy chủ ở chỗ cũ. Chạy phép so sánh đó từ chính máy, vì cái nhìn của máy chủ về tuyến của chính nó mới là điều quan trọng.
Một ngoại lệ cho địa chỉ công cộng của máy chủ không đủ một mình, vì đường quay lại của mỗi quản trị viên từ xa là một luồng khác. Quyết định luồng nào phải sống sót qua thay đổi, rồi xác minh từng luồng thay vì giả định luồng đầu tiên bao trùm phần còn lại.
Giới hạn chuyển tiếp và dịch thuật trong một luồng
Các gói nhận được đi theo đường chuyển tiếp, không phải đường đầu ra cục bộ, nên quy tắc quan trọng sống trong móc forward. Nơi giao diện tiếp theo cần dịch, giới hạn nguồn trong nhóm máy khách, đích trong phần được phép và lối ra trong giao diện duy nhất đó. Một quy tắc masquerade chỉ gắn với một giao diện không tự chọn tuyến nào và không cho phép chuyển tiếp vượt qua bất kỳ bộ lọc nào khác.
Quyết định hành vi đóng khi thất bại trước, rồi kiểm thử nó. Dừng đường tiếp theo và xác nhận rằng máy khách mất lối ra dự kiến thay vì lặng lẽ quay lại đường lên thông thường, vì đó là kết quả không ai để ý cho đến khi lưu lượng bắt đầu đi ra qua cánh cửa sai. Lặp lại kiểm tra cho phân giải tên và cho IPv6, vì bộ quy tắc chỉ cho v4 để mở một đường v6.
Ghi lại bốn câu trả lời bạn đã chốt và quan sát chứng minh từng câu. Một đường trung chuyển bạn có thể mô tả là đường bạn có thể bảo vệ trong lần xem xét sự cố tiếp theo.