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

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

144次阅读
没有评论

共计 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=admin@rhlab.dev 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字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美中日韩免费观看网站 | 日本一级级特黄特色大片 | 国内精品国产三级国产av | 爱爱www在线观看视频高清 | 色拍拍在线精品视频 | 爽妇综合网 | 成人在线免费观看 | 亚洲精品一区亚洲精品 | 最近中文字幕视频在线资源 | 人妻熟妇乱又伦精品视频中文字幕 | 亚洲福利一区 | 一级片免费网站 | 国产一级爱c片免费播放 | 精品国产麻豆免费人成网站 | 人妻精品无码一区二区三区 | 亚洲日韩欧美一区二区三区在线 | 久久久久亚洲av无码专区导航 | 亚洲男人天堂2018 | 日韩中文字幕在线亚洲一区 | 日本成人毛片 | 亚洲精品夜夜夜妓女网 | 亚洲不卡av不卡一区二区 | 日本三级黄在线观看 | 美女黄色一级毛片 | 男人都懂www深夜免费网站 | 久操综合在线 | 亚洲国产美女精品久久久久 | 九九综合九色综合网站 | 国内久久精品视频 | 疯狂做受xxxx高潮欧美日本 | 久久无码人妻一区二区三区午夜 | 成人爱做日本视频免费 | 精品亚洲一区二区三区在线观看 | 一区二区三区高清视频在线观看 | 亚洲国产综合无码一区 | 亚洲狠狠做深爱婷婷影院 | 无码一区二区三区中文字幕 | 亚洲免费网站观看视频 | 爆爽久久久一区二区又大又黄又嫩 | 国产成人捆绑调教在线视频 | 免费观看亚洲人成网站 |