summaryrefslogtreecommitdiff
path: root/tools/update-dns.sh
blob: 4c0160cb73a2a2c5f5a77f4bbbbccc3130722ffa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
keyfile=/opt/secret/bind/dynamic.orbekk.com/update/named.conf.key

update() {
  local type="$1"
  shift
  local host="$1"
  shift
  local ip="$1"
  shift
  echo "Update $host to $ip ($type)"

  {
    echo server 2001:470:8e2e:20::d
    echo update delete ${host}. ${type}
    echo update add ${host}. 300 ${type} ${ip}
    echo send
  } | nsupdate -v -k "$keyfile"
}

ip_4="$(ip -br -4 addr list dev eno1 | awk -F' *|/' '{print $3}')"
if [[ -n "$ip_4" ]]; then
  update A $(hostname).dynamic.orbekk.com $ip_4
fi
# IPv6 currently broken on Spectrum :(
# ip_6="$(ip -br -6 addr list scope global dev eno1 | awk -F' *|/' '{print $3}')"
# if [[ -n "$ip_6" ]]; then
#   update AAAA $(hostname).dynamic.orbekk.com $ip_6
# fi