Integrasi DNS

Integrasi DNS

Halaman ini berfungsi sebagai panduan 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 interaksinya dengan layanan Compute.
  • Integrasi layanan Compute dan layanan Networking dengan DNSaaS (DNS-as-a-Service) eksternal.

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

Resource dns_name dns_domain
Port-Port Yes No
Networks No Yes
Floating IPs Yes Yes

Layanan Networking resolusi DNS internal

Layanan Networking memungkinkan pengguna 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 (nilai default) openstacklocal ke parameter dns_domain dalam bagian [default]. Sebagai contoh:

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

    [ml2]
    extension_drivers = port_security,dns
    

Setelah memulai kembali neutron-server, pengguna akan dapat menetapkan atribut dns_name ke portnya.

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 pembuatan port dengan my-port dalam attributnya dns_name.

Catatan

Nama yang ditugaskan ke port oleh layanan Jaringan 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, terjadi pengungkitkan oleh layanan Compute saat membuat instance. Ketika mengalokasikan port untuk instance saat boot, layanan Compute akan mengisi atribut port dns_name ini dengan atribut instance hostname, yang merupakan versi DNS yang 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, yang menunjukkan bagaimana hostname akan mengisi atribut dns_name dari port yang dialokasikan:

$ openstack server create --image cirros --flavor 42 \
  --nic net-id=37aaff3a-6047-45ac-bf4f-a825e56fd2b3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Field                                | 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.5-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 pengguna, my_vm, disterilkan oleh layanan Compute dan menjadi my-vm sebagai `` dns_name`` port.
  • Atribut dns_assignment port menunjukkan bahwa FQDN nya adalah my-vm.example.org. dalam layanan Jaringan DNS internal, yang merupakan hasil dari penggabungan dns_name port dengan nilai yang dikonfigurasi dalam yang parameter dns_domain di neutron.conf, seperti yang dijelaskan sebelumnya.
  • Atribut dns_assignment juga menunjukkan bahwa hostname milik port di DNS internal layanan Networking adalah``my-vm``.
  • Dari pada memiliki layanan Compute membuat port untuk instance, pengguna mungkin telah membuatnya dan menugaskan nilai untuk atribut dns_name nya. Dalam hal ini, nilai yang diberikan kepada atribut dns_name harus sama dengan nilai dimana layanan Compute akan menetapkan ke hostname instance nya, dalam contoh ini my-vm. Jika tidak, booting instance akan gagal.

Integrasi dengan layanan DNS eksternal

Pengguna juga dapat mengintegrasikan layanan Networking dan Compute dengan DNS eksternal. Untuk mencapai hal ini, pengguna harus:

  1. Aktifkan fungsi yang dijelaskan dalam Layanan Networking resolusi DNS internal.
  2. Lakukan konfigurasi 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 :ref: config-dns-int-ext-serv.

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

  • Contoh ini menganggap layanan DNS OpenStack sebagai DNS eksternal.
  • Catatan A, AAAA and PTR akan dibuat di layanan DNS.
  • Sebelum melaksanakan salah satu use case, pengguna harus membuat dalam layanan DNS di bawah proyeknya zona DNS dimana catatan A dan AAAA 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 yang diterbitkan secara langsung dalam layanan DNS eksternal

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

  1. Tetapkan nama domain yang valid untuk atribut dns_domain milik jaringan. Nama ini harus diakhiri dengan titik (.).
  2. Boot instance yang menentukan jaringan accessible secara eksternal. Atau, buatlah port pada jaringan accessible secara eksternal yang 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 DNS milik port akan diterbitkan dalam layanan DNS eksternal. Ini adalah contohnya:

$ 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                                                        |
+--------------------------------------+------+--------------------+-----------------------------------------------------------------------+

$ openstack server create --image cirros --flavor 42 \
  --nic port-id=04be331b-dc5e-410a-9103-9c8983aeb186 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Field                                | 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.5-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                               |
+--------------------------------------+----------------------------------------------------------------+

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

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

  • Data milk 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 yang dibuat 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 Lakukan konfigurasi OpenStack Networking untuk integrasi dengan layanan DNS eksternal:

$ 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 Lakukan konfigurasi OpenStack Networking untuk integrasi dengan layanan DNS eksternal untuk petunjuk rinci tentang cara membuat jaringan yang dapat diakses secara eksternal.

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

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

  1. Tetapkan nama domain yang valid untuk atribut dns_domain milik jaringan. Nama ini harus diakhiri dengan titik (.).
  2. Boot instance atau alternatifnya, buatlah port yang menetapkan nilai valid untuk atribut dns_name. Jika port tersebut akan digunakan untuk boot instance, nilai yang ditetapkan 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     |
+-------------------------+--------------------------------------+

$ openstack server create --image cirros --flavor 42 \
  --nic net-id=38c5e950-b450-4c30-83d4-ee181c28aad3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Field                                | 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.5-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                               |
+--------------------------------------+----------------------------------------------------------------+

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

$ 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 yang dibuat 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, pengguna memberikan atribut dns_name dan dns_domain ke IP mengambang ketika dibuat. Data IP mengambang akan terlihat dalam layanan DNS eksternal segera setelah itu dibuat. IP mengambang dapat dikaitkan dengan port ketika pembuatan atau nanti. Contoh berikut menunjukkan bagaimana pengguna booting instance dan kemudian membuat IP mengambang terkait ke port yang 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     |
+-------------------------+--------------------------------------+

$ openstack server create --image cirros --flavor 42 \
  --nic net-id=38c5e950-b450-4c30-83d4-ee181c28aad3 my_vm
+--------------------------------------+----------------------------------------------------------------+
| Field                                | 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.5-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                               |
+--------------------------------------+----------------------------------------------------------------+

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

$ 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 dalam use case ini:

  • Atribut dns_name dan 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 berada di awal (have precedence), untuk tujuan penerbitan dalam layanan DNS eksternal, di atas dns_name port yang terkait dan dns_domain dari jaringan port, apakah mereka dibuat spesifik atau tidak. Hanya dns_name dan dns_domain dari IP mengambang akan diterbitkan dalam layanan DNS eksternal.

Berikut ini adalah catatan PTR yang dibuat 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 yang diterbitkan secara langsung dalam layanan DNS eksternal, jika port yang mengikat ekstensi diaktifkan dalam layanan Networking, layanan Compute akan mengeksekusi operasi update satu tambahan port ketika pengalokasian port instance selama proses boot . Ini mungkin memiliki efek yang merugikan nyata dalam kinerja proses boot yang harus dievaluasi sebelum adopsi dari use case ini.

Lakukan konfigurasi OpenStack Networking untuk integrasi dengan layanan DNS eksternal

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

  1. Edit [default] section of /etc/neutron/neutron.conf dan tentukan 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 mendefiniskan parameter berikut:

    • url: URL endpoint publik layanan DNS OpenStack.
    • allow_reverse_dns_lookup: nilai boolean yang menspesifikasi apakah mengaktifkan atau tidak mengaktifkan pembuatan reverse lookup (PTR) record.
    • admin_auth_url: admin authorization endpoint url layanan Identity. Endpoint ini akan digunakan oleh layanan Networking untuk mengotentikasi sebagai user admin membuat dan memperbarui zona reverse lookup (PTR).
    • admin_username: user admin yang digunakan oleh layanan Networking membuat dan memperbarui reverse zona lookup (PTR).
    • admin_password: password dari user admin untuk digunakan oleh layanan Networking membuat dan memperbarui zona reverse lookup (PTR).
    • admin_tenant_name: proyek user admin untuk digunakan oleh layanan Networking membuat dan memperbarui zona reverse lookup (PTR).
    • ipv4_ptr_zone_prefix_size: ukuran dalam bit dari awalan (prefix) untuk zona IPv4 reverse lookup (PTR).
    • ipv6_ptr_zone_prefix_size: ukuran dalam bit dari awalan (prefix) untuk zona IPv6 reverse lookup (PTR).
    • insecure: Menonaktifkan validasi sertifikat SSL. Secara default, sertifikat divalidasi.
    • cafile: Path to a valid Certificate Authority (CA) certificate.

    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
    cafile = /etc/ssl/certs/my_ca_cert
    

Konfigurasi jaringan yang dapat diakses secara eksternal untuk use case 1

Dalam Use case 1: Port yang diterbitkan secara langsung dalam layanan DNS eksternal, jaringan yang dapat diakses secara eksternal harus memenuhi persyaratan sebagai berikut:

  • Jaringan tidak dapat memiliki atribut router:external atur ke True.
  • Tipe jaringan dapat FLAT, VLAN, GRE, VXLAN atau GENEVE.
  • Untuk tipe jaringan VLAN, GRE, VXLAN atau GENEVE, ID segmentasi harus berada di luar rentang yang ditetapkan untuk jaringan tenant (penyewa).
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.