【问题标题】:Creating master and slaves DNS with puppet module camptocamp bind使用 puppet 模块 camptocamp 绑定创建主从 DNS
【发布时间】:2023-03-23 08:05:01
【问题描述】:

尝试使用 puppet 模块 camptocamp 绑定创建主从(冗余)DNS。在 slave 配置文件中,我将 transfer_source => '192.168.1.20' 设置为 master ip: 192.168.1.20。然后它应该将 dns 记录从主服务器同步并复制到从服务器。

但我抱怨说它只能设置为奴隶区。我已经按照模块的 puppet forge 的自述文件:https://forge.puppet.com/camptocamp/bind/readme

dnsmaster.pp

class profile::dnsbind::server {

include 'bind'

bind::zone {'example.com':
  ensure       => 'present',
  zone_contact => 'contact.example.com',
  zone_ns      => ['ns0.example.com'],
  zone_serial  => '2012112901',
  zone_ttl     => '604800',
  zone_origin  => 'example.com',
}

bind::a { 'example.com':
  ensure    => 'present',
  zone      => 'example.com',
  ptr       => false,
  hash_data => {
    'host1' => { owner => '192.168.0.1', },
    'host2' => { owner => '192.168.0.2', },
  },
}
}

dnsslave.pp

class profile::dnsbind::server_slave {

include 'bind'

bind::zone {'example.com':
  ensure       => 'present',
  zone_contact => 'contact.example.com',
  zone_ns      => ['ns0.example.com'],
  zone_serial  => '2012112901',
  zone_ttl     => '604800',
  zone_origin  => 'example.com',
  transfer_source => '192.168.1.20', 
}
}

错误信息:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Zone 'example.com': transfer_source can be set only for slave zones! at /etc/puppetlabs/code/environments/production/modules/bind/manifests/zone.pp:80:5 at /etc/puppetlabs/code/environments/production/manifests/profile_dns2.pp:5 on node centos7-3
    Warning: Not using cache on failed catalog
    Error: Could not retrieve catalog; skipping run

【问题讨论】:

    标签: linux dns puppet


    【解决方案1】:

    然后它应该将 dns 记录从 master 同步并复制到 奴隶。

    但我抱怨说它只能设置为从属区域。

    显然,该模块无法识别您正在尝试配置从属区域。你猜它怎么知道?好吧,显然不是因为 transfer_source 属性的存在。

    我已经按照模块的 puppet forge 的 README 进行操作: https://forge.puppet.com/camptocamp/bind/readme

    我相信您是从自述文件中提取示例区域定义(用于主区域)开始的,并且我承认这个模块的文档有点粗制滥造。但是,请考虑真正彻底阅读文档,而不仅仅是浏览它们。如果你这样做了,你会在 transfer_source 参数的文档之后立即找到 zone_type 参数的文档:

    $zone_type = 主人

    指定区域是主/从/转发。

    使用它来指定您正在配置从属区域。

    【讨论】:

    • 感谢约翰到目前为止的帮助,我已经编辑了这个问题,因为在添加您建议的参数时出现了一个问题,实际上解决了第一个问题,但随后出现了其他问题。
    • 如果您有新问题,请将其作为一个问题提出。 尤其是在收到答案后,将您已发布的问题修改为其他问题是不可接受的。因此,我已回滚您的编辑。
    • 好的,我不确定我是否应该编辑或提出新问题。如果我确定我不想编辑问题,我打算对此发表评论时会弹出一个弹出窗口。但我开始了new question
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多