оповещение об отсутствии интернета
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
увы, тут я не знаю, что подсказать
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
гуглеж показал во первых, что этот самый net:ping для работы с icmp должен выполняться либо root-ом либо с setuid рута
то есть, попробуй hotspotlogin-у выставить setuid
ну а еще в одном форуме человек написал, что нагуглил что-то тут
http://search.cpan.org/~colinm/Net-Ping ... xternal.pm
и вроде как это (альтернативный модуль) стало решением его проблемы.
то есть, попробуй hotspotlogin-у выставить setuid
ну а еще в одном форуме человек написал, что нагуглил что-то тут
http://search.cpan.org/~colinm/Net-Ping ... xternal.pm
и вроде как это (альтернативный модуль) стало решением его проблемы.
Re: оповещение об отсутствии интернета
Да таких примеров я перебрал тонны, половина из них не рабочая, а этот пример тоже не запускается, там интерпритатор матерится на:
use Net::Ping::External qw(ping);, судя по всему решения только 2,
1. реализовать ваш пример с кроном (подскажите как сделать так чтобы крон стартовал скрипт каждые 5 мин)
2. Надоедать разработчикам чиллиспота (хотя там на форуме уже регистрацию прикрыли), чтоб дали дельный совет либо учли этот нюанс в следующем обновлении.
Дело в том что когда клиент активизирует hotspotlogin там наверное куча ограничений в часности и на работу с файлами.
Даже после того, как функция exec/system из hotspotlogin пускала скрипт,(он должен был записать в файл) запись в файл не выполнялась вообще, в то время как файл запущенный руками все делал как надо.
кстати, хотел Вас спросить, немножко не по теме, вот ссылка http://www.chillispot.info/chilliforum/ ... -page.html
это реально можно реализовать или все это пустая болтовня ?
use Net::Ping::External qw(ping);, судя по всему решения только 2,
1. реализовать ваш пример с кроном (подскажите как сделать так чтобы крон стартовал скрипт каждые 5 мин)
2. Надоедать разработчикам чиллиспота (хотя там на форуме уже регистрацию прикрыли), чтоб дали дельный совет либо учли этот нюанс в следующем обновлении.
Дело в том что когда клиент активизирует hotspotlogin там наверное куча ограничений в часности и на работу с файлами.
Даже после того, как функция exec/system из hotspotlogin пускала скрипт,(он должен был записать в файл) запись в файл не выполнялась вообще, в то время как файл запущенный руками все делал как надо.
кстати, хотел Вас спросить, немножко не по теме, вот ссылка http://www.chillispot.info/chilliforum/ ... -page.html
это реально можно реализовать или все это пустая болтовня ?
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
Все правильно! Этот модуль не входит в число тех, что устанавливаются с перлом по умолчанию. Его нужно установить дополнительно командой:Dazzler писал(а):Да таких примеров я перебрал тонны, половина из них не рабочая, а этот пример тоже не запускается, там интерпритатор матерится на:
use Net::Ping::External qw(ping);,
Код: Выделить всё
sudo apt-get install libnet-ping-external-perl
В принципе, можно и чаще, например раз в минуту или раз в две минуты, сервер это не нагрузит...Dazzler писал(а):судя по всему решения только 2,
1. реализовать ваш пример с кроном (подскажите как сделать так чтобы крон стартовал скрипт каждые 5 мин)
Допустим, файл скрипта вы назвали ping_test.sh и разместили его в папку /root. В таком случае в файл /etc/crontab нужно добавить такую строку:
Код: Выделить всё
*/2 * * * * root /root/ping_test.sh
Вот тут уж точно ничего не светит. именно сам чиллиспот уже заброшен авторами, и никаких ему "свежих обновлений" уже не светит.Dazzler писал(а):2. Надоедать разработчикам чиллиспота (хотя там на форуме уже регистрацию прикрыли), чтоб дали дельный совет либо учли этот нюанс в следующем обновлении.
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
Скрипт по адресу:
http://wifi-hotspot.zp.ua/cgi-bin/12.cgi
с использованием Net::Ping::External
http://wifi-hotspot.zp.ua/cgi-bin/12.cgi
с использованием Net::Ping::External
Код: Выделить всё
#!/usr/bin/perl
print "Content-type: text/html \n\n";
print "You need some wait... <br>";
print "1. First test - www.google.com<br>";
use Net::Ping::External qw(ping);
my $alive = ping(host=>"www.google.com");
if ($alive == 1) {
print "Ok!";
} else {
print "Bad";
}
print "<br>2. Second test - non existing URL www.goo_gle.com<br>";
use Net::Ping::External qw(ping);
my $alive = ping(host=>"www.goo_gle.com");
if ($alive == 1) {
print "Ok!";
} else {
print "Bad";
}
Re: оповещение об отсутствии интернета
По моему это работает вроде, щас буду тестить
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
а у чиллиспота в таком случае какие адреса серверов днс прописывал? 127.0.0.1?...Dazzler писал(а):Да dns настроил я вот по этому мануалу http://ubuntu-faq.blogspot.com/2007/09/ ... u-dns.html
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
Итак, в продолжение телефонных разговоров....
Ставим dnsmasq
Настраиваем ( ) dnsmasq
в данном файле собственно, должно быть указано два параметра
(По большому счету, можно просто в файле вообще удалитьвсю чехарду, а вписать только две вышеприведенные строчки )
Рулим конфиг чиллиспота
в нем принудительно указываем адрес сервера днс (достаточно одного, первого)
И последнее - рулим файервол (как эго потом "применять" - смотрим в инструкцию)
В нем нужно добавить одно новое правило в раздел LAN интерфейса (вторая половина):
Все. Клиентам выдается в качестве сервера ДНС сервер хотспота.
Ставим dnsmasq
Код: Выделить всё
sudo apt-get install dnsmasq
Код: Выделить всё
sudo mcedit /etc/dnsmasq.conf
Код: Выделить всё
interface=tun0
no-dhcp-interface=tun0
Рулим конфиг чиллиспота
Код: Выделить всё
sudo mcedit /etc/chilli.conf
Код: Выделить всё
dns1 192.168.182.1
В нем нужно добавить одно новое правило в раздел LAN интерфейса (вторая половина):
Код: Выделить всё
$IPTABLES -A INPUT -p udp -m udp --dport 53 -j ACCEPT
-
- Сообщения: 78
- Зарегистрирован: 03 дек 2011, 00:25
- Откуда: Харьковская область
- Контактная информация:
Re: оповещение об отсутствии интернета
С праздниками всех!
У меня, кстати, не пошел dnsmasq.
Всё сделал по выше описаному.
Сервер действительно начал выдавать свой DNS, но при этом на нём пропал интернет, как и у всех остальных.
Пока вернул всё назад.
И еще столкнулся с проблемой - после перезагрузки часто бывает не запускается интерфейс tun0, но судя по всему и WAN тоже не работает, хотя есть в списке, до сервера нельзя достучаться ни с какой стороны.
С сервером часто работаю удалённо, когда перезагружаю, рискую получить неработающий сервер, точнее не отвечающий ни на какие запросы. Приходится ехать на место, где сервер и еще раз перезагружать, тогда всё запускается. Такое бывает часто, и признаком того, что север не работает - по кооманде ifconfig видно что интерфейса tun0 нет.
Как с этим бороться?
У меня, кстати, не пошел dnsmasq.
Всё сделал по выше описаному.
Сервер действительно начал выдавать свой DNS, но при этом на нём пропал интернет, как и у всех остальных.
Пока вернул всё назад.
И еще столкнулся с проблемой - после перезагрузки часто бывает не запускается интерфейс tun0, но судя по всему и WAN тоже не работает, хотя есть в списке, до сервера нельзя достучаться ни с какой стороны.
С сервером часто работаю удалённо, когда перезагружаю, рискую получить неработающий сервер, точнее не отвечающий ни на какие запросы. Приходится ехать на место, где сервер и еще раз перезагружать, тогда всё запускается. Такое бывает часто, и признаком того, что север не работает - по кооманде ifconfig видно что интерфейса tun0 нет.
Как с этим бороться?
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: оповещение об отсутствии интернета
Посмотрю еще, поэкспериментирую.Roman писал(а):Пока вернул всё назад.
а в таком случае, если перезапустить в консоли сеть командойRoman писал(а):Приходится ехать на место, где сервер и еще раз перезагружать, тогда всё запускается. Такое бывает часто, и признаком того, что север не работает - по кооманде ifconfig видно что интерфейса tun0 нет.
Код: Выделить всё
sudo /etc/init.d/networking restart
(Просто можно тогда попробовать скрипт проверки дополнить проверкой интерфейса tun0 и в случае его отсутствия - перезапуском)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя