在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

怎么用OpenStack Designate构建一个DNS即服务

120次阅读
没有评论

共计 6701 个字符,预计需要花费 17 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了怎么用 OpenStack Designate 构建一个 DNS 即服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

Designate 是一个多租户的 DNS 即服务,它包括一个用于域名和记录管理的 REST API 和集成了 Neutron 的框架,并支持 Bind9。

DNSaaS 可以提供:

一个管理区域和记录的干净利落的 REST API

自动生成记录(集成 OpenStack)

支持多个授权名字服务器

可以托管多个项目 / 组织

Designate s architecture

这篇文章解释了如何在 CentOS 和 RHEL 上手动安装和配置 Designate 的当前版本,但是同样的配置也可以用在其它发行版上。

在 OpenStack 上安装 Designate

在我的 GitHub 仓库里,我已经放了 Ansible 的 bind 和 Designate 角色的示范设置。

这个设置假定 bing 服务是安装 OpenStack 控制器节点之外(即使你可以在本地安装 bind)。

1、在 OpenStack 控制节点上安装 Designate 和 bind 软件包:

# yum install openstack-designate-* bind bind-utils -y

2、创建 Designate 数据库和用户:

MariaDB [(none)]  CREATE DATABASE designate CHARACTER SET utf8 COLLATE utf8_general_ci; MariaDB [(none)]  GRANT ALL PRIVILEGES ON designate.* TO \ designate @ localhost  IDENTIFIED BY  rhlab123  MariaDB [(none)]  GRANT ALL PRIVILEGES ON designate.* TO  designate @ %  \IDENTIFIED BY  rhlab123

注意:bind 包必须安装在控制节点之外才能使远程名字服务控制 Remote Name Daemon Control(RNDC)功能正常。

配置 bind(DNS 服务器)

1、生成 RNDC 文件:

rndc-confgen -a -k designate -c /etc/rndc.key -r /dev/urandom cat  EOF  etcrndc.confinclude  /etc/rndc.key options { default-key  designate  default-server {{ DNS_SERVER_IP }}; default-port 953;};EOF

2、将下列配置添加到 named.conf:

include  /etc/rndc.key  controls { inet {{ DNS_SERVER_IP }} allow { localhost;{{ CONTROLLER_SERVER_IP }}; } keys {  designate  };};

在 option 节中,添加:

options { ... allow-new-zones yes; request-ixfr no; listen-on port 53 { any; }; recursion no; allow-query { 127.0.0.1; {{ CONTROLLER_SERVER_IP }}; };};

添加正确的权限:

chown named:named /etc/rndc.keychown named:named /etc/rndc.confchmod 600 /etc/rndc.keychown -v root:named /etc/named.confchmod g+w /var/named # systemctl restart named# setsebool named_write_master_zones 1

3、把 rndc.key 和 rndc.conf 推入 OpenStack 控制节点:

# scp -r /etc/rndc* {{ CONTROLLER_SERVER_IP }}:/etc/

创建 OpenStack Designate 服务和端点

输入:

# openstack user create --domain default --password-prompt designate# openstack role add --project services --user designate admin# openstack service create --name designate --description  DNS  dns # openstack endpoint create --region RegionOne dns public http://{{ CONTROLLER_SERVER_IP }}:9001/# openstack endpoint create --region RegionOne dns internal http://{{ CONTROLLER_SERVER_IP }}:9001/ # openstack endpoint create --region RegionOne dns admin http://{{ CONTROLLER_SERVER_IP }}:9001/

配置 Designate 服务

1、编辑 /etc/designate/designate.conf:

在 [service:api] 节配置 auth_strategy:

[service:api]listen = 0.0.0.0:9001auth_strategy = keystoneapi_base_uri = http://{{ CONTROLLER_SERVER_IP }}:9001/enable_api_v2 = Trueenabled_extensions_v2 = quotas, reports

在 [keystone_authtoken] 节配置下列选项:

[keystone_authtoken]auth_type = passwordusername = designatepassword = rhlab123project_name = serviceproject_domain_name = Defaultuser_domain_name = Defaultwww_authenticate_uri = http://{{ CONTROLLER_SERVER_IP }}:5000/auth_url = http://{{ CONTROLLER_SERVER_IP }}:5000/

在 [service:worker] 节,启用 worker 模型:

enabled = Truenotify = True

在 [storage:sqlalchemy] 节,配置数据库访问:

[storage:sqlalchemy]connection = mysql+pymysql://designate:rhlab123@{{ CONTROLLER_SERVER_IP }}/designate

填充 Designate 数据库:

# su -s /bin/sh -c  designate-manage database sync  designate

2、创建 Designate 的 pools.yaml 文件(包含 target 和 bind 细节):

编辑 /etc/designate/pools.yaml:

- name: default # The name is immutable. There will be no option to change the name after # creation and the only way will to change it will be to delete it # (and all zones associated with it) and recreate it. description: Default Pool attributes: {} # List out the NS records for zones hosted within this pool # This should be a record that is created outside of designate, that # points to the public IP of the controller node. ns_records: - hostname: {{Controller_FQDN}}. # Thisis mDNS priority: 1 # List out the nameservers for this pool. These are the actual BIND servers. # We use these to verify changes have propagated to all nameservers. nameservers: - host: {{ DNS_SERVER_IP }} port: 53 # List out the targets for this pool. For BIND there will be one # entry for each BIND server, as we have to run rndc command on each server targets: - type: bind9 description: BIND9 Server 1 # List out the designate-mdns servers from which BIND servers should # request zone transfers (AXFRs) from. # This should be the IP of the controller node. # If you have multiple controllers you can add multiple masters # by running designate-mdns on them, and adding them here. masters: - host: {{ CONTROLLER_SERVER_IP }} port: 5354 # BIND Configuration options options: host: {{ DNS_SERVER_IP }} port: 53 rndc_host: {{ DNS_SERVER_IP }} rndc_port: 953 rndc_key_file: /etc/rndc.key rndc_config_file: /etc/rndc.conf

填充 Designate 池:

su -s /bin/sh -c  designate-manage pool update  designate

3、启动 Designate 中心和 API 服务:

systemctl enable --now designate-central designate-api

4、验证 Designate 服务运行:

# openstack dns service list +--------------+--------+-------+--------------+| service_name | status | stats | capabilities |+--------------+--------+-------+--------------+| central | UP | - | - || api | UP | - | - || mdns | UP | - | - || worker | UP | - | - || producer | UP | - | - |+--------------+--------+-------+--------------+

用外部 DNS 配置 OpenStack Neutron

1、为 Designate 服务配置 iptables:

# iptables -I INPUT -p tcp -m multiport --dports 9001 -m comment --comment  designate incoming  -j ACCEPT # iptables -I INPUT -p tcp -m multiport --dports 5354 -m comment --comment  Designate mdns incoming  -j ACCEPT # iptables -I INPUT -p tcp -m multiport --dports 53 -m comment --comment  bind incoming  -j ACCEPT # iptables -I INPUT -p udp -m multiport --dports 53 -m comment --comment  bind/powerdns incoming  -j ACCEPT # iptables -I INPUT -p tcp -m multiport --dports 953 -m comment --comment  rndc incoming - bind only  -j ACCEPT # service iptables save; service iptables restart# setsebool named_write_master_zones 1

2、编辑 /etc/neutron/neutron.conf 的 [default] 节:

external_dns_driver = designate

3、在 /etc/neutron/neutron.conf 中添加 [designate] 节:

[designate]url = http://{{ CONTROLLER_SERVER_IP }}:9001/v2 ## This end point of designateauth_type = passwordauth_url = http://{{ CONTROLLER_SERVER_IP }}:5000username = designatepassword = rhlab123project_name = servicesproject_domain_name = Defaultuser_domain_name = Defaultallow_reverse_dns_lookup = Trueipv4_ptr_zone_prefix_size = 24ipv6_ptr_zone_prefix_size = 116

4、编辑 neutron.conf 的 dns_domain:

dns_domain = rhlab.dev.

重启:

# systemctl restart neutron-*

5、在 /etc/neutron/plugins/ml2/ml2_conf.ini 中的组成层 2(ML2)中添加 dns:

extension_drivers=port_security,qos,dns

6、在 Designate 中添加区域:

# openstack zone create  ndash;[email protected] rhlab.dev.

在 rhlab.dev 区域中添加记录:

# openstack recordset create --record  192.168.1.230  --type A rhlab.dev. Test

Designate 现在就安装和配置好了。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“怎么用 OpenStack Designate 构建一个 DNS 即服务”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计6701字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 在线精品91青草国产在线观看 | 熟女熟妇伦av网站 | 色天天久久| 中文在线最新版天堂 | 无码精品久久久久久人妻中字 | 亚洲欧洲精品一区二区三区 | 日韩欧美大陆 | 麻豆精产一二三产区 | 亚洲一区二区三区四区视频 | 99青草青草久热精品视频 | 国产成人精品一区二三区在线观看 | 天天干天天拍天天射天天添天天爱 | 久草福利在线播放 | 手机在线观看av片 | 久久精品夜夜夜夜夜久久 | 亚洲美国产亚洲av | 国产精品爽爽久久久久久蜜臀 | 国产aaaaa一级毛片 | 亚洲国产欧美国产综合久久 | 性xxxx视频播放免费 | 极品少妇被猛的白浆直喷白浆 | 最新更新国内自拍视频 | 日本黄网在线观看 | 久久精品人人爽人人爽快 | 亚洲av成人片无码 | 亚洲第一精品夜夜躁人人爽 | 国产亚洲精品久久久久久久软件 | 国产一区二区在线播放 | 午夜三级三级三点在线 | 亚洲乱码一区二区三区国产精品 | 亚州久久 | 最新亚洲人成网站在线影院 | 无码人妻av一二区二区三区 | 黄色一级大片免费看 | 精品女同同性视频很黄很色 | 嫩草视频在线观看www视频 | 亚洲 国产 图片 | 亚洲第一页中文字幕 | 四虎免费视频 | 亚洲欧美日韩中文在线制服 | 欧美性色黄大片一级毛片视频 |