Назад | Перейти на главную страницу

Ошибка DNS Foreman ERF12-2357 [ProxyAPI :: ProxyException]: невозможно установить запись DNS

после настройки среды бригадира я получаю сообщение об ошибке:

«Невозможно сохранить создание обратной записи DNS для задачи mydomain.de, возникла следующая ошибка: ERF12-2357 [ProxyAPI :: ProxyException]: невозможно установить запись DNS ([RestClient :: BadRequest]: 400 Bad Request) для прокси https://mydomain.de:8443/dns"

Я определенно прочитал КАЖДУЮ страницу Google, посвященную этой проблеме, и все отчеты об ошибках, которые смог найти, и я понятия не имею, почему она не работает. Я уже в отчаянии ...

Что я сделал до сих пор:

Сообщение об ошибке моего системного журнала блокируется следующим образом:

"12 августа 18:54:22 foremanmaster01 named1016: client 127.0.0.1 # 58169: обновление '10 .in-addr.arpa / IN 'запрещено"

У кого-то есть идея, почему это не работает, потому что я не могу этого понять. Я предоставляю вам всю информацию, которую могу найти, чтобы решить эту проблему.

Если это все еще проблема, я обнаружил, что следовать руководству по установке Foreman очень запутанно. И ваши ключи dns и dhcp должны быть одинаковыми, тогда как в руководстве по установке показаны два разных способа настройки ключей между dns и dhcp.

Вот что наконец сработало для меня: run: ddns-confgen -k foreman -a hmac-md5

Результат будет примерно таким:

 key "foreman" {
         algorithm hmac-md5;
         secret "GGd1oNCxaKsh8HA84sP1Ug=="; };

Поместите этот блок текста в /etc/rndc.key

Теперь вам нужно обновить настройки вашего демона:
/etc/ named.conf
/etc/zones.conf
/etc/dhcp/dhcpd.conf

/etc/ named.conf:
Добавить:

include "/etc/rndc.key";
controls  {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "foreman"; };
};

Это указывает BIND на то, что необходимо считать ключ с именем "foreman" из /etc/rndc.key и разрешить ключу с именем "foreman" подключиться к порту управления на 953 для выполнения обновлений ddns.

Сейчас в /etc/zones.conf, это из моего примера, я использую ".local" в качестве своего домена и 172.16.1.0/24 в качестве моей сети. Отрегулируйте соответственно.

zone "1.16.172.in-addr.arpa" {
    type master;
    file "/var/named/dynamic/db.1.16.172.in-addr.arpa";
    update-policy {
            grant foreman zonesub ANY;
    };
};
zone "local" {
    type master;
    file "/var/named/dynamic/db.local";
    update-policy {
            grant foreman zonesub ANY;
    };
};

Важная часть:

update-policy {
                grant foreman zonesub ANY;
        };

Это говорит BIND о том, что мастеру ключей разрешено обновлять / добавлять любые записи в этих зонах.

Наконец, вот что меня запутало, потому что в руководстве по установке используется другой синтаксис для DHCP-сервера: /etc/dhcp/dhcpd.conf Добавить:

omapi-port 7911;
key foreman {
algorithm HMAC-MD5;
secret "GGd1oNCxaKsh8HA84sP1Ug==";
};
omapi-key foreman;

Теперь вы перешли к файлам конфигурации foreman-proxy:
/etc/foreman-proxy/settings.d/dns.yml
/etc/foreman-proxy/settings.d/dhcp.yml


Состав: /etc/foreman-proxy/settings.d/dns.yml

---
# DNS management
:enabled: true

# valid providers:
#   dnscmd (Microsoft Windows native implementation)
#   nsupdate
#   nsupdate_gss (for GSS-TSIG support)
#   virsh (simple implementation for libvirt)

:dns_provider: nsupdate
:dns_key: /etc/rndc.key

# use this setting if you are managing a dns server which is not localhost though this proxy
:dns_server: 127.0.0.1
# use this setting if you want to override default TTL setting (86400)
:dns_ttl: 86400

Состав: /etc/foreman-proxy/settings.d/dhcp.yml

---
# Enable DHCP management
:enabled: true
# valid vendors:
#   - isc
#   - native_ms (Microsoft native implementation)
#   - virsh (simple implementation for libvirt)
:dhcp_vendor: isc
:dhcp_config: /etc/dhcp/dhcpd.conf
:dhcp_leases: /var/lib/dhcpd/dhcpd.leases
:dhcp_key_name: foreman
:dhcp_key_secret: GGd1oNCxaKsh8HA84sP1Ug==

По какой-то причине настройка обоих ключей с разными ключами продолжала вызывать у меня проблемы. Это наконец исправило это. Надеюсь, это поможет.

О, и, к вашему сведению, эти файлы /etc/rndc.key, /etc/dhcp/dhcpd.conf, /var/lib/dhcpd/dhcpd.leases Должен быть доступен для чтения foreman-proxy, я добился этого, добавив foreman-proxy в dhcp и именованные группы:

usermod -a -G dhcpd foreman-proxy
usermod -a -G named foreman-proxy

ls -l /etc/named.conf /etc/zones.conf /etc/rndc.key /etc/dhcp/dhcpd.conf /var/lib/dhcpd/dhcpd.leases
-rw-r--r--. 1 root  root   787 Apr 10 14:56 /etc/dhcp/dhcpd.conf
-rw-r-----. 1 root  named  275 Apr 10 14:45 /etc/named.conf
-rw-r-----. 1 root  named   77 Apr 10 14:41 /etc/rndc.key
-rw-r-----. 1 root  named  316 Apr 10 12:40 /etc/zones.conf
-rw-r--r--. 1 dhcpd dhcpd 1262 Apr 10 15:00 /var/lib/dhcpd/dhcpd.leases

id foreman-proxy
uid=498(foreman-proxy) gid=497(foreman-proxy) groups=497(foreman-proxy),52(puppet),177(dhcpd),25(named)