DNS integration (integrasi DNS)

DNS integration (integrasi DNS)

Halaman ini berfungsi sebagai panduan untuk bagaimana menggunakan fungsi integrasi DNS dari layanan Networking. Fungsionalitas yang dijelaskan meliputi DNS dari dua sudut pandang:

  • Fungsi DNS internal yang ditawarkan oleh layanan Networking dan interaksi dengan layanan Compute.

  • Integrasi layanan Compute dan layanan Networking dengan external DNSaaS (DNS-as-a-Service).

User dapat mengontrol perilaku layanan Networking dalam hal DNS menggunakan dua atribut yang terkait dengan port, jaringan, dan floating IP. Tabel berikut menunjukkan atribut yang tersedia untuk masing-masing sumber daya ini:

Resource dns_name dns_domain
Ports Yes No
Networks No Yes
Floating IPs Yes Yes

Layanan Networking resolusi DNS internal

Layanan Networking memungkinkan user untuk mengontrol nama ditugaskan untuk port oleh DNS internal. Untuk mengaktifkan fungsi ini, lakukan hal berikut:

  1. Edit file /etc/neutron/neutron.conf dan menetapkan nilai yang berbeda untuk openstacklocal (nilai default) ke parameter `` dns domain`` di bagian `` [default] `` . Sebagai contoh:

    dns_domain = example.org.
    
  2. Tambahkan dns untuk ``extension_drivers``di bagian `` [ml2] `` dari ``/etc/neutron/plugins/ml2/ml2_conf.ini`. Berikut ini adalah contoh:

    [ml2]
    extension_drivers = port_security,dns
    

Setelah kembali memulai neutron-server, user akan dapat menetapkan atribut dns_name untuk port mereka.

Catatan

Pemberdayaan fungsi ini merupakan prasyarat untuk pemberdayaan dari integrasi layanan Networking dengan layanan DNS eksternal, yang dijelaskan secara rinci dalam :ref: config-dns-int-ext-serv.

Berikut ini menggambarkan penciptaan sebuah port dengan my-port dalam attribute ``dns_name``nya.

Catatan

Nama ditugaskan ke port oleh layanan Networking DNS internal sekarang terlihat dalam respon dalam atribut dns_assignment.

$ neutron port-create my-net --dns_name my-port
Created a new port:
+-----------------------+-----------------------------------------------------------------------------------+
| Field                 | Value                                                                             |
+-----------------------+-----------------------------------------------------------------------------------+
| admin_state_up        | True                                                                              |
| allowed_address_pairs |                                                                                   |
| binding:vnic_type     | normal                                                                            |
| device_id             |                                                                                   |
| device_owner          |                                                                                   |
| dns_assignment        | {"hostname": "my-port", "ip_address": "10.0.1.3", "fqdn": "my-port.example.org."} |
| dns_name              | my-port                                                                           |
| fixed_ips             | {"subnet_id":"6141b474-56cd-430f-b731-71660bb79b79", "ip_address": "10.0.1.3"}    |
| id                    | fb3c10f4-017e-420c-9be1-8f8c557ae21f                                              |
| mac_address           | fa:16:3e:aa:9b:e1                                                                 |
| name                  |                                                                                   |
| network_id            | bf2802a0-99a0-4e8c-91e4-107d03f158ea                                              |
| port_security_enabled | True                                                                              |
| security_groups       | 1f0ddd73-7e3c-48bd-a64c-7ded4fe0e635                                              |
| status                | DOWN                                                                              |
| tenant_id             | d5660cb1e6934612a01b4fb2fb630725                                                  |
+-----------------------+-----------------------------------------------------------------------------------+

Ketika fungsi ini diaktifkan, itu adalah leveraged oleh layanan Compute saat membuat instance. Ketika mengalokasikan port untuk contoh saat boot, layanan Compute akan mengisi atribut `` dns_name`` port ini dengan atribut hostname instance, yang merupakan versi DNS dibersihkan dari nama tampilan nya. Akibatnya, pada akhir proses booting, port dialokasikan akan diketahui dalam dnsmasq terkait ke jaringan mereka dengan instance ``hostname``mereka.

Berikut ini adalah contoh dari pembuatan instance, menunjukkan bagaimana its hostname akan mengisi dns_name attribute dari port dialokasikan:

$ nova boot --image cirros --flavor 42 \
  --nic net-id=37aaff3a-6047-45ac-bf4f-a825e56fd2b3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Property                             | Value                                                          |
+--------------------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                         |
| OS-EXT-AZ:availability_zone          |                                                                |
| OS-EXT-STS:power_state               | 0                                                              |
| OS-EXT-STS:task_state                | scheduling                                                     |
| OS-EXT-STS:vm_state                  | building                                                       |
| OS-SRV-USG:launched_at               | -                                                              |
| OS-SRV-USG:terminated_at             | -                                                              |
| accessIPv4                           |                                                                |
| accessIPv6                           |                                                                |
| adminPass                            | dB45Zvo8Jpfe                                                   |
| config_drive                         |                                                                |
| created                              | 2016-02-05T21:35:04Z                                           |
| flavor                               | m1.nano (42)                                                   |
| hostId                               |                                                                |
| id                                   | 66c13cb4-3002-4ab3-8400-7efc2659c363                           |
| image                                | cirros-0.3.4-x86_64-uec(b9d981eb-d21c-4ce2-9dbc-dd38f3d9015f)  |
| key_name                             | -                                                              |
| locked                               | False                                                          |
| metadata                             | {}                                                             |
| name                                 | my_vm                                                          |
| os-extended-volumes:volumes_attached | []                                                             |
| progress                             | 0                                                              |
| security_groups                      | default                                                        |
| status                               | BUILD                                                          |
| tenant_id                            | d5660cb1e6934612a01b4fb2fb630725                               |
| updated                              | 2016-02-05T21:35:04Z                                           |
| user_id                              | 8bb6e578cba24e7db9d3810633124525                               |
+--------------------------------------+----------------------------------------------------------------+

$ neutron port-list --device_id 66c13cb4-3002-4ab3-8400-7efc2659c363
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                             |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+
| b3ecc464-1263-44a7-8c38-2d8a52751773 |      | fa:16:3e:a8:ce:b8 | {"subnet_id": "277eca5d-9869-474b-960e-6da5951d09f7", "ip_address": "172.24.5.8"}     |
|                                      |      |                   | {"subnet_id": "eab47748-3f0a-4775-a09f-b0c24bb64bc4", "ip_address":"2001:db8:10::8"}  |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+

$ neutron port-show b3ecc464-1263-44a7-8c38-2d8a52751773
+-----------------------+---------------------------------------------------------------------------------------+
| Field                 | Value                                                                                 |
+-----------------------+---------------------------------------------------------------------------------------+
| admin_state_up        | True                                                                                  |
| allowed_address_pairs |                                                                                       |
| binding:vnic_type     | normal                                                                                |
| device_id             | 66c13cb4-3002-4ab3-8400-7efc2659c363                                                  |
| device_owner          | compute:None                                                                          |
| dns_assignment        | {"hostname": "my-vm", "ip_address": "172.24.5.8", "fqdn": "my-vm.example.org."}       |
|                       | {"hostname": "my-vm", "ip_address": "2001:db8:10::8", "fqdn": "my-vm.example.org."}   |
| dns_name              | my-vm                                                                                 |
| extra_dhcp_opts       |                                                                                       |
| fixed_ips             | {"subnet_id": "277eca5d-9869-474b-960e-6da5951d09f7", "ip_address": "172.24.5.8"}     |
|                       | {"subnet_id": "eab47748-3f0a-4775-a09f-b0c24bb64bc4", "ip_address": "2001:db8:10::8"} |
| id                    | b3ecc464-1263-44a7-8c38-2d8a52751773                                                  |
| mac_address           | fa:16:3e:a8:ce:b8                                                                     |
| name                  |                                                                                       |
| network_id            | 37aaff3a-6047-45ac-bf4f-a825e56fd2b3                                                  |
| port_security_enabled | True                                                                                  |
| security_groups       | 1f0ddd73-7e3c-48bd-a64c-7ded4fe0e635                                                  |
| status                | ACTIVE                                                                                |
| tenant_id             | d5660cb1e6934612a01b4fb2fb630725                                                      |
+-----------------------+---------------------------------------------------------------------------------------+

Dalam contoh di atas perhatikan bahwa:

  • Nama yang diberikan untuk instance oleh user, my_vm, adalah dibersihkan oleh layanan Compute dan menjadi my-vm sebagai port dns_name.

  • Port atribut `` dns_assignment`` menunjukkan bahwa FQDN adalah my-vm.example.org. dalam layanan Networking DNS internal, yang merupakan hasil dari concatenating port dns_name dengan nilai dikonfigurasi dalam parameter dns_domain di neutron.conf, seperti yang dijelaskan sebelumnya.

  • Attribute dns_assignment juga menunjukkan bahwa port hostname di layanan Networking DNS internal adalah my-vm.

  • Daripada memiliki layanan Compute membuat port untuk instance, user mungkin telah menciptakannya dan ditentukannya nilai untuk atribut dns_name. Dalam hal ini, nilai yang diberikan kepada atribut dns_name harus sama dengan nilai dimana layanan Compute akan menetapkan ke instance `` hostname`` ini, dalam contoh ini my-vm. Jika tidak, instance booting akan gagal.

Integrasi dengan layanan DNS eksternal

User juga dapat mengintegrasikan Jaringan dan Compute layanan dengan DNS eksternal. Untuk mencapai hal ini, user harus:

  1. Aktifkan fungsi yang dijelaskan dalam Layanan Networking resolusi DNS internal.

  2. Mengkonfigurasi driver DNS eksternal. Layanan Networking menyediakan implementasi referensi driver berdasarkan layanan DNS OpenStack. Diharapkan vendor pihak ketiga akan menyediakan implementasi lain di masa depan. Untuk petunjuk konfigurasi rinci, lihat Konfigurasi OpenStack Networking untuk integrasi dengan layanan DNS eksternal.

Setelah neutron-server telah dikonfigurasi dan restart, user akan memiliki fungsi yang mencakup tiga use case, yang dijelaskan di bagian berikut. Dalam setiap use case yang dijelaskan di bawah:

  • Contoh menganggap layanan DNS OpenStack sebagai DNS eksternal.

  • Catatan A, AAAA dan PTR akan dibuat di layanan DNS.

  • Sebelum melaksanakan salah satu use case, user harus membuat dalam layanan DNS di bawah proyeknya zona DNS di mana A dan AAAA catatan akan dibuat. Untuk deskripsi use case di bawah, diasumsikan zona `` example.org.`` diciptakan sebelumnya.

  • Catatan PTR akan dibuat di zona yang dimiliki oleh sebuah proyek dengan hak admin. Lihat ref: config-dns-int-ext-serv untuk lebih jelasnya.

Use case 1: Port diterbitkan langsung dalam layanan DNS eksternal

Dalam hal ini, user menciptakan port atau boot instance pada jaringan yang dapat diakses secara eksternal. Langkah-langkah untuk menerbitkan port di layanan DNS eksternal adalah sebagai berikut:

  1. Menetapkan nama domain yang valid untuk attribute dns_domain jaringannya. Nama ini harus diakhiri dengan titik (`` .``).

  2. Boot misalnya menentukan jaringan eksternal diakses. Atau, buat port pada jaringan eksternal dapat diakses menentukan nilai yang valid untuk atribut dns_name nya. Jika port tersebut akan digunakan untuk instance boot, nilai yang diberikan untuk dns_name harus sama dengan `` hostname`` dimana layanan Compute akan menetapkan ke instance. Jika tidak, boot akan gagal.

Setelah langkah-langkah ini dijalankan, data yang DNS port akan diterbitkan dalam layanan DNS eksternal. Ini adalah contoh:

$ neutron net-list
+--------------------------------------+----------+----------------------------------------------------------+
| id                                   | name     | subnets                                                  |
+--------------------------------------+----------+----------------------------------------------------------+
| 41fa3995-9e4a-4cd9-bb51-3e5424f2ff2a | public   | a67cfdf7-9d5d-406f-8a19-3f38e4fc3e74                     |
|                                      |          | cbd8c6dc-ca81-457e-9c5d-f8ece7ef67f8                     |
| 37aaff3a-6047-45ac-bf4f-a825e56fd2b3 | external | 277eca5d-9869-474b-960e-6da5951d09f7 172.24.5.0/24       |
|                                      |          | eab47748-3f0a-4775-a09f-b0c24bb64bc4 2001:db8:10::/64    |
| bf2802a0-99a0-4e8c-91e4-107d03f158ea | my-net   | 6141b474-56cd-430f-b731-71660bb79b79 10.0.1.0/24         |
| 38c5e950-b450-4c30-83d4-ee181c28aad3 | private  | 43414c53-62ae-49bc-aa6c-c9dd7705818a fda4:653e:71b0::/64 |
|                                      |          | 5b9282a1-0be1-4ade-b478-7868ad2a16ff 10.0.0.0/24         |
+--------------------------------------+----------+----------------------------------------------------------+

$ neutron net-update 37aaff3a-6047-45ac-bf4f-a825e56fd2b3 --dns_domain example.org.
Updated network: 37aaff3a-6047-45ac-bf4f-a825e56fd2b3

$ neutron net-show 37aaff3a-6047-45ac-bf4f-a825e56fd2b3
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| availability_zone_hints   |                                      |
| availability_zones        | nova                                 |
| dns_domain                | example.org.                         |
| id                        | 37aaff3a-6047-45ac-bf4f-a825e56fd2b3 |
| mtu                       | 1450                                 |
| name                      | external                             |
| port_security_enabled     | True                                 |
| provider:network_type     | vlan                                 |
| provider:physical_network |                                      |
| provider:segmentation_id  | 2016                                 |
| router:external           | False                                |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   | eab47748-3f0a-4775-a09f-b0c24bb64bc4 |
|                           | 277eca5d-9869-474b-960e-6da5951d09f7 |
| tenant_id                 | 04fc2f83966245dba907efb783f8eab9     |
+---------------------------+--------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| id                                   | type | name         | data                                                                  |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org. | ns1.devstack.org. malavall.us.ibm.com. 1454729414 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org. | ns1.devstack.org.                                                     |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+

$ neutron port-create 37aaff3a-6047-45ac-bf4f-a825e56fd2b3 --dns_name my-vm
Created a new port:
+-----------------------+---------------------------------------------------------------------------------------+
| Field                 | Value                                                                                 |
+-----------------------+---------------------------------------------------------------------------------------+
| admin_state_up        | True                                                                                  |
| allowed_address_pairs |                                                                                       |
| binding:vnic_type     | normal                                                                                |
| device_id             |                                                                                       |
| device_owner          |                                                                                       |
| dns_assignment        | {"hostname": "my-vm", "ip_address": "172.24.5.9", "fqdn": "my-vm.example.org."}       |
|                       | {"hostname": "my-vm", "ip_address": "2001:db8:10::9", "fqdn": "my-vm.example.org."}   |
| dns_name              | my-vm                                                                                 |
| fixed_ips             | {"subnet_id": "277eca5d-9869-474b-960e-6da5951d09f7", "ip_address": "172.24.5.9"}     |
|                       | {"subnet_id": "eab47748-3f0a-4775-a09f-b0c24bb64bc4", "ip_address": "2001:db8:10::9"} |
| id                    | 04be331b-dc5e-410a-9103-9c8983aeb186                                                  |
| mac_address           | fa:16:3e:0f:4b:e4                                                                     |
| name                  |                                                                                       |
| network_id            | 37aaff3a-6047-45ac-bf4f-a825e56fd2b3                                                  |
| port_security_enabled | True                                                                                  |
| security_groups       | 1f0ddd73-7e3c-48bd-a64c-7ded4fe0e635                                                  |
| status                | DOWN                                                                                  |
| tenant_id             | d5660cb1e6934612a01b4fb2fb630725                                                      |
+-----------------------+---------------------------------------------------------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+
| id                                   | type | name               | data                                                                  |
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org.       | ns1.devstack.org. malavall.us.ibm.com. 1455563035 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org.       | ns1.devstack.org.                                                     |
| 3593591b-181f-4beb-9ab7-67fad7413b37 | A    | my-vm.example.org. | 172.24.5.9                                                            |
| 5649c68f-7a88-48f5-9f87-ccb1f6ae67ca | AAAA | my-vm.example.org. | 2001:db8:10::9                                                        |
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+

$ nova boot --image cirros --flavor 42 \
  --nic port-id=04be331b-dc5e-410a-9103-9c8983aeb186 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Property                             | Value                                                          |
+--------------------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                         |
| OS-EXT-AZ:availability_zone          |                                                                |
| OS-EXT-STS:power_state               | 0                                                              |
| OS-EXT-STS:task_state                | scheduling                                                     |
| OS-EXT-STS:vm_state                  | building                                                       |
| OS-SRV-USG:launched_at               | -                                                              |
| OS-SRV-USG:terminated_at             | -                                                              |
| accessIPv4                           |                                                                |
| accessIPv6                           |                                                                |
| adminPass                            | TDc9EpBT3B9W                                                   |
| config_drive                         |                                                                |
| created                              | 2016-02-15T19:10:43Z                                           |
| flavor                               | m1.nano (42)                                                   |
| hostId                               |                                                                |
| id                                   | 62c19691-d1c7-4d7b-a88e-9cc4d95d4f41                           |
| image                                | cirros-0.3.4-x86_64-uec (b9d981eb-d21c-4ce2-9dbc-dd38f3d9015f) |
| key_name                             | -                                                              |
| locked                               | False                                                          |
| metadata                             | {}                                                             |
| name                                 | my_vm                                                          |
| os-extended-volumes:volumes_attached | []                                                             |
| progress                             | 0                                                              |
| security_groups                      | default                                                        |
| status                               | BUILD                                                          |
| tenant_id                            | d5660cb1e6934612a01b4fb2fb630725                               |
| updated                              | 2016-02-15T19:10:43Z                                           |
| user_id                              | 8bb6e578cba24e7db9d3810633124525                               |
+--------------------------------------+----------------------------------------------------------------+

$ nova list
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+
| ID                                   | Name  | Status | Task State | Power State | Networks                            |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+
| 62c19691-d1c7-4d7b-a88e-9cc4d95d4f41 | my_vm | ACTIVE | -          | Running     | external=172.24.5.9, 2001:db8:10::9 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+

Dalam contoh ini port dibuat secara manual oleh user dan kemudian digunakan untuk boot sebuah instance. Perhatikan itu:

  • Data port terlihat di layanan DNS segera setelah dibuat.

  • Lihat Pertimbangan kinerja untuk penjelasan potensi dampak kinerja yang terkait dengan kasus ini digunakan.

Berikut ini adalah catatan PTR diciptakan untuk contoh ini. Perhatikan bahwa untuk IPv4, nilai ipv4_ptr_zone_prefix_size adalah 24. Dalam kasus IPv6, nilai ipv6_ptr_zone_prefix_size adalah 116. Untuk lebih jelasnya, lihat :ref: config-dns-int-ext-serv:

$ designate record-list 5.24.172.in-addr.arpa.
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| id                                   | type | name                     | data                                                                |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| ab7ada72-7e64-4bed-913e-04718a80fafc | NS   | 5.24.172.in-addr.arpa.   | ns1.devstack.org.                                                   |
| 28346a94-790c-4ae1-9f7b-069d98d9efbd | SOA  | 5.24.172.in-addr.arpa.   | ns1.devstack.org. admin.example.org. 1455563035 3600 600 86400 3600 |
| cfcaf537-844a-4c1b-9b5f-464ff07dca33 | PTR  | 9.5.24.172.in-addr.arpa. | my-vm.example.org.                                                  |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+

$ designate record-list 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
+--------------------------------------+------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
| id                                   | type | name                                                                      | data                                                                |
+--------------------------------------+------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
| d8923354-13eb-4bd9-914a-0a2ae5f95989 | SOA  | 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.8.b.d.0.1.0.0.2.ip6.arpa.       | ns1.devstack.org. admin.example.org. 1455563036 3600 600 86400 3600 |
| 72e60acd-098d-41ea-9771-5b6546c9c06f | NS   | 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.8.b.d.0.1.0.0.2.ip6.arpa.       | ns1.devstack.org.                                                   |
| 877e0215-2ddf-4d01-a7da-47f1092dfd56 | PTR  | 9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.8.b.d.0.1.0.0.2.ip6.arpa. | my-vm.example.org.                                                  |
+--------------------------------------+------+---------------------------------------------------------------------------+---------------------------------------------------------------------+

Lihat :ref: config-dns-int-ext-serv untuk petunjuk rinci tentang cara membuat jaringan eksternal diakses.

Use case 2: IP Mengambang diterbitkan dengan atribut DNS port terkait

Dalam hal ini digunakan, alamat IP mengambang diterbitkan dalam layanan DNS eksternal dalam hubungannya dengan dns_name port yang terkait dan dns_domain jaringan port. Langkah-langkah untuk mengeksekusi dalam use case adalah sebagai berikut:

  1. Menetapkan nama domain yang valid untuk attribute dns_domain jaringannya. Nama ini harus diakhiri dengan titik (`` .``).

  2. Melakukan boot instance atau alternatif, membuat port menentukan nilai yang valid untuk atribut dns_name nya. Jika port tersebut akan digunakan untuk instance boot, nilai yang diberikan untuk dns_name harus sama dengan hostname dimana layanan Compute akan menetapkan ke instance. Jika tidak, boot akan gagal.

  3. Buat IP mengambang dan mengasosiasikannya ke port.

Berikut ini adalah contoh langkah-langkah:

$ neutron net-update 38c5e950-b450-4c30-83d4-ee181c28aad3 --dns_domain example.org.
Updated network: 38c5e950-b450-4c30-83d4-ee181c28aad3

$ neutron net-show 38c5e950-b450-4c30-83d4-ee181c28aad3
+-------------------------+--------------------------------------+
| Field                   | Value                                |
+-------------------------+--------------------------------------+
| admin_state_up          | True                                 |
| availability_zone_hints |                                      |
| availability_zones      | nova                                 |
| dns_domain              | example.org.                         |
| id                      | 38c5e950-b450-4c30-83d4-ee181c28aad3 |
| mtu                     | 1450                                 |
| name                    | private                              |
| port_security_enabled   | True                                 |
| router:external         | False                                |
| shared                  | False                                |
| status                  | ACTIVE                               |
| subnets                 | 43414c53-62ae-49bc-aa6c-c9dd7705818a |
|                         | 5b9282a1-0be1-4ade-b478-7868ad2a16ff |
| tenant_id               | d5660cb1e6934612a01b4fb2fb630725     |
+-------------------------+--------------------------------------+

$ nova boot --image cirros --flavor 42 \
  --nic net-id=38c5e950-b450-4c30-83d4-ee181c28aad3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Property                             | Value                                                          |
+--------------------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                         |
| OS-EXT-AZ:availability_zone          |                                                                |
| OS-EXT-STS:power_state               | 0                                                              |
| OS-EXT-STS:task_state                | scheduling                                                     |
| OS-EXT-STS:vm_state                  | building                                                       |
| OS-SRV-USG:launched_at               | -                                                              |
| OS-SRV-USG:terminated_at             | -                                                              |
| accessIPv4                           |                                                                |
| accessIPv6                           |                                                                |
| adminPass                            | oTLQLR3Kezmt                                                   |
| config_drive                         |                                                                |
| created                              | 2016-02-15T19:27:34Z                                           |
| flavor                               | m1.nano (42)                                                   |
| hostId                               |                                                                |
| id                                   | 43f328bb-b2d1-4cf1-a36f-3b2593397cb1                           |
| image                                | cirros-0.3.4-x86_64-uec (b9d981eb-d21c-4ce2-9dbc-dd38f3d9015f) |
| key_name                             | -                                                              |
| locked                               | False                                                          |
| metadata                             | {}                                                             |
| name                                 | my_vm                                                          |
| os-extended-volumes:volumes_attached | []                                                             |
| progress                             | 0                                                              |
| security_groups                      | default                                                        |
| status                               | BUILD                                                          |
| tenant_id                            | d5660cb1e6934612a01b4fb2fb630725                               |
| updated                              | 2016-02-15T19:27:34Z                                           |
| user_id                              | 8bb6e578cba24e7db9d3810633124525                               |
+--------------------------------------+----------------------------------------------------------------+

$ nova list
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+
| ID                                   | Name  | Status | Task State | Power State | Networks                                                |
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+
| 43f328bb-b2d1-4cf1-a36f-3b2593397cb1 | my_vm | ACTIVE | -          | Running     | private=fda4:653e:71b0:0:f816:3eff:fe16:b5f2, 10.0.0.15 |
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+

$ neutron port-list --device_id 43f328bb-b2d1-4cf1-a36f-3b2593397cb1
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                                                   |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+
| da0b1f75-c895-460f-9fc1-4d6ec84cf85f |      | fa:16:3e:16:b5:f2 | {"subnet_id": "5b9282a1-0be1-4ade-b478-7868ad2a16ff", "ip_address": "10.0.0.15"}                            |
|                                      |      |                   | {"subnet_id": "43414c53-62ae-49bc-aa6c-c9dd7705818a", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe16:b5f2"} |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+

$ neutron port-show da0b1f75-c895-460f-9fc1-4d6ec84cf85f
+-----------------------+-------------------------------------------------------------------------------------------------------------+
| Field                 | Value                                                                                                       |
+-----------------------+-------------------------------------------------------------------------------------------------------------+
| admin_state_up        | True                                                                                                        |
| allowed_address_pairs |                                                                                                             |
| binding:vnic_type     | normal                                                                                                      |
| device_id             | 43f328bb-b2d1-4cf1-a36f-3b2593397cb1                                                                        |
| device_owner          | compute:None                                                                                                |
| dns_assignment        | {"hostname": "my-vm", "ip_address": "10.0.0.15", "fqdn": "my-vm.example.org."}                              |
|                       | {"hostname": "my-vm", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe16:b5f2", "fqdn": "my-vm.example.org."}   |
| dns_name              | my-vm                                                                                                       |
| extra_dhcp_opts       |                                                                                                             |
| fixed_ips             | {"subnet_id": "5b9282a1-0be1-4ade-b478-7868ad2a16ff", "ip_address": "10.0.0.15"}                            |
|                       | {"subnet_id": "43414c53-62ae-49bc-aa6c-c9dd7705818a", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe16:b5f2"} |
| id                    | da0b1f75-c895-460f-9fc1-4d6ec84cf85f                                                                        |
| mac_address           | fa:16:3e:16:b5:f2                                                                                           |
| name                  |                                                                                                             |
| network_id            | 38c5e950-b450-4c30-83d4-ee181c28aad3                                                                        |
| port_security_enabled | True                                                                                                        |
| security_groups       | 1f0ddd73-7e3c-48bd-a64c-7ded4fe0e635                                                                        |
| status                | ACTIVE                                                                                                      |
| tenant_id             | d5660cb1e6934612a01b4fb2fb630725                                                                            |
+-----------------------+-------------------------------------------------------------------------------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| id                                   | type | name         | data                                                                  |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org. | ns1.devstack.org. malavall.us.ibm.com. 1455563783 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org. | ns1.devstack.org.                                                     |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+

$ neutron floatingip-create 41fa3995-9e4a-4cd9-bb51-3e5424f2ff2a \
  --port_id da0b1f75-c895-460f-9fc1-4d6ec84cf85f
Created a new floatingip:
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| dns_domain          |                                      |
| dns_name            |                                      |
| fixed_ip_address    | 10.0.0.15                            |
| floating_ip_address | 172.24.4.4                           |
| floating_network_id | 41fa3995-9e4a-4cd9-bb51-3e5424f2ff2a |
| id                  | e78f6eb1-a35f-4a90-941d-87c888d5fcc7 |
| port_id             | da0b1f75-c895-460f-9fc1-4d6ec84cf85f |
| router_id           | 970ebe83-c4a3-4642-810e-43ab7b0c2b5f |
| status              | DOWN                                 |
| tenant_id           | d5660cb1e6934612a01b4fb2fb630725     |
+---------------------+--------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+
| id                                   | type | name               | data                                                                  |
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org.       | ns1.devstack.org. malavall.us.ibm.com. 1455564861 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org.       | ns1.devstack.org.                                                     |
| 5ff53fd0-3746-48da-b9c9-77ed3004ec67 | A    | my-vm.example.org. | 172.24.4.4                                                            |
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+

Dalam contoh ini, perhatikan bahwa data yang diterbitkan dalam layanan DNS ketika IP mengambang dikaitkan ke port.

Berikut ini adalah catatan PTR diciptakan untuk contoh ini. Perhatikan bahwa untuk IPv4, nilai ipv4_ptr_zone_prefix_size adalah 24. Untuk lebih jelasnya, lihat :ref: config-dns-int-ext-serv:

$ designate record-list 4.24.172.in-addr.arpa.
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| id                                   | type | name                     | data                                                                |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| 2dd0b894-25fa-4563-9d32-9f13bd67f329 | NS   | 4.24.172.in-addr.arpa.   | ns1.devstack.org.                                                   |
| 47b920f1-5eff-4dfa-9616-7cb5b7cb7ca6 | SOA  | 4.24.172.in-addr.arpa.   | ns1.devstack.org. admin.example.org. 1455564862 3600 600 86400 3600 |
| fb1edf42-abba-410c-8397-831f45fd0cd7 | PTR  | 4.4.24.172.in-addr.arpa. | my-vm.example.org.                                                  |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+

Use case 3: IP Mengambang diterbitkan dalam layanan DNS eksternal

Dalam use case ini, user memberikan atribut dns_name dan dns_domain ke IP mengambang ketika dibuat. Data IP mengambang akan terlihat dalam layanan DNS eksternal segera itu dibuat. IP mengambang dapat dikaitkan dengan port pada pembuatan atau nanti. Contoh berikut menunjukkan user booting instance dan kemudian menciptakan IP mengambang terkait ke port dialokasikan untuk instance:

$ neutron net-show 38c5e950-b450-4c30-83d4-ee181c28aad3
+-------------------------+--------------------------------------+
| Field                   | Value                                |
+-------------------------+--------------------------------------+
| admin_state_up          | True                                 |
| availability_zone_hints |                                      |
| availability_zones      | nova                                 |
| dns_domain              | example.org.                         |
| id                      | 38c5e950-b450-4c30-83d4-ee181c28aad3 |
| mtu                     | 1450                                 |
| name                    | private                              |
| port_security_enabled   | True                                 |
| router:external         | False                                |
| shared                  | False                                |
| status                  | ACTIVE                               |
| subnets                 | 43414c53-62ae-49bc-aa6c-c9dd7705818a |
|                         | 5b9282a1-0be1-4ade-b478-7868ad2a16ff |
| tenant_id               | d5660cb1e6934612a01b4fb2fb630725     |
+-------------------------+--------------------------------------+

$ nova boot --image cirros --flavor 42 \
  --nic net-id=38c5e950-b450-4c30-83d4-ee181c28aad3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Property                             | Value                                                          |
+--------------------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                         |
| OS-EXT-AZ:availability_zone          |                                                                |
| OS-EXT-STS:power_state               | 0                                                              |
| OS-EXT-STS:task_state                | scheduling                                                     |
| OS-EXT-STS:vm_state                  | building                                                       |
| OS-SRV-USG:launched_at               | -                                                              |
| OS-SRV-USG:terminated_at             | -                                                              |
| accessIPv4                           |                                                                |
| accessIPv6                           |                                                                |
| adminPass                            | HLXGznYqXM4J                                                   |
| config_drive                         |                                                                |
| created                              | 2016-02-15T19:42:44Z                                           |
| flavor                               | m1.nano (42)                                                   |
| hostId                               |                                                                |
| id                                   | 71fb4ac8-eed8-4644-8113-0641962bb125                           |
| image                                | cirros-0.3.4-x86_64-uec (b9d981eb-d21c-4ce2-9dbc-dd38f3d9015f) |
| key_name                             | -                                                              |
| locked                               | False                                                          |
| metadata                             | {}                                                             |
| name                                 | my_vm                                                          |
| os-extended-volumes:volumes_attached | []                                                             |
| progress                             | 0                                                              |
| security_groups                      | default                                                        |
| status                               | BUILD                                                          |
| tenant_id                            | d5660cb1e6934612a01b4fb2fb630725                               |
| updated                              | 2016-02-15T19:42:44Z                                           |
| user_id                              | 8bb6e578cba24e7db9d3810633124525                               |
+--------------------------------------+----------------------------------------------------------------+

$ nova list
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+
| ID                                   | Name  | Status | Task State | Power State | Networks                                                |
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+
| 71fb4ac8-eed8-4644-8113-0641962bb125 | my_vm | ACTIVE | -          | Running     | private=fda4:653e:71b0:0:f816:3eff:fe24:8614, 10.0.0.16 |
+--------------------------------------+-------+--------+------------+-------------+---------------------------------------------------------+

$ neutron port-list --device_id 71fb4ac8-eed8-4644-8113-0641962bb125
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                                                   |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+
| 1e7033fb-8e9d-458b-89ed-8312cafcfdcb |      | fa:16:3e:24:86:14 | {"subnet_id": "5b9282a1-0be1-4ade-b478-7868ad2a16ff", "ip_address": "10.0.0.16"}                            |
|                                      |      |                   | {"subnet_id": "43414c53-62ae-49bc-aa6c-c9dd7705818a", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe24:8614"} |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+

$ neutron port-show 1e7033fb-8e9d-458b-89ed-8312cafcfdcb
+-----------------------+-------------------------------------------------------------------------------------------------------------+
| Field                 | Value                                                                                                       |
+-----------------------+-------------------------------------------------------------------------------------------------------------+
| admin_state_up        | True                                                                                                        |
| allowed_address_pairs |                                                                                                             |
| binding:vnic_type     | normal                                                                                                      |
| device_id             | 71fb4ac8-eed8-4644-8113-0641962bb125                                                                        |
| device_owner          | compute:None                                                                                                |
| dns_assignment        | {"hostname": "my-vm", "ip_address": "10.0.0.16", "fqdn": "my-vm.example.org."}                              |
|                       | {"hostname": "my-vm", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe24:8614", "fqdn": "my-vm.example.org."}   |
| dns_name              | my-vm                                                                                                       |
| extra_dhcp_opts       |                                                                                                             |
| fixed_ips             | {"subnet_id": "5b9282a1-0be1-4ade-b478-7868ad2a16ff", "ip_address": "10.0.0.16"}                            |
|                       | {"subnet_id": "43414c53-62ae-49bc-aa6c-c9dd7705818a", "ip_address": "fda4:653e:71b0:0:f816:3eff:fe24:8614"} |
| id                    | 1e7033fb-8e9d-458b-89ed-8312cafcfdcb                                                                        |
| mac_address           | fa:16:3e:24:86:14                                                                                           |
| name                  |                                                                                                             |
| network_id            | 38c5e950-b450-4c30-83d4-ee181c28aad3                                                                        |
| port_security_enabled | True                                                                                                        |
| security_groups       | 1f0ddd73-7e3c-48bd-a64c-7ded4fe0e635                                                                        |
| status                | ACTIVE                                                                                                      |
| tenant_id             | d5660cb1e6934612a01b4fb2fb630725                                                                            |
+-----------------------+-------------------------------------------------------------------------------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| id                                   | type | name         | data                                                                  |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org. | ns1.devstack.org. malavall.us.ibm.com. 1455565110 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org. | ns1.devstack.org.                                                     |
+--------------------------------------+------+--------------+-----------------------------------------------------------------------+

$ neutron floatingip-create 41fa3995-9e4a-4cd9-bb51-3e5424f2ff2a \
  --dns_domain example.org. --dns_name my-floatingip
Created a new floatingip:
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| dns_domain          | example.org.                         |
| dns_name            | my-floatingip                        |
| fixed_ip_address    |                                      |
| floating_ip_address | 172.24.4.5                           |
| floating_network_id | 41fa3995-9e4a-4cd9-bb51-3e5424f2ff2a |
| id                  | 9f23a9c6-eceb-42eb-9f45-beb58c473728 |
| port_id             |                                      |
| router_id           |                                      |
| status              | DOWN                                 |
| tenant_id           | d5660cb1e6934612a01b4fb2fb630725     |
+---------------------+--------------------------------------+

$ designate record-list example.org.
+--------------------------------------+------+----------------------------+-----------------------------------------------------------------------+
| id                                   | type | name                       | data                                                                  |
+--------------------------------------+------+----------------------------+-----------------------------------------------------------------------+
| 10a36008-6ecf-47c3-b321-05652a929b04 | SOA  | example.org.               | ns1.devstack.org. malavall.us.ibm.com. 1455566486 3600 600 86400 3600 |
| 56ca0b88-e343-4c98-8faa-19746e169baf | NS   | example.org.               | ns1.devstack.org.                                                     |
| 8884c56f-3ef5-446e-ae4d-8053cc8bc2b4 | A    | my-floatingip.example.org. | 172.24.4.5                                                            |
+--------------------------------------+------+----------------------------+-----------------------------------------------------------------------+

Perhatikan bahwa dalam use case:

  • Attribute dns_name and dns_domain dari IP mengambang harus ditentukan bersama-sama pada pembuatan. Mereka tidak dapat ditugaskan ke IP mengambang secara terpisah.

  • dns_name dan dns_domain dari IP mengambang didahului, untuk tujuan yang diterbitkan dalam layanan DNS eksternal, di atas dns_name port yang terkait dan `` dns_domain`` dari jaringan port, apakah mereka ditentukan atau tidak. Hanya dns_name dan dns_domain dari IP mengambang diterbitkan dalam layanan DNS eksternal.

Berikut ini adalah catatan PTR diciptakan untuk contoh ini. Perhatikan bahwa untuk IPv4, nilai ipv4_ptr_zone_prefix_size adalah 24. Untuk lebih jelasnya, lihat :ref: config-dns-int-ext-serv:

$ designate record-list 4.24.172.in-addr.arpa.
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| id                                   | type | name                     | data                                                                |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+
| 2dd0b894-25fa-4563-9d32-9f13bd67f329 | NS   | 4.24.172.in-addr.arpa.   | ns1.devstack.org.                                                   |
| 47b920f1-5eff-4dfa-9616-7cb5b7cb7ca6 | SOA  | 4.24.172.in-addr.arpa.   | ns1.devstack.org. admin.example.org. 1455566487 3600 600 86400 3600 |
| 589a0171-e77a-4ab6-ba6e-23114f2b9366 | PTR  | 5.4.24.172.in-addr.arpa. | my-floatingip.example.org.                                          |
+--------------------------------------+------+--------------------------+---------------------------------------------------------------------+

Pertimbangan kinerja

Hanya untuk Use case 1: Port diterbitkan langsung dalam layanan DNS eksternal, jika port ekstensi mengikat diaktifkan dalam layanan Networking, layanan Compute akan mengeksekusi salah satu tambahan operasi update port ketika mengalokasikan port instance selama proses boot . Ini mungkin memiliki efek yang merugikan nyata dalam kinerja proses boot yang harus dievaluasi sebelum adopsi dari kasus penggunaan ini.

Konfigurasi OpenStack Networking untuk integrasi dengan layanan DNS eksternal

Langkah pertama untuk mengkonfigurasi integrasi dengan layanan DNS eksternal adalah untuk mengaktifkan fungsi yang dijelaskan dalam :ref: config-dns-int-dns-resolution. Setelah ini dilakukan, pengguna harus mengambil langkah-langkah berikut dan restart neutron-server.

  1. Mengedit bagian [default] `` dari ``/etc/neutron/neutron.conf dan menentukan driver layanan DNS eksternal yang akan digunakan dalam parameter external_dns_driver. Opsi valid didefinisikan dalam namespace neutron.services.external_dns_drivers. Contoh berikut menunjukkan cara mengatur driver untuk layanan DNS OpenStack:

    external_dns_driver = designate
    
  2. Jika layanan OpenStack DNS adalah target DNS eksternal, bagian [designate] dari /etc/neutron/neutron.conf harus menentukan parameter berikut:

    • `` Url``: layanan DNS OpenStack URL endpoint publik.

    • allow_reverse_dns_lookup: nilai boolean yang menentukan apakah untuk mengaktifkan atau tidak pembuatan reverse lookup (PTR) catatan.

    • admin_auth_url: layanan Identity admin otorisasi endpoint url. Endpoint ini akan digunakan oleh layanan Networking untuk mengotentikasi sebagai user admin membuat dan memperbarui reverse lookup (PTR) zona.

    • admin_username: user admin untuk digunakan oleh layanan Networking untuk membuat dan memperbarui reverse lookup (PTR) zona.

    • admin_password: password dari user admin untuk digunakan oleh layanan Networking untuk membuat dan memperbarui reverse lookup (PTR) zona.

    • admin_tenant_name: proyek user admin untuk digunakan oleh layanan Networking untuk membuat dan memperbarui reverse lookup (PTR) zona.

    • ipv4_ptr_zone_prefix_size: ukuran dalam bit awalan untuk IPv4 reverse lookup (PTR) zona.

    • ipv6_ptr_zone_prefix_size: ukuran dalam bit awalan untuk IPv6 reverse lookup (PTR) zona.

    Berikut ini adalah contoh:

    [designate]
    url = http://55.114.111.93:9001/v2
    admin_auth_url = http://55.114.111.93:35357/v2.0
    admin_username = neutron
    admin_password = x5G90074
    admin_tenant_name = service
    allow_reverse_dns_lookup = True
    ipv4_ptr_zone_prefix_size = 24
    ipv6_ptr_zone_prefix_size = 116
    

Konfigurasi jaringan eksternal diakses untuk use case 1

Dalam:ref:config-dns-use-case-1, jaringan eksternal dapat diakses harus memenuhi persyaratan sebagai berikut:

  • Jaringan tidak dapat memiliki atribut router: external diatur untuk True.

  • Jenis jaringan dapat FLAT, VLAN, GRE, VXLAN atau GENEVE.

  • Untuk jenis jaringan VLAN, GRE, VXLAN atau GENEVE, ID segmentasi harus berada di luar rentang ditugaskan untuk jaringan tenant.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.