Tomi Cvetic преди 6 години
ревизия
660848b682
променени са 4 файла, в които са добавени 74 реда и са изтрити 0 реда
  1. 14 0
      Dockerfile
  2. 4 0
      ddns.key
  3. 43 0
      dhcpd.conf
  4. 13 0
      docker-compose.yml

+ 14 - 0
Dockerfile

@@ -0,0 +1,14 @@
+FROM alpine:latest
+
+RUN apk add --update --no-cache \
+    dhcp
+
+RUN mkdir -p /var/lib/dhcp && \
+    touch /var/lib/dhcp/dhcpd.leases
+
+EXPOSE 67/udp 67/tcp
+
+COPY ./ddns.key /etc/dhcp/ddns.key
+COPY ./dhcpd.conf /etc/dhcp/dhcpd.conf
+
+CMD /usr/sbin/dhcpd -4 -f -d --no-pid -cf /etc/dhcp/dhcpd.conf

+ 4 - 0
ddns.key

@@ -0,0 +1,4 @@
+key DDNS_UPDATE {
+  algorithm HMAC-MD5.SIG-ALG.REG.INT;
+  secret "o9mU3wsAZOuwHBmNEdynjA==";
+};

+ 43 - 0
dhcpd.conf

@@ -0,0 +1,43 @@
+option domain-name "slurm.ch";
+option domain-name-servers ns.slurm.ch;
+
+default-lease-time      600;
+max-lease-time          7200;
+
+log-facility            local7;
+
+ddns-updates            on;
+ddns-update-style       interim;
+ignore                  client-updates;
+update-static-leases    on;
+include                 "/etc/dhcp/ddns.key";
+
+authoritative;
+
+zone slurm.ch. {
+    primary 127.0.0.1;
+    key DDNS_UPDATE;
+}
+
+zone 10.in-addr.arpa. {
+    primary 127.0.0.1;
+    key DDNS_UPDATE;
+}
+
+subnet 10.0.0.0 netmask 255.255.0.0 {
+    range 10.0.100.1 10.0.100.240;
+    option routers 10.0.0.1;
+    option domain-name-servers 10.0.0.1;
+}
+
+subnet 10.10.0.0 netmask 255.255.0.0 {
+    range 10.10.100.1 10.10.100.240;
+    option routers 10.10.0.1;
+    option domain-name-servers 10.10.0.1;
+}
+
+subnet 10.20.0.0 netmask 255.255.0.0 {
+    range 10.20.100.1 10.20.100.240;
+    option routers 10.20.0.1;
+    option domain-name-servers 10.20.0.1;
+}

+ 13 - 0
docker-compose.yml

@@ -0,0 +1,13 @@
+version: "3"
+
+services:
+  dhcp:
+    restart: always
+    container_name: dhcp
+    build: .
+    network_mode: host
+    environment:
+      - INTERFACES="br0 enp5s0.20"
+    ports:
+      - "67:67/udp"
+      - "67:67/tcp"