2017-01-22 4 views
0

В моем кластере linux у меня есть куча имен хостов, в то время как мой журнал управления сетью показывает IP-адреса (они иногда меняются в соответствии с dns).Как запросить адрес IPv4 от имени машины?

Мой вопрос: как быстро узнать ipv4 какого-либо имени хоста, не используя «ping xxxxx», чтобы получить IP-адрес и Ctrl + c, чтобы остановить его. Я хотел бы написать простой скрипт, как:

myCommand hostname1 
myCommand hostname2 
myCommand hostname3 
myCommand hostname4 
myCommand hostname5 

Что напечатает имя хоста Ipaddress отображения для меня (для hostname1-5)

Так как писать этот «МояКоманду» команда или сценарий оболочки? Спасибо.

ответ

3

Используйте host инструмент из bind-tools:

$ host -4 -t A stackoverflow.com 
stackoverflow.com has address 151.101.129.69 
stackoverflow.com has address 151.101.1.69 
stackoverflow.com has address 151.101.193.69 
stackoverflow.com has address 151.101.65.69 

Или инструмент из того же пакета:

$ dig -4 -t A stackoverflow.com +short 
151.101.129.69 
151.101.1.69 
151.101.193.69 
151.101.65.69 
+0

Спасибо, хозяин -4 - t Команда всегда работаю для меня, но копать не всегда работает. Большое спасибо. –

2
#!/usr/bin/env bash 

function get_ip { 
    echo $1 
    getent hosts $1 | awk '{ print $1 }' | sed 's/^/ /g' 
    echo 
} 

Использование:

get_ip unix.stackexchange.com 
get_ip hostname1 
get_ip hostname2