Định cấu hình chính sách máy chủ DNS

Trang này mô tả cách định cấu hình chính sách máy chủ DNS và sử dụng các chính sách đó với mạng Đám mây riêng ảo (VPC). Trước khi sử dụng trang này, hãy xem lại thông tin tổng quan về chính sách của máy chủ DNS.

Trước khi bạn bắt đầu

Cloud DNS API yêu cầu bạn tạo một dự án Trusted Cloud và bật API Cloud DNS.

Nếu đang tạo một ứng dụng sử dụng API REST, bạn cũng phải tạo một mã ứng dụng khách OAuth 2.0.

  1. Hãy đăng ký Tài khoản Google nếu bạn chưa có.
  2. Bật Cloud DNS API trong Trusted Cloud bảng điều khiển. Bạn có thể chọn một dự án Compute Engine hoặc App Engine hiện có hoặc tạo một dự án mới.
  3. Nếu cần gửi yêu cầu đến API REST, bạn cần tạo một mã nhận dạng OAuth 2.0. Xem bài viết Thiết lập OAuth 2.0.
  4. Trong dự án, hãy lưu ý những thông tin sau đây mà bạn cần nhập trong các bước sau:
    • Mã ứng dụng khách (xxxxxx.apps.googleusercontent.com).
    • Mã dự án mà bạn muốn sử dụng. Bạn có thể tìm thấy mã này ở đầu trang Tổng quan trong bảng điều khiển Trusted Cloud . Bạn cũng có thể yêu cầu người dùng cung cấp tên dự án mà họ muốn sử dụng trong ứng dụng.

Nếu chưa chạy Google Cloud CLI trước đây, bạn phải chạy lệnh sau để chỉ định tên dự án và xác thực bằng bảng điều khiển Trusted Cloud :

gcloud auth login

Để chọn một dự án khác với dự án bạn đã chọn trước đó, hãy chỉ định tuỳ chọn --project tại dòng lệnh.

Tạo chính sách máy chủ DNS

Mỗi đối tượng chính sách máy chủ DNS có thể xác định bất kỳ chính sách máy chủ nào sau đây:

Mỗi mạng VPC chỉ có thể tham chiếu đến một chính sách máy chủ DNS. Nếu bạn cần xác định cả tính năng chuyển tiếp nội bộ và ngoại bộ cho mạng VPC, hãy tạo một chính sách xác định cả chính sách nội bộ và chính sách ngoại bộ. Bạn không thể định cấu hình DNS64 (Bản xem trước) bằng chính sách máy chủ DNS đến.

Tạo chính sách máy chủ DNS đến

Để tạo chính sách máy chủ DNS đến, hãy làm theo hướng dẫn sau. Cloud DNS tạo một tập hợp địa chỉ IP của trình chuyển tiếp đến từ các dải địa chỉ IPv4 chính của các mạng con trong mỗi mạng VPC mà chính sách áp dụng. Sau khi tạo chính sách, bạn có thể liệt kê các điểm truy cập mà Cloud DNS tạo.

gcloud

Để tạo chính sách máy chủ DNS đến, hãy chạy lệnh dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-inbound-forwarding

Thay thế nội dung sau:

  • NAME: tên của chính sách
  • DESCRIPTION: nội dung mô tả chính sách
  • VPC_NETWORK_LIST: danh sách được phân tách bằng dấu phẩy gồm các mạng VPC mà bạn phải tạo địa chỉ chuyển tiếp đến

Terraform

resource "google_dns_policy" "default" {
  name                      = "example-inbound-policy"
  enable_inbound_forwarding = true

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Tạo chính sách máy chủ DNS đi

Để chỉ định danh sách máy chủ định danh thay thế cho mạng VPC, bạn có thể tạo chính sách máy chủ DNS đi.

gcloud

Để tạo chính sách máy chủ DNS đi, hãy chạy lệnh dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST

Thay thế nội dung sau:

  • NAME: tên của chính sách
  • DESCRIPTION: nội dung mô tả chính sách
  • VPC_NETWORK_LIST: danh sách được phân tách bằng dấu phẩy gồm các mạng VPC truy vấn máy chủ tên thay thế
  • ALTERNATIVE_NAMESERVER_LIST: danh sách địa chỉ IP được phân tách bằng dấu phẩy mà bạn có thể dùng làm máy chủ định danh thay thế; tính năng định tuyến riêng tư chỉ được dùng cho các máy chủ định danh thay thế có địa chỉ RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: một danh sách địa chỉ IP được phân tách bằng dấu phẩy mà bạn có thể dùng làm máy chủ tên thay thế, truy cập bằng cách sử dụng tính năng định tuyến riêng tư

Terraform

resource "google_dns_policy" "default" {
  name = "example-outbound-policy"

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Tạo chính sách máy chủ DNS cho cả tính năng chuyển tiếp đến và đi

gcloud

Để tạo chính sách máy chủ DNS cho cả tính năng chuyển tiếp đến và đi, hãy chạy lệnh dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \
    --enable-inbound-forwarding

Thay thế nội dung sau:

  • NAME: tên của chính sách
  • DESCRIPTION: nội dung mô tả chính sách
  • VPC_NETWORK_LIST: danh sách được phân tách bằng dấu phẩy gồm các mạng VPC mà bạn phải tạo địa chỉ chuyển tiếp đến và phải truy vấn máy chủ tên thay thế
  • ALTERNATIVE_NAMESERVER_LIST: danh sách địa chỉ IP được phân tách bằng dấu phẩy mà bạn có thể dùng làm máy chủ tên thay thế. Tính năng định tuyến riêng chỉ được dùng cho các máy chủ định danh thay thế có địa chỉ theo RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: danh sách địa chỉ IP được phân tách bằng dấu phẩy mà bạn có thể dùng làm máy chủ tên thay thế, truy cập bằng cách sử dụng tính năng định tuyến riêng tư.

Terraform

resource "google_dns_policy" "example_policy" {
  name                      = "example-policy"
  enable_inbound_forwarding = true

  enable_logging = true

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.network_1.id
  }
  networks {
    network_url = google_compute_network.network_2.id
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Liệt kê các điểm truy cập của trình chuyển tiếp đến

Khi một chính sách máy chủ DNS đến áp dụng cho mạng VPC, Cloud DNS sẽ tạo một tập hợp địa chỉ IP nội bộ theo khu vực đóng vai trò là đích đến mà các hệ thống hoặc trình phân giải tên tại chỗ của bạn có thể gửi truy vấn DNS. Các địa chỉ này đóng vai trò là điểm truy cập vào thứ tự phân giải tên của mạng VPC.

Trusted Cloud Quy tắc tường lửa không áp dụng cho các địa chỉ nội bộ theo khu vực đóng vai trò là điểm truy cập cho trình chuyển tiếp đến. Cloud DNS tự động chấp nhận lưu lượng truy cập TCP và UDP trên cổng 53.

Mỗi trình chuyển tiếp nội bộ chấp nhận và nhận truy vấn từ các đường hầm VPN trên đám mây hoặc tệp đính kèm Cloud Interconnect (VLAN) ở cùng một khu vực với địa chỉ IP nội bộ của khu vực. Các phiên bản máy ảo có thể truy cập vào trình chuyển tiếp inbound thông qua bất kỳ địa chỉ IP nội bộ nào trong cùng một mạng VPC. Để truy cập tính năng chuyển tiếp đến, giao diện mạng phải có địa chỉ IP bên ngoài hoặc một mạng con của NIC phải bật tính năng Truy cập riêng của Google.

gcloud

Để liệt kê tập hợp địa chỉ IP nội bộ theo khu vực đóng vai trò là điểm truy cập cho tính năng chuyển tiếp đến, hãy chạy lệnh compute addresses list:

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

Cập nhật chính sách về DNS

Các phần sau đây cung cấp thông tin về cách thay đổi mạng VPC và bật hoặc tắt tính năng chuyển tiếp đến.

Thay đổi mạng VPC

Danh sách sau đây mô tả những gì sẽ xảy ra khi bạn thay đổi danh sách mạng VPC mà chính sách DNS áp dụng:

  • Nếu chính sách chỉ định một chính sách truy cập vào, các điểm truy cập cho trình chuyển tiếp truy cập vào sẽ được tạo trong mạng VPC nếu cần.
  • Nếu chính sách chỉ định một chính sách đi ra, thì thứ tự phân giải tên của mỗi mạng VPC sẽ được cập nhật để bao gồm các máy chủ tên thay thế đã chỉ định.

gcloud

Để sửa đổi danh sách mạng áp dụng chính sách máy chủ DNS, hãy chạy lệnh dns policies update:

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Thay thế nội dung sau:

  • NAME: tên của chính sách
  • VPC_NETWORK_LIST: danh sách các mạng VPC được phân tách bằng dấu phẩy mà chính sách áp dụng; danh sách các mạng VPC mà bạn chỉ định sẽ thay thế danh sách trước đó

Bật hoặc tắt tính năng chuyển tiếp thư đến

Bạn có thể bật tính năng chuyển tiếp đến cho chính sách máy chủ DNS chỉ xác định chính sách đi (máy chủ định danh thay thế). Bạn cũng có thể tắt tính năng chuyển tiếp inbound cho một chính sách DNS hiện có.

gcloud

Để bật tính năng chuyển tiếp đến cho chính sách máy chủ DNS, hãy chạy lệnh dns policies update:

gcloud dns policies update NAME \
    --enable-inbound-forwarding

Để tắt tính năng chuyển tiếp đến cho chính sách máy chủ DNS, hãy chạy lệnh dns policies update:

gcloud dns policies update NAME \
    --no-enable-inbound-forwarding

Thay thế NAME bằng tên chính sách.

Liệt kê chính sách DNS

gcloud

Để liệt kê các chính sách máy chủ DNS trong dự án, hãy chạy lệnh dns policies list:

gcloud dns policies list

Xoá chính sách DNS

gcloud

Để xoá chính sách máy chủ DNS, hãy chạy lệnh dns policies delete:

gcloud dns policies delete NAME

Thay thế NAME bằng tên của chính sách cần xoá.

Bước tiếp theo

  • Để tìm giải pháp cho các vấn đề thường gặp mà bạn có thể gặp phải khi sử dụng Cloud DNS, hãy xem phần Khắc phục sự cố.
  • Để biết thông tin tổng quan về Cloud DNS, hãy xem bài viết Tổng quan về Cloud DNS.