Skip to content

Commit

Permalink
Distinction entre les types d'IP
Browse files Browse the repository at this point in the history
Ajout d'un séparateur entre les IP réservés, dynamiques et statiques.
  • Loading branch information
PhilippeLeroux committed Apr 4, 2018
1 parent 822d015 commit e6d2f1e
Showing 1 changed file with 41 additions and 15 deletions.
56 changes: 41 additions & 15 deletions dns/show_dns.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,56 @@
# vim: ts=4:sw=4

. ~/plescripts/plelib.sh
. ~/plescripts/global.cfg

typeset -r domain=$(hostname -d)
typeset -r horizontal_separator=$( fill "~" $(( 18 + 1 + 1 + 1 + 15 )) )

typeset -r horizontal_separator=$( fill "~" $(( 18 + 1 + 1 + 1 + 15)) )
info $horizontal_separator
info "$(printf "%-18s | %s" "Server" "ip")"
info "$(printf "%-18s | %s" "Server" "IP")"
info $horizontal_separator

# Avec le DHCP les fichiers DNS sont reformatés, les IP d'une adresse de SCAN
# ne sont pas simple à récupérer, donc je passe maintenant par le fichier
# reverse.
typeset -r network="$(ping -c 1 $(hostname) |\
grep "PING" |\
cut -d\( -f2 |\
cut -d. -f1-3)"
cat /var/named/reverse.$domain |\
grep -E "^[0-9]" |\
grep -v "arpa" |\
sort -n |\
typeset prev_server_name
typeset ip_type=reserved

cat /var/named/reverse.$infra_domain |\
grep -E "^[0-9]" |\
grep -v "arpa" |\
sort -n |\
while read ip_node f2 server_name
do
[ x"$ip_node" == x ] && continue || true

case "$ip_type" in
reserved)
if [ "$ip_node" -gt "$dhcp_max_ip_node" ]
then # Toutes les IP réservées ont été affichée et il n'y a pas d'IP dynamiques.
info $horizontal_separator
ip_type=orcl_servers
elif [ "$ip_node" -ge "$dhcp_min_ip_node" ]
then # Toutes les IP réservées ont été affichées.
info $horizontal_separator
ip_type=dynamic
fi
;;
dynamic)
if [ "$ip_node" -gt "$dhcp_max_ip_node" ]
then # Toutes les IP dynamiques ont été affichées.
info $horizontal_separator
ip_type=orcl_servers
fi
;;
esac

# Supprime le nom de domaine.
server_name="$(cut -d. -f1<<<"$server_name")"
info "$(printf "%-18s | %s" $server_name "$network.$ip_node")"

if [ "$prev_server_name" == "$server_name" ]
then # Les adresses de SCAN ne sont affichées qu'une fois.
server_name=""
else
prev_server_name=$server_name
fi
info "$(printf "%-18s | %s" "$server_name" "$infra_network.$ip_node")"
done

info $horizontal_separator

0 comments on commit e6d2f1e

Please sign in to comment.