Điểm:0

Làm cách nào để bạn giải quyết cả vùng công cộng và vùng riêng tư trong DNS Split-Horizon (sử dụng GCP Cloud DNS)?

lá cờ tr

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:

  1. 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).
  2. 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.
  3. 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ể.

Điểm:2
lá cờ cn

Nếu ví dụ.com là cả vùng riêng tư và công cộng, thì bạn phải có bản ghi tài nguyên cho ws2 ở cả khu vực công cộng và tư nhân. Không có chuyển đổi dự phòng từ riêng tư sang công khai. Mỗi vùng phải được có thẩm quyền.

Chìa khóa để hiểu vấn đề của bạn: truy vấn được thực hiện tại ví dụ.com. Nếu vùng trả về NXDOMAIN, đó là kết thúc tra cứu. Sau đó, DNS không chuyển sang máy chủ khác để truy vấn câu trả lời khác.

James avatar
lá cờ tr
Tôi biết có một cách để định cấu hình máy chủ sử dụng DNS thông qua cấu hình cục bộ, có thủ thuật thú vị nào với một số DNS proxy có thể thực hiện việc này không? Hoặc sử dụng vùng chính sách phản hồi (RPZ) hoặc một số tính năng DNS mới khác để đạt được điều này?
John Hanley avatar
lá cờ cn
@James - 1/2) Liên quan đến Chính sách phản hồi DNS của Google Cloud, tôi không chắc về DNS phân tách. Bạn sẽ cần phải tạo một quy tắc thông qua. Tuy nhiên, tôi không biết có tùy chọn đính kèm Chính sách phản hồi trên vùng **riêng tư** sao cho truy vấn về **ws2.example.com** sẽ bỏ qua vùng riêng tư và thay vào đó được gửi đến vùng công cộng. Trong trường hợp đó, bạn sẽ không sử dụng DNS chân trời nhổ. Bạn sẽ tạo Chính sách phản hồi cho từng vùng mà bạn muốn có phản hồi khác nhau.
John Hanley avatar
lá cờ cn
@James - 2/2) Đối với trường hợp sử dụng của bạn, cái nào dễ quản lý hơn? Tạo chính sách phản hồi cho từng vùng bạn muốn sửa đổi kết quả hoặc tạo bản ghi tài nguyên trong vùng riêng tư? Tôi không nghĩ rằng các chính sách phản hồi sẽ mang lại điều kỳ diệu mà bạn đang tìm kiếm. Bạn sẽ phải định cấu hình thứ gì đó trong vùng hoặc thông qua chính sách.
James avatar
lá cờ tr
Được rồi, cảm ơn John. Tôi sẽ đánh giá lại các trường hợp sử dụng của chúng tôi. Chúng tôi có thể phải chấp nhận giới hạn này và chuyển sang HTTP01 cho trình quản lý chứng chỉ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.