26 lines
No EOL
749 B
Bash
Executable file
26 lines
No EOL
749 B
Bash
Executable file
#!/bin/bash
|
|
cd "$(dirname "$(readlink -f "$0")")"
|
|
dhcp_dir="../../dhcp_files"
|
|
|
|
# use files to build dhcp config file
|
|
cat $dhcp_dir/base
|
|
echo ""
|
|
dhcp_entries=`cat $dhcp_dir/subnets/* | grep -v "#" | sort -t . -k 3,3n -k 4,4n `
|
|
while IFS= read -r line; do
|
|
echo "
|
|
config host
|
|
option name '`echo "$line" | cut -f3`'
|
|
option mac '`echo "$line" | cut -f2`'
|
|
option ip '`echo "$line" | cut -f1`'
|
|
option dns '1'"
|
|
done <<< "$dhcp_entries"
|
|
|
|
dns_entries=`cat $dhcp_dir/alias`
|
|
while IFS= read -r line; do
|
|
alias=`echo "$line" | cut -f2`
|
|
ip=`echo "$dhcp_entries" | grep -P " $alias$" | grep -Po "172\.16\.\d+\.\d+"`
|
|
echo "
|
|
config domain
|
|
option name '`echo "$line" | cut -f1`'
|
|
option ip '$ip'"
|
|
done <<< "$dns_entries" |