gluon-supernode-docker/dhcpd/entry-point.sh

57 lines
1.5 KiB
Bash

#!/bin/bash
case "${DHCPD_MODE}" in
4)
cat >/etc/dhcp/dhcpd.conf <<EOF
default-lease-time ${DHCPD_DEFAULT_LEASE_TIME};
max-lease-time ${DHCPD_MAX_LEASE_TIME};
subnet ${DHCPD_V4_NET} netmask ${DHCPD_V4_SUBNET} {
range ${DHCPD_V4_RANGE};
EOF
[ "${DHCPD_V4_GATEWAY}" ] && \
printf " option routers ${DHCPD_V4_GATEWAY};\n" >>/etc/dhcp/dhcpd.conf
[ "${DHCPD_DOMAIN}" ] && \
printf " option domain-name \"${DHCPD_V4_DOMAIN}\";\n" >>/etc/dhcp/dhcpd.conf
[ "${DHCPD_V4_DNS}" ] && \
printf " option domain-name-servers ${DHCPD_V4_DNS};\n" >>/etc/dhcp/dhcpd.conf
cat >>/etc/dhcp/dhcpd.conf <<EOF
}
EOF
touch /var/lib/dhcp/dhcpd.leases
;;
6)
cat >/etc/dhcp/dhcpd.conf <<EOF
default-lease-time ${DHCPD_DEFAULT_LEASE_TIME};
max-lease-time ${DHCPD_MAX_LEASE_TIME};
subnet6 ${DHCPD_V6_NET} {
range6 ${DHCPD_V6_RANGE};
EOF
[ "${DHCPD_V6_TEMPORARY_NET}" ] &&
printf " range6 ${DHCPD_V6_TEMPORARY_NET} temporary;\n" >>/etc/dhcp/dhcpd.conf
[ "${DHCPD_V6_DNS}" ] &&
printf " option dhcp6.name-servers ${DHCPD_V6_DNS};\n" >>/etc/dhcp/dhcpd.conf
[ "${DHCPD_DOMAIN}" ] &&
printf " option dhcp6.domain-search ${DHCPD_DOMAIN};\n" >>/etc/dhcp/dhcpd.conf
cat >>/etc/dhcp/dhcpd.conf <<EOF
}
EOF
touch /var/lib/dhcp/dhcpd6.leases
;;
*)
echo Either DHCPD_MODE 4 or 6 is supported
exit 1
;;
esac
/usr/sbin/dhcpd -${DHCPD_MODE} -f -d -cf /etc/dhcp/dhcpd.conf ${DHCPD_INTERFACE}
# vim: expandtab tabstop=2 shiftwidth=2