Project

General

Profile

« Previous | Next » 

Revision 585f268f

Added by Viktor Gurov over 5 years ago

Register OpenVPN client IPv6 address in DNS Resolver. Issue #8624

View differences:

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