Автор Гілка: IP від DHCP  (Прочитано 1634 раз)

Відсутній soltysr

  • Новачок
  • *
  • дописів: 1
  • Карма: +0/-0
IP від DHCP
« : 2011-11-10 19:36:53 »
Доброго дня!!!
Мені потрібна допомога, в написанні скрипту.
Потрібно написати скрипт, для провірки наявності ІР від DHCP сервера, після включення компютера. Якщо ІР нема то потрібно його отримати, але забезпечити що сервер DHCP може видавати IP із затримкою до 90-120с.
« Змінено: 2011-11-10 19:37:45 від soltysr »

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Re: IP від DHCP
« Відповідей #1 : 2011-11-11 16:24:46 »
Ну я не сильний в скриптах но можна ось так, це ще не скрипт, але просто наводжу команди:
ifconfig eth0 | grep inet | awk '{print $2}' | awk '(NR==1)'виводить ось, що
addr:192.168.1.10
ще потрібно через sed виділити айпішку. Зараз спробую.
Якщо нема виконати команду на її отримання. А на рахунок затримки, то можна використати таке
sleep 120
« Змінено: 2011-11-11 16:36:49 від kisil »

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Re: IP від DHCP
« Відповідей #2 : 2011-11-11 16:41:13 »
Ось така команда працює і виводить лише айпішку
ifconfig eth0 | grep inet | awk '{print $2}' | awk '(NR==1)' | sed 's/addr://'

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: IP від DHCP
« Відповідей #3 : 2011-11-11 20:51:09 »
Доброго дня!!!
Мені потрібна допомога, в написанні скрипту.
Потрібно написати скрипт, для провірки наявності ІР від DHCP сервера, після включення компютера. Якщо ІР нема то потрібно його отримати, але забезпечити що сервер DHCP може видавати IP із затримкою до 90-120с.


while [ "x" == "x$IP" ]; do IP=$(/sbin/ifconfig ppp0 | sed '/inet\ /!d;s/.*r://g;s/\ .*//g'); sleep 3; done
echo "eth0 IP: $IP"

вставляєте цих дві стрічки в /etc/rc.local і робите reboot (вкажіть свій інтерфейс: ppp0 чи eth0 чи tun0 чи що там у вас).

цикл while що три секунди перевірятиме чи встановлена ІР для вибраного інтерфейсу (ppp0).
як тільки адреса встановлена - цикл завершиться і  ІР-адреса буде збережена з в змінній ІР.


PS: забув сказати - даний варіант визначення ІР вирізняється тим, що є один єдиний виклик  sed'' замість вінігрету з grep/awk/sed .
В даному випадку це абсолютно не суттєво, але взагалі це хороший наочний приклад оптимізації.
« Змінено: 2011-11-11 20:59:40 від anatolijd »