среда, 30 декабря 2009 г.

Динамический айпи уведомления

Купил на днях ноутбук и установил на него ubuntu 9.10
А так как ноут будут юзать на АДСЛ-соединении с динамическим айпи
нужно как-то выяснять какой айпи подцепил роутер.
За пару минут накалякал скрипт

cat /home/user/mailip.sh
#!/bin/sh
# получился ли адрес или что-то с сервером
[ $? -eq 0 ] && RESULT="Получено" || RESULT="Сервер недоступен"

# То что в кавычках заменить на свой адрес
MAIL_ADDR="МЫЛО@gmail.com"

IP="$(curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+")"
#curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"
echo ${IP} ${RESULT} | mail -s "IP thats" $MAIL_ADDR 


Итак этот скриптик отправляет мне на мыло письмо с внешним айпи.
Теперь нужно процесс автоматизировать
cd /etc/cron.d/
nano -w mailip
# Global variables
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
1 */4 * * * root /bin/bash /home/user/mailip.sh
#*/1 * * * * root ifconfig eth0 >/tmp/testcron.log
Теперь поясню что значит это все.
Я добавил в демон крона запись
стартовать мой скрипт кажду первую минуту четвертого часа
#*/1 * * * * root ifconfig eth0 >/tmp/testcron.log
А вот это применял для тестирования демона cron
пишет вывод ifconfig eth0 каждую минуту каждого часа

Ну вот вуаля ко мне на почту приходят сообщения с айпи.
п.с.
Чтобы почта уходила я использовал ssmtp
Я раньше выкладывал как нужно правильно настраивать его.

среда, 16 декабря 2009 г.

танцы с openwrt

Недавно занялся вопросом перехода на Openwrt c dd-wrt на роутере dlink dir-320
Не долго думая выбрал прошивку от kamikaze
Итак начем.Я ее собирал на своей генте самостоятельно.
Задача стоит такая заставить работать openwrt + madwimax для сети YOTA.

Все дальнейшие команды выполняются в терминале

svn co svn://svn.openwrt.org/openwrt/branches/8.09




Скачается около 90 мегабайт исходных кодов прошивки, openwrt базируется на ядре 2.4, но есть возможность собрать и с 2.6, вот только не для dlink'овских железяк, если вдруг кто это читает и в теме, то прошу проследовать в комментарии.








дальше делаем
cd 8.09
И читаем ридмишку

This is the buildsystem for the OpenWrt Linux distribution


Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.


You need to have installed gcc, binutils, patch, bzip2, flex, bison,
make, gettext, pkg-config, unzip, libz-dev and libc headers.


Simply running 'make' will build your firmware.
It will download all sources, build the cross-compile toolchain,
the kernel and all choosen applications.


You can use scripts/flash.sh for remotely updating your embedded system
via tftp.


The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type make -C docs/ to build it.


Building your own firmware you need to have access to a Linux, BSD or MacOSX system.
Cygwin will not be supported because of the lack of case sensitiveness.


Sunshine!
        Your OpenWrt Project
        http://openwrt.org

Для тех кто не владеет мунспиком, тут говорится о том что на системе в которой производится компилция нужны установленные
gcc, binutils, patch, bzip2, flex, bison,
make, gettext, pkg-config, unzip, libz-dev and libc headers


 Проинсталлим дополнительные фиды (в них xwrt - вебморды и много других вкусняшек)

cd scripts
./feeds update -a
./feeds install -a









Дальше вернемся в директорию выше (8.09)
и запустим make menuconfig (прям как в генте)


















На этом первая часть саги о  компиляции openwrt заканчивается :)
Ждите продолжения.

вторник, 1 декабря 2009 г.

Сегодня на работе на своей свежей прыщегенте словил ошибку

adding static routes
SIOCADDRT: Нет такого процесса

Айпи выдается через dhcp сервер, сервис net.eth0 помещен в boot
Туда же в бут помещен и /etc/init.d/network
Погуглив немного видел решения с добавлением sleep 5
в тот самый нетворкинг, я сделал проще перетащил его в default из boot.
Эффект тот же а работает приятнее.