跳到主內容
版本:2.4

當浮動IP被指派給虛擬機器時,自動使用預設網域建立子網域

Setting the DNS of Network

前往管理員 > 網路 > 網路清單,點選您網路清單中的 網路名稱,接著按下操作按鈕 編輯子網路,進入子網路詳細資訊頁面後輸入您的 DNS 名稱伺服器(應為控制器 IP 位址或 VIP),最後點擊 儲存

/assets/dns/DNSaaS06.png

連線至終端機介面

Warning: Permanently added '192.168.1.210' (ECDSA) to the list of known hosts.
Password:
Welcome to the Cube Appliance
Last login: Wed Feb 4 05:26:05 2020 from 192.168.1.22
#

Load server Credentials

# . /etc/admin-openrc.sh

Create a Zone

# openstack zone create bigstack.co. --email [email protected]
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| action | CREATE |
| attributes | |
| created_at | 2020-02-05T04:54:29.000000 |
| description | None |
| email | [email protected] |
| id | 20af6f9c-b9a6-4b1d-a912-487b86fb9c6d |
| masters | |
| name | bigstack.co. |
| pool_id | 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| project_id | 03525522f7c547cd88627c626896d04a |
| serial | 1580964869 |
| status | PENDING |
| transferred_at | None |
| ttl | 3600 |
| type | PRIMARY |
| updated_at | None |
| version | 1 |
+----------------+--------------------------------------+

[network_id] Show network list

# openstack network list
+--------------------------------------+-------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+-------------+--------------------------------------+
| 62420cb0-67c3-476a-ae7b-09d64698b303 | lb-mgmt-net | fcce41dd-b99a-482c-8117-b6791f6ae743 |
| bdf01063-4500-4266-9363-36414ba6d252 | internet | 3caa9b99-e3a9-453c-9b91-13dd67fa78dd |
| f5050464-a1e4-4e19-8c04-3949a5cf0340 | private | 24d713e8-5db4-4fc5-bac0-747547737bb0 |
+--------------------------------------+-------------+--------------------------------------+

[dns_domain] Set the private network [network_id] default domain as bigstack.co.

# neutron net-update f5050464-a1e4-4e19-8c04-3949a5cf0340 --dns_domain bigstack.co.
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Updated network: f5050464-a1e4-4e19-8c04-3949a5cf0340
# openstack network show f5050464-a1e4-4e19-8c04-3949a5cf0340
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | nova |
| created_at | 2020-02-04T06:41:08Z |
| description | |
| dns_domain | bigstack.co. |
| id | f5050464-a1e4-4e19-8c04-3949a5cf0340 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | None |
| is_vlan_transparent | None |
| mtu | 1450 |
| name | private |
| port_security_enabled | True |
| project_id | 03525522f7c547cd88627c626896d04a |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 100 |
| qos_policy_id | None |
| revision_number | 6 |
| router:external | Internal |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | 24d713e8-5db4-4fc5-bac0-747547737bb0 |
| tags | |
| updated_at | 2020-02-05T05:30:48Z |
+---------------------------+--------------------------------------+

Create a Virtual Machine on a private [network_id]

# openstack server create --image Cirros --flavor m1.tiny --nic net-id=f5050464-a1e4-4e19-8c04-3949a5cf0340 test-1
+-------------------------------------+----------------------------------------------------------+
| Field | Value |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | AUTO |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | sky8 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | sky8 |
| OS-EXT-SRV-ATTR:instance_name | instance-0000000f |
| OS-EXT-STS:power_state | Running |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2020-02-05T05:32:19.000000 |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | private=192.168.100.27 |
| config_drive | |
| created | 2020-02-05T05:32:01Z |
| flavor | m1.tiny (5fb04908-6596-43bd-98e2-9bd3acb7d970) |
| hostId | 56672bf7f406222f8d15759ae92bc92ea3e89098b8cff785ef1133a6 |
| id | e136f2ad-3c33-40c9-9248-11cd5c49411e |
| image | |
| key_name | roy |
| name | test-1 |
| progress | 0 |
| project_id | 03525522f7c547cd88627c626896d04a |
| properties | |
| security_groups | name='default' |
| status | ACTIVE |
| updated | 2020-02-05T05:32:19Z |
| user_id | d23281f2c2d141af983071f86e53fa3c |
| volumes_attached | id='fe6b225e-4ef8-47b0-b9b1-62cf3d9e57ce' |
+-------------------------------------+----------------------------------------------------------+

[port_id] Look up for network port ID

# openstack port list
+--------------------------------------+------------------------+-------------------+-------------------------------------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------------------------+-------------------+-------------------------------------------------------------------------------+--------+
| 982ddbba-05ed-4665-be07-d7bb28311212 | | fa:16:3e:58:df:bb | ip_address='192.168.100.27', subnet_id='24d713e8-5db4-4fc5-bac0-747547737bb0' | ACTIVE |
+--------------------------------------+------------------------+-------------------+-------------------------------------------------------------------------------+--------+

Check show detail of network port by [port_id]

# openstack port show 982ddbba-05ed-4665-be07-d7bb28311212
+-----------------------+-------------------------------------------------------------------------------+
| Field | Value |
+-----------------------+-------------------------------------------------------------------------------+
| admin_state_up | UP |
| allowed_address_pairs | |
| binding_host_id | sky8 |
| binding_profile | |
| binding_vif_details | port_filter='True' |
| binding_vif_type | bridge |
| binding_vnic_type | normal |
| created_at | 2020-02-05T05:32:05Z |
| data_plane_status | None |
| description | |
| device_id | e136f2ad-3c33-40c9-9248-11cd5c49411e |
| device_owner | compute:nova |
| dns_assignment | fqdn='test-1.cube.local.', hostname='test-1', ip_address='192.168.100.27' |
| dns_name | test-1 |
| extra_dhcp_opts | |
| fixed_ips | ip_address='192.168.100.27', subnet_id='24d713e8-5db4-4fc5-bac0-747547737bb0' |
| id | 982ddbba-05ed-4665-be07-d7bb28311212 |
| ip_address | None |
| mac_address | fa:16:3e:58:df:bb |
| name | |
| network_id | f5050464-a1e4-4e19-8c04-3949a5cf0340 |
| option_name | None |
| option_value | None |
| port_security_enabled | True |
| project_id | 03525522f7c547cd88627c626896d04a |
| qos_policy_id | None |
| revision_number | 9 |
| security_group_ids | 74e6a165-9c94-47b5-89ba-21c8d113df17 |
| status | ACTIVE |
| subnet_id | None |
| tags | |
| trunk_details | None |
| updated_at | 2020-02-05T05:32:19Z |
+-----------------------+-------------------------------------------------------------------------------+

[zone_id] Look for zone ID of domain

# openstack zone show bigstack.co.
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| action | NONE |
| attributes | |
| created_at | 2020-02-05T08:43:12.000000 |
| description | None |
| email | [email protected] |
| id | a475d193-7873-4f2a-9d90-c7792fae6734 |
| masters | |
| name | bigstack.co |
| pool_id | 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| project_id | 03525522f7c547cd88627c626896d04a |
| serial | 1580898425 |
| status | ACTIVE |
| transferred_at | None |
| ttl | 3600 |
| type | PRIMARY |
| updated_at | 2020-02-05T10:27:10.000000 |
| version | 4 |
+----------------+--------------------------------------+

透過 [zone_id] 查詢更改前的記錄清單

# openstack recordset list a475d193-7873-4f2a-9d90-c7792fae6734
+--------------------------------------+-------------------+------+--------------------------------------------------------+--------+--------+
| id | name | type | records | status | action |
+--------------------------------------+-------------------+------+--------------------------------------------------------+--------+--------+
| 0f161f6e-6a8f-4d60-aeb4-56769bcba66c | bistack.co. | NS | sky8.cube.org. | ACTIVE | NONE |
| 33d38c32-eac9-4fb4-a665-fcc0f3c57ac8 | bistack.co. | SOA | sky8.cube.org. c.l.com. 1580898425 3538 600 86400 3600 | ACTIVE | NONE |
+--------------------------------------+-------------------+------+--------------------------------------------------------+--------+--------+

[浮動IP位址] 建立浮動IP

# openstack floating ip create internet
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| created_at | 2020-02-06T04:27:21Z |
| description | |
| fixed_ip_address | None |
| floating_ip_address | 192.168.1.143 |
| floating_network_id | bdf01063-4500-4266-9363-36414ba6d252 |
| id | b998ad59-0c9b-4d5a-8702-1df8c8490232 |
| name | 192.168.1.143 |
| port_id | None |
| project_id | 03525522f7c547cd88627c626896d04a |
| revision_number | 0 |
| router_id | None |
| status | DOWN |
| updated_at | 2020-02-06T04:27:21Z |
+---------------------+--------------------------------------+

將浮動IP掛載至 [port_id]

# openstack floating ip set --port 982ddbba-05ed-4665-be07-d7bb28311212 192.168.1.143

透過 [zone_id] 查詢更改後的記錄清單

# openstack recordset list a475d193-7873-4f2a-9d90-c7792fae6734
+--------------------------------------+---------------------+------+--------------------------------------------------------+--------+--------+
| id | name | type | records | status | action |
+--------------------------------------+---------------------+------+--------------------------------------------------------+--------+--------+
| 0f161f6e-6a8f-4d60-aeb4-56769bcba66c | bistack.co. | NS | sky8.cube.org. | ACTIVE | NONE |
| 33d38c32-eac9-4fb4-a665-fcc0f3c57ac8 | bistack.co. | SOA | sky8.cube.org. c.l.com. 1580898425 3538 600 86400 3600 | ACTIVE | NONE |
| 0abfc156-fb0b-441a-af5b-f820ce2bfa0f | test-1.bigstack.co. | A | 192.168.1.143 | ACTIVE | NONE |
+--------------------------------------+---------------------+------+--------------------------------------------------------+--------+--------+

列出你的虛擬機器

# openstack server list
+--------------------------------------+--------+--------+---------------------------------------+--------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+--------+--------+---------------------------------------+--------+---------+
| e136f2ad-3c33-40c9-9248-11cd5c49411e | test-1 | ACTIVE | private=192.168.100.27, 192.168.1.143 | Cirros | m1.tiny |
+--------------------------------------+--------+--------+---------------------------------------+--------+---------+

總結

在此使用案例中,浮動 IP 的位址會與其關聯端口的 dns_name 及該端口所屬網路的 dns_domain 一併發佈至外部 DNS 服務。 此使用案例中需執行的步驟如下:

  • 將有效的網域名稱指派給網路的 dns_domain 屬性。 此名稱必須以句點 (.) 結尾。
  • 啟動一個虛擬機,或者另行建立一個端口,並為其 dns_name 屬性指定一個有效的值。 若該端口將用於虛擬機啟動,則 dns_name 的值必須等同於 Compute 服務將指派給該虛擬機的主機名稱。 否則,開機將失敗。
  • 建立一個浮動IP,並將其綁定至該埠。