Если это - все еще проблема, я нашел, что следование наряду с инструкцией по установке Диспетчера очень сбивает с толку. И Ваш DNS и dhcp ключи должны быть тем же, тогда как в инструкции по установке это показывает два различных способа настроить ключи между DNS и dhcp.
Это - то, что наконец работало на меня: выполненный: ddns-confgen-k диспетчер-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 читать ключ, названный "диспетчером" из/etc/rndc.key и позволять ключу, названному "диспетчером" соединяться с портом управления на 953, чтобы сделать обновления ddns.
Теперь, В [1 134]/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;
Теперь Вы шли дальше к файлам конфигурации прокси диспетчером:
/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 должен быть читаемым прокси диспетчера, я выполнил это путем добавления прокси диспетчера к 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)
Проблема в том, что когда squid пытается подключиться к веб-серверу (через порт 8080), его запрос также перенаправляется самому себе. Вы должны ограничить область действия правила REDIRECT (например, на основе входящего интерфейса).
Если внешний интерфейс на вашем сервере - eth0, измените правило следующим образом:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
Обновление: На второй мысли похоже Я не прав. Локальный (127.0.0.1) трафик не проходит через цепочку PREROUTING.
Как вы указали squid, какой восходящий веб-сервер использовать?