Bekijk de volledige versie : Отправка IP адреса WAN интерфейса по SMS и eMail
Здравствуйте.
Хочу настроить отправку смс при соединени с интернетом.
Казалось бы просто запихнуть строку в post-firewall, но дело в том что при загрузке роутера, postfirewall срабатывает три раза:
Jan 1 03:00:09 admin: *** post-firewall : started
Jan 1 03:00:09 admin: *** myIP is 0.0.0.0
Jan 1 03:00:09 admin: *** post-firewall : finished
Jan 1 03:00:09 udhcpc[125]: udhcpc (v0.9.9-pre) started
Jan 1 03:00:09 dhcp client: deconfig: lease is lost
Jan 1 03:00:10 udhcpc[125]: Lease of 10.87.10.252 obtained, lease time 604800
Jan 1 03:00:10 admin: *** post-firewall : started
Jan 1 03:00:10 admin: *** myIP is 0.0.0.0
Jan 1 03:00:10 admin: *** post-firewall : finished
Jan 1 03:00:10 dnsmasq[73]: read /etc/hosts - 14 addresses
Jan 1 03:00:10 dnsmasq[73]: read /etc/ethers - 6 addresses
Jan 1 03:00:10 dnsmasq[73]: reading /tmp/resolv.conf
Jan 1 03:00:10 dnsmasq[73]: using nameserver 85.21.192.3#53
Jan 1 03:00:10 dnsmasq[73]: using nameserver 213.234.192.8#53
Jan 1 03:00:10 dhcp client: bound IP : 10.87.10.252 from 10.87.8.1
Jan 1 03:00:11 admin: *** post-boot : started
Jan 1 03:00:11 pppd[147]: Plugin pppol2tp.so loaded.
Jan 1 03:00:11 pppd[147]: pppd 2.4.2 started by admin, uid 0
Jan 1 03:00:11 pppd[147]: Using interface ppp0
Jan 1 03:00:11 pppd[147]: Connect: ppp0 <-->
Jan 1 03:00:11 pppd[147]: CHAP authentication succeeded
Jan 1 03:00:12 pppd[147]: local IP address 95.24.125.31
Jan 1 03:00:12 pppd[147]: remote IP address 85.21.0.245
Jan 1 03:00:12 pppd[147]: primary DNS address 85.21.192.5
Jan 1 03:00:12 pppd[147]: secondary DNS address 213.234.192.7
Jan 1 03:00:12 dnsmasq[73]: read /etc/hosts - 14 addresses
Jan 1 03:00:12 dnsmasq[73]: read /etc/ethers - 6 addresses
Jan 1 03:00:12 dnsmasq[73]: reading /tmp/resolv.conf
Jan 1 03:00:12 dnsmasq[73]: using nameserver 213.234.192.7#53
Jan 1 03:00:12 dnsmasq[73]: using nameserver 85.21.192.5#53
Jan 1 03:00:12 dropbear[161]: Running in background
Jan 1 03:00:12 admin: ::: ...done
Jan 1 03:00:12 admin: *** post-boot : finished
Jan 1 03:00:12 admin: *** post-firewall : started
Jan 1 03:00:12 admin: *** myIP is 95.24.125.31
Jan 1 03:00:13 admin: *** post-firewall : finished
Поэтому хочу избавить себя от ложного срабатывания. Дело в том, что если использовать отсрочку посылки смс через КРОН, что я и хочу сделать, смска об установлении соединении при IP 0.0.0.0 придёт... и не одна.
Собственно вопрос всего лишь в условии в post-firewall
if $2 != "0.0.0.0" ; then
<отправка смс>
fi
usr/bin/logger "*** myIP is $2"
почему условие не работает?
Ногами не пинать, в линуксе новичок.
спасибо.
if $2 != "0.0.0.0" ; then
<отправка смс>
fi
usr/bin/logger "*** myIP is $2"
почему условие не работает?
Скобочки забыли.
if [ $2 != "0.0.0.0" ] ; then
Написал небольшой скриптик, который отправляет внешний айпишник на почту при его изменении. Используется esmtp и sendmail. Так как не являюсь большим знатоком линукса - не могу понять как должно работать уведомление о доставке, чтобы можно было сделать повторную пересылку при ошибке...
#!/bin/sh
FILENAME="/opt/etc/ipaddr.conf"
from="abc@abc.com"
to="abc@abc.com"
oldip=`cat $FILENAME`
newip=`ip address show dev ppp0 scope global | tr "\n" " " | awk '{print $12}'`
if [ $newip != $oldip ]; then
echo $newip > $FILENAME
result=`echo -e "From: $from\nTO: $to\nSubject: ipadd\n\nadd = $newip" | sendmail -N failure,success $to`
echo $result
fi
Лано, раз все промолчали, я сам доправил :)
Вобщем скрипт для работы требует
ipkg install esmtp
настройка здесь http://www.macsat.com/macsat/content/view/26/29/
дальше скрипт запускается например раз в 5 минут кроном, проверяет изменение айпишника, при изменении отсылает на почту новый.
В результате можно не заморачиваться с dyndns :)
За кривизну и незнание shell прошу не пинать :)
#!/bin/sh
FILENAME="/opt/etc/ipaddr.conf"
logfile="/opt/etc/mail.log"
from="abc@abc.com"
to="abc@abc.com"
echo "" > $logfile
oldip=`cat $FILENAME`
newip=`ip address show dev ppp0 scope global | tr "\n" " " | awk '{print $12}'`
if [ $newip != $oldip ]; then
logger -t mailsend "Try to send new ip address"
echo -e "From: $from\nTO: $to\nSubject: ipadd\n\nadd = $newip" | sendmail -X $logfile $to
result=`grep "message accepted for delivery" $logfile`
if [ ${#result} -gt 0 ] ; then
echo $newip > $FILENAME
logger -t mailsend "New ip address sent successful"
else
logger -t mailsend "New ip address sent fail"
echo "255.255.255.255" > $FILENAME
fi
fi
В результате можно не заморачиваться с dyndns :)
Более чем сомнительная аргументация заморачивания со "скриптиком, который отправляет внешний айпишник на почту при его изменении".
Возможно мой вопрос позабавит Вас своей наивностью, но сегодня суббота и нужно веселиться ;)
Поскольку:
esmtp is a user configurable relay-only Mail Transfer Agent (MTA) with a sendmail compatible syntax
и sendmail в данном случае сим-линк на esmtp, по фраза
Используется esmtp и sendmail
неправильная (т.к. sendmail использоваться не может).
Я прав?
P.S. я не занудничаю, и тем более никого не хочу обидеть. Просто пытаюсь разобраться в "почтовых дебрях".
Интересный вопрос - я для себя понял что esmtp является локальным прокси-smtp для отправки через sendmail.. Хотя может и реально sendmail не используется :) я просто искал чтото для отправки почты из консоли - выпал esmtp, он меня устроил :)
Привет Всем!
Всех с наступающим! =)
Нужна помощь, если кто может, выручайте =).
Задача:
1. Отправлять текстовый (syslog.log, nat_rules) файл с указанной в нем информацией об IP адресе, каждый раз после его обновления на определенный почтовый ящик.
Для чего мне это нужно, потому что у меня динамический IP адресс.
Решение:
Пока незнаю, надеюсь Вы сможете мне подсказать.
В принципе из под винды я это могу сделать, но хочется все таки задействовать маршрутизатор...
Заранее спасибо.
Ну это просто..
В ipkg есть sendmail..
Ну это просто..
В ipkg есть sendmail..
Спс. А для него нужны еще какие нить пакеты?... У меня Wl500gV2... Ему нормально будет? =)
Еще видел mini-sendmail... Он сильно отличается?
Стандартный вопрос - DynDNS чем не приглянулся???
хоть он и глючный, но это можно делать с помощью встроенного
mini_sendmail
Стандартный вопрос - DynDNS чем не приглянулся???
Стыдно мне =). Но я даже и не знал о нем, щас посмотрел, почитал, очень интересно, буду пробовать заюзать его... Спасибо!
terrabyte
13-05-2010, 11:41
тоже не работало забил. Сейчас заработало приходят и на русском и английском сообщения только о ребуте роутера и закачке торрента. С веб интерфейса так и не отправляет.
Подскажите как сделать что бы при перезагрузке роутора мне приходила смс, все настроил смс приходит, но не могу настроить что бы приходила при перезагрузке роутора стоит питон!
Подскажите как сделать что бы при перезагрузке роутора мне приходила смс, все настроил смс приходит, но не могу настроить что бы приходила при перезагрузке роутора стоит питон!
http://wl500g.info/showpost.php?p=218051&postcount=14
1. Что бы при включении роутера отправлялось СМС с текущим IP адреса сервера, в файле /usr/local/sbin/post-mount добавить строчки
logger "Synchronizing time"
ntpclient -s -h 1.ua.pool.ntp.org
logger "sendsms:Отправляем информацию об успешной загрузке"
sleep 5s
ipaddr=`nvram get wan0_ipaddr`
smslog=`/opt/etc/calendarSMS/sendsms -inet -sync "Your router $ipaddr is loaded"`
logger $smslog
как сделать что бы приходила смс когда у роутера поменяется внешний ip?
Интересная тема.
А мне вот надо посылать SMS кадждый раз когда мой WAN IP меняется так как у меня динамический адрес. Интересно а как мне мой IP дампить в файл каждый раз когда он меняется? Может кто научит?
terrabyte
11-03-2011, 18:24
Интересная тема.
А мне вот надо посылать SMS кадждый раз когда мой WAN IP меняется так как у меня динамический адрес. Интересно а как мне мой IP дампить в файл каждый раз когда он меняется? Может кто научит?
Просто любопытно а для чего Вам нужно узнавать ваш динамический ИП?
Интересная тема.
А мне вот надо посылать SMS кадждый раз когда мой WAN IP меняется так как у меня динамический адрес. Интересно а как мне мой IP дампить в файл каждый раз когда он меняется? Может кто научит?
А использовать DynDNS религия не позволяет???
А использовать DynDNS религия не позволяет???
А что DynDNS уже настоили господа знтузиасты?
http://wl500g.info/showthread.php?p=214339&highlight=dyndns#post214339
http://wl500g.info/showthread.php?p=214336&highlight=dyndns#post214336
Просто любопытно а для чего Вам нужно узнавать ваш динамический ИП?
Ну наверно чтобы подключиться via OpenVPN...
theMIROn
12-03-2011, 14:16
А что DynDNS уже настоили господа знтузиасты?
http://wl500g.info/showthread.php?p=214339&highlight=dyndns#post214339
http://wl500g.info/showthread.php?p=214336&highlight=dyndns#post214336
А что временные проблемы полгода назад все еще актуальны?
А что DynDNS уже настоили господа знтузиасты?
http://wl500g.info/showthread.php?p=214339&highlight=dyndns#post214339
http://wl500g.info/showthread.php?p=214336&highlight=dyndns#post214336
на прошивке r2174 работает нормально
два раутера отстраивал все хорошо работает
---
ryzhov_al
28-03-2011, 19:44
Интересно а как мне мой IP дампить в файл каждый раз когда он меняется? Может кто научит?
/sbin/ifconfig ppp0 | grep "inet addr" | awk '{print substr($2,index($2,":")+1)}' > /tmp/ip.txt
ipaddr=`nvram get wan0_ipaddr`
smslog=`/opt/etc/calendarSMS/sendsms -inet -sync "Your router assigned new address: $ipaddr "`
У меня в post-firewall такой код работает
Интересная тема.
А мне вот надо посылать SMS кадждый раз когда мой WAN IP меняется так как у меня динамический адрес. Интересно а как мне мой IP дампить в файл каждый раз когда он меняется? Может кто научит?
к примеру , поместите этот код в /opt/etc/cron.hourly
или /opt/etc/cron.5mins
#получим текущий ip
ipaddr=`nvram get wan0_ipaddr`
cmdipaddr=`nvram get wan0_ipaddr >/opt/tmp/ipnew.txt`
$cmdipaddr
if [ -f /opt/tmp/ipold.txt ]
then
echo >/dev/null
#cp /opt/tmp/ipnew.txt /opt/tmp/2.txt
else
cp /opt/tmp/ipnew.txt /opt/tmp/ipold.txt
#cp /opt/tmp/ipnew.txt /opt/tmp/1.txt
fi
if cmp /opt/tmp/ipnew.txt /opt/tmp/ipold.txt > /dev/null
then
echo > /dev/null
# если не сменился адрес то и не сорим
else
cp /opt/tmp/ipnew.txt /opt/tmp/ipold.txt
smslog=`/opt/etc/calendarSMS/sendsms -inet -sync "Router new ip : $ipaddr "`
$smslog
logger ">>>new ip $ipaddr "
fi
к примеру , поместите этот код в /opt/etc/cron.hourly
или /opt/etc/cron.5mins
А зачем такое лазинье по елкам? DYNDNS прекрасно справляется с задачей, как обратится к динамическому адресу не зная его )
А зачем такое лазинье по елкам? DYNDNS прекрасно справляется с задачей, как обратится к динамическому адресу не зная его )
Может Вы изначально не поняли тему?
Человек просил отправлять смс, если меняется IP.
Простой скрипт, который я привел , это прекрасно делает.
Не спорю, возможно можно написать еще более простой, ну приведите пример , напишите.
Каким образом DYNDNS в этом может помочь ? они что - смс отправляют ? в момент назначения адреса.
пользуюсь dyndns несколько лет, нет у них такого сервиса
Может Вы изначально не поняли тему?
Человек просил отправлять смс, если меняется IP.
Простой скрипт, который я привел , это прекрасно делает.
Не спорю, возможно можно написать еще более простой, ну приведите пример , напишите.
Каким образом DYNDNS в этом может помочь ? они что - смс отправляют ? в момент назначения адреса.
пользуюсь dyndns несколько лет, нет у них такого сервиса
DYNDNS никуда не отправляет адрес, поскольку это становится не нужным, вместо того чтобы читать сообщения с вашим текущим адресом, вы просто обращаетесь к своему железу по имени например vasya.dyndns.com.
Господа, а можно ли как-нибудь настроить WL500gP с прошивкой Олега так, чтоб после получения его WAN интерфейсом, по dhcp, IP адреса, он (IP) отправлялся мылом на указанный адрес?