dnsmasq: add script for dynamic DNS updates
This commit is contained in:
parent
a3dd4eba65
commit
01a27e45ce
4 changed files with 75 additions and 1 deletions
|
@ -9,3 +9,5 @@ dhcp-proxy
|
|||
|
||||
dhcp-option = option:dns-server,{{ dns | join(',') }}
|
||||
dhcp-option = option:ntp-server,{{ ntp | join(',') }}
|
||||
|
||||
dhcp-script = /usr/local/bin/dns-update
|
||||
|
|
29
roles/dnsmasq/templates/dns-update.j2
Normal file
29
roles/dnsmasq/templates/dns-update.j2
Normal file
|
@ -0,0 +1,29 @@
|
|||
#!/bin/sh
|
||||
|
||||
domain={{ domain }}
|
||||
ldap_user={{ password.ldap_user }}
|
||||
ttl=3600
|
||||
|
||||
address="${3}"
|
||||
|
||||
case "${1}" in
|
||||
add)
|
||||
host="${4}"
|
||||
kinit -k "${ldap_user}"
|
||||
nsupdate -g <<EOF
|
||||
update add ${host}.${domain} ${ttl} A ${address}
|
||||
send
|
||||
EOF
|
||||
;;
|
||||
old)
|
||||
if [ -n "${DNSMASQ_OLD_HOSTNAME}" -a -n "${DNSMASQ_SUPPLIED_HOSTNAME}" ] ; then
|
||||
kinit -k "${ldap_user}"
|
||||
nsupdate -g <<EOF
|
||||
update del ${DNSMASQ_OLD_HOSTNAME}.${domain}
|
||||
update add ${DNSMASQ_SUPPLIED_HOSTNAME}.${domain} ${ttl} A ${address}
|
||||
send
|
||||
EOF
|
||||
fi
|
||||
;;
|
||||
# TODO del, probably
|
||||
esac
|
18
roles/dnsmasq/templates/krb5.conf.j2
Normal file
18
roles/dnsmasq/templates/krb5.conf.j2
Normal file
|
@ -0,0 +1,18 @@
|
|||
[libdefaults]
|
||||
dns_lookup_realm = false
|
||||
ticket_lifetime = 24h
|
||||
renew_lifetime = 7d
|
||||
#forwardable = true
|
||||
rdns = false
|
||||
default_realm = {{ domain | upper }}
|
||||
|
||||
[realms]
|
||||
{{ domain | upper }} = {
|
||||
{% for server in dns %}
|
||||
kdc = {{ server }}
|
||||
{% endfor %}
|
||||
}
|
||||
|
||||
[domain_realm]
|
||||
.{{ domain }} = {{ domain | upper }}
|
||||
{{ domain }} = {{ domain | upper }}
|
Loading…
Add table
Add a link
Reference in a new issue