57 lines
1.5 KiB
Bash
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
|