Chúng tôi đang sử dụng GCP và Cloud DNS để quản lý miền của mình và tôi đang cố gắng giải quyết các trường hợp sử dụng sau:
- Có hồ sơ riêng tư cho những thứ như Cơ sở dữ liệu chỉ có thể được giải quyết trong mạng công ty (VPC của chúng tôi).
- Ghi đè các bản ghi công khai bằng các IP riêng để định tuyến thay thế trong mạng công ty.
- Có thể đưa ra các thách thức DNS01 và giải quyết các bản ghi trong mạng của chúng tôi và công khai. Chúng tôi cần điều này do cách hoạt động của trình quản lý chứng chỉ (mà chúng tôi sử dụng để cấp chứng chỉ với letsencrypt).
Tôi đã thử giải quyết vấn đề này với vùng công khai và riêng tư (AKA, DNS chia chân trời), tuy nhiên, giải pháp này chỉ giải quyết trường hợp sử dụng 1 và 2. Và nó chỉ giải quyết trường hợp sử dụng 2 nếu chúng tôi đảm bảo vùng riêng tư có bản sao của tất cả các bản ghi trong vùng công khai (nếu không có bản ghi riêng tư).
Trường hợp sử dụng 3 không được đáp ứng với giải pháp này vì máy chủ quản lý chứng chỉ của chúng tôi tạo các bản ghi trong khu vực công cộng và sau đó không thể giải quyết chúng trong khu vực công cộng. Do các chi tiết cụ thể về thiết lập của chúng tôi, việc tùy chỉnh trình quản lý chứng chỉ để giải quyết cả hai vùng thông qua một số cấu hình cục bộ là không lý tưởng. Cũng rất khó để tạo các bản ghi trên cả hai vùng, vì vậy một lần nữa không phải là giải pháp lý tưởng.
Điều tôi muốn là khu vực riêng tư chuyển tiếp yêu cầu tới khu vực công khai nếu khu vực đó không có hồ sơ cho một yêu cầu cụ thể. Có cách nào để thực hiện việc này, cụ thể là sử dụng GCP Cloud DNS không?
Lý tưởng
nslookup -> vùng riêng tư -> vùng chung
Hiện tại chúng tôi có
nslookup -> vùng riêng tư -> lỗi (NXDOMAIN) nếu không có bản ghi
Ví dụ,
# Trong khi trên máy tính xách tay của tôi
> nslookup ws1.example.com
...
Tên: ws1.example.com
Địa chỉ: 34.111.111.111 # IP công khai cho máy chủ web
# Trong khi trên mạng GCP
> nslookup db.example.com
...
Tên: db.example.com
Địa chỉ: 10.10.0.2 # IP riêng cho cơ sở dữ liệu
> nslookup ws1.example.com
...
Tên: ws1.example.com
Địa chỉ: 10.0.0.10 # IP riêng (từ vùng riêng) cho máy chủ web
Điều này hoạt động tốt cho các trường hợp sử dụng 1 và 2 nhưng khi chúng tôi cố gắng giải quyết một bản ghi chỉ tồn tại trên khu vực chung...
# Trong khi trên máy tính xách tay của tôi
> nslookup ws1.example.com
...
Tên: ws1.example.com
Địa chỉ: 34.111.111.111 # IP công khai cho máy chủ web
> nslookup ws2.example.com # Chúng tôi chỉ có bản ghi này trong vùng công cộng
...
Tên: ws2.example.com
Địa chỉ: 34.111.111.112 # IP công khai cho máy chủ web khác
# Trong khi ở GCP VPC
> nslookup ws1.example.com
...
Tên: ws1.example.com
Địa chỉ: 10.0.0.1 # IP riêng (ghi đè) cho máy chủ web
> nslookup ws2.example.com # Chúng tôi chỉ có bản ghi này trong vùng công cộng
...
** máy chủ không thể tìm thấy ws2.example.com: NXDOMAIN # Không giải quyết được. Nên xem vùng riêng tư rồi đến vùng công cộng và giải quyết thành 34.111.111.112.
Bất kỳ đề xuất?
Như một giải pháp thay thế, hiện tại, chúng tôi đã chuyển sang sử dụng thử thách HTTP01 cho người quản lý chứng chỉ nhưng chúng tôi muốn sử dụng DNS01 hơn nếu có thể.