diff --git a/zen/tools/nodename b/zen/tools/nodename index 4563f25..8590c73 100755 --- a/zen/tools/nodename +++ b/zen/tools/nodename @@ -32,11 +32,11 @@ export myIP=$(hostname -I | awk '{print $1}') # Check if IP is from reserved LAN addresses export isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") # Find default route gateway -export myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}') +export myRouter=$(sudo route -n | grep ' UG ' | tail -n 1 | awk '{print $2}') # Ask to the router my name (BOX DNS or system defined) -[[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP $myRouter | grep 'name =' | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') \ -|| export NODENAME=$(sudo nslookup $myIP | grep 'name =' | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') +[[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP $myRouter | grep 'name =' | awk -F ' = ' '{print $2}' | sed 's/\.$//') \ +|| export NODENAME=$(sudo nslookup $myIP | grep 'name =' | awk -F ' = ' '{print $2}' | sed 's/\.$//') if [[ -z "$NODENAME" && "$WAN" == "-w" ]]; then IP=`wget --quiet http://brouits.free.fr/ip.php -O- | sed 's/\r//'` @@ -44,7 +44,7 @@ if [[ -z "$NODENAME" && "$WAN" == "-w" ]]; then fi # We must have that nodename, perhaps BOX DNS doesn't exist... -[[ $NODENAME == "" ]] && [[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP | head -n 1 | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') +[[ $NODENAME == "" ]] && [[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP | grep 'name =' | awk -F ' = ' '{print $2}' | sed 's/\.$//') # OK no DNS is answering, let's be /etc/hostname [[ $NODENAME == "" ]] && NODENAME=$(cat /etc/hostname)