seems to work now
This commit is contained in:
parent
6e09734800
commit
6fc64baaa7
14
Dockerfile
14
Dockerfile
@ -15,6 +15,7 @@ RUN \
|
||||
mkdir -p $VAR_DIR && \
|
||||
mkdir -p $DATA_DIR && \
|
||||
mkdir -p $LOG_DIR && \
|
||||
mkdir -p $LOG_DIR/actionlog && \
|
||||
mkdir -p $DYN_ZONES_DIR && \
|
||||
apt update && \
|
||||
apt install -y bind9 && \
|
||||
@ -24,7 +25,8 @@ RUN \
|
||||
apt install -y dnsutils && \
|
||||
apt install -y vim.tiny && \
|
||||
apt install -y procps && \
|
||||
/usr/sbin/tsig-keygen local. > /etc/bind/local.key && \
|
||||
apt install -y less && \
|
||||
apt install -y netcat && \
|
||||
echo "include \"/etc/bind/local.key\";" >> /etc/bind/named.conf && \
|
||||
echo "include \"/etc/bind/dynamic/dynamic-zones.conf\";" >> /etc/bind/named.conf && \
|
||||
echo "include \"/etc/bind/named.conf.logging\";" >> /etc/bind/named.conf
|
||||
@ -33,19 +35,15 @@ COPY ./server/ $APP_DIR
|
||||
COPY ./bind/named.conf.logging $BIND_DIR
|
||||
COPY ./bind/dynamic-zones.conf $DYN_ZONES_DIR
|
||||
COPY ./bind/dynamic.hottis.de $DYN_ZONES_DIR
|
||||
|
||||
RUN \
|
||||
cat /etc/bind/local.key && \
|
||||
KEY=`cat /etc/bind/local.key | awk -F\" '/secret/ {print $2}'` && \
|
||||
echo $KEY && \
|
||||
sed -i "s,KEYVALUE,$KEY," $APP_DIR/yadyn
|
||||
COPY ./yadynns.sh $APP_DIR
|
||||
|
||||
EXPOSE 8023/tcp
|
||||
EXPOSE 8053/udp
|
||||
EXPOSE 53/udp
|
||||
EXPOSE 53/tcp
|
||||
|
||||
VOLUME $VAR_DIR
|
||||
VOLUME $DYN_ZONES_DIR
|
||||
|
||||
WORKDIR $APP_DIR
|
||||
CMD ./yadynns.sh
|
||||
|
||||
|
@ -3,7 +3,7 @@ zone "dynamic.hottis.de" {
|
||||
file "/etc/bind/dynamic/dynamic.hottis.de";
|
||||
allow-update {
|
||||
{ localhost; };
|
||||
key local.;
|
||||
key "local.";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -5,6 +5,7 @@ import dns.rdataclass
|
||||
import dns.rdatatype
|
||||
import dns.rdtypes.IN.A
|
||||
import dns.tsigkeyring
|
||||
from dns.tsig import HMAC_SHA256
|
||||
import dns.rcode
|
||||
import threading
|
||||
import time
|
||||
@ -52,7 +53,7 @@ class DnsHandler(threading.Thread):
|
||||
return
|
||||
# send A-RR insertion for ip to DNS server
|
||||
rr = dns.rdtypes.IN.A.A(dns.rdataclass.IN, dns.rdatatype.A, address)
|
||||
u = dns.update.Update(zone, keyring=self.keyring)
|
||||
u = dns.update.Update(zone, keyring=self.keyring, keyalgorithm=HMAC_SHA256)
|
||||
u.add(name, self.ttl, rr)
|
||||
r = dns.query.tcp(u, self.nsAddress, port=self.nsPort)
|
||||
|
||||
@ -65,7 +66,7 @@ class DnsHandler(threading.Thread):
|
||||
if self.dnsDummy:
|
||||
return
|
||||
# send A-RR deletion for ip to DNS server
|
||||
u = dns.update.Update(zone, keyring=self.keyring)
|
||||
u = dns.update.Update(zone, keyring=self.keyring, keyalgorithm=HMAC_SHA256)
|
||||
u.delete(name)
|
||||
r = dns.query.tcp(u, self.nsAddress, port=self.nsPort)
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
import syslog
|
||||
import sys
|
||||
|
||||
|
||||
class Logger(object):
|
||||
@ -6,13 +7,15 @@ class Logger(object):
|
||||
def log(data):
|
||||
syslog.syslog(syslog.LOG_INFO, data)
|
||||
if Logger.debugFlag:
|
||||
print data
|
||||
# print data
|
||||
sys.stderr.write(data)
|
||||
|
||||
@staticmethod
|
||||
def debug(data):
|
||||
if Logger.debugFlag:
|
||||
syslog.syslog(syslog.LOG_DEBUG, data)
|
||||
print data
|
||||
# print data
|
||||
sys.stderr.write(data)
|
||||
|
||||
@staticmethod
|
||||
def openlog():
|
||||
|
23
yadyn-start.sh
Executable file
23
yadyn-start.sh
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
IMAGE=registry.gitlab.com/wolutator/yadyn:latest
|
||||
VOLUME_VAR=yadyn-var
|
||||
VOLUME_ZONES=yadyn-zones
|
||||
|
||||
docker volume inspect $VOLUME_VAR > /dev/null || docker volume create $VOLUME_VAR
|
||||
docker volume inspect $VOLUME_ZONES > /dev/null || docker volume create $VOLUME_ZONES
|
||||
|
||||
#docker pull $IMAGE
|
||||
|
||||
|
||||
docker run \
|
||||
-d \
|
||||
-p 53:53/udp \
|
||||
-p 53:53/tcp \
|
||||
-p 8053:8053/udp \
|
||||
-v $VOLUME_VAR:/opt/app/var \
|
||||
-v $VOLUME_ZONES:/etc/bind/dynamic \
|
||||
--restart unless-stopped \
|
||||
$IMAGE
|
||||
|
||||
|
16
yadynns.sh
Executable file
16
yadynns.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Generating key ..."
|
||||
/usr/sbin/tsig-keygen local. > /etc/bind/local.key
|
||||
KEY=`cat /etc/bind/local.key | awk -F\" '/secret/ {print $2}'`
|
||||
sed -i "s,KEYVALUE,$KEY," /opt/app/yadyn
|
||||
|
||||
echo "Starting named ..."
|
||||
/usr/sbin/named
|
||||
|
||||
echo "Starting yadyn ..."
|
||||
cd /opt/app
|
||||
./yadyn
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user