Revision 585f268f
Added by Viktor Gurov over 5 years ago
src/usr/local/sbin/openvpn.learn-address.sh | ||
---|---|---|
12 | 12 |
|
13 | 13 |
DIR="/var/unbound" |
14 | 14 |
PIDFILE="/var/run/unbound.pid" |
15 |
IPV4REGEX='^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$' |
|
15 | 16 |
|
16 | 17 |
if [ -n "${IP}" -a "$(/usr/bin/basename ${IP})" = "${IP}" ]; then |
17 |
CONF="${DIR}/openvpn.client.${IP}.conf" |
|
18 |
if [ $(expr "${IP}" : ${IPV4REGEX}) -ne 0 ]; then |
|
19 |
SUFFIX='ipv4' |
|
20 |
ARECORD='A' |
|
21 |
else |
|
22 |
SUFFIX='ipv6' |
|
23 |
ARECORD='AAAA' |
|
24 |
fi |
|
25 |
CONF="${DIR}/openvpn.client.${CN}.${SUFFIX}.conf" |
|
18 | 26 |
|
19 | 27 |
case "${OP}" in |
20 | 28 |
|
... | ... | |
24 | 32 |
|
25 | 33 |
if [ -f "${TMPCONF}" -a -f "${TMPSRV}" ]; then |
26 | 34 |
# Remove all configs which mention the FQDN |
27 |
/usr/bin/grep -l -null "^local-data: \"${CN}.${DOMAIN} A " ${DIR}/openvpn.client.*.conf | /usr/bin/xargs -0 /bin/rm
|
|
35 |
/usr/bin/grep -l -null "^local-data: \"${CN}.${DOMAIN} ${ARECORD} " ${DIR}/openvpn.client.*.conf | /usr/bin/xargs -0 /bin/rm
|
|
28 | 36 |
/bin/test -f "${CONF}" && /bin/rm "${CONF}" |
29 | 37 |
|
30 | 38 |
# Add new local-data entry. |
31 | 39 |
( |
32 | 40 |
echo "local-data-ptr: \"${IP} ${CN}.${DOMAIN}\"" && |
33 |
echo "local-data: \"${CN}.${DOMAIN} A ${IP}\"" &&
|
|
34 |
echo "local-data: \"${CN} A ${IP}\""
|
|
41 |
echo "local-data: \"${CN}.${DOMAIN} ${ARECORD} ${IP}\"" &&
|
|
42 |
echo "local-data: \"${CN} ${ARECORD} ${IP}\""
|
|
35 | 43 |
) > "${TMPCONF}" |
36 | 44 |
|
37 | 45 |
# Check syntax, install configuration and restart unbound. |
Also available in: Unified diff
Register OpenVPN client IPv6 address in DNS Resolver. Issue #8624