Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Linux для начинающих

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.09.2015, 19:13   #1
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Включение сервера по требованию

"Внезапно" возник вопрос: А не лучше ли для обмена данными вместо netcat использовать MQTT? Можно сохранять текущий статус для общих "переменных", например состояние сервера в текущий момент. Для скриптования вроде есть некий bish-bosh

Последний раз редактировалось Tohin; 06.09.2015 в 19:48.
Tohin вне форума   Ответить с цитированием
Старый 08.09.2015, 21:29   #2
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Включение сервера по требованию

Научился выключать сервер "одним движением"... (ну быдлокодер я...)
cat /etc/init.d/wait_shtw
Код:
#!/bin/sh /etc/rc.common
# Copyright (C) 2007-2011 OpenWrt.org

START=98

start() {
        mkfifo /tmp/test
        netcat -lvp 12345 < /tmp/test | awk -f /root/testscript.awk > /tmp/test&
}

stop() {
        killall netcat
        killall awk
 }
не забыть после создания:
Код:
~# chmod +x /etc/init.d/wait_shtw
~#/etc/init.d/wait_shtw enable
cat /root/testscript.awk
Код:
#!/usr/bin/awk -f
/poweroff/ {
                system("nohup poweroff -d 3")
                print "HTTP/1.1 200 OK"
        }
Теперь при http GET на ip_of_server:12345/poweroff сервак выдает ответ HTTP/1.1 200 OK и отрубается.

Для одной кнопки использую Tasker под андроид с запросом httpGET и обработкой ответа (показывает уведомление с вибрацией), запускается нажатием на виджет.

Жду критики и помощи в объединении/доработке...
Tohin вне форума   Ответить с цитированием
Старый 07.12.2014, 12:07   #3
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Включение сервера по требованию

Немного почитав маны, я пришел к выводу, что перехваченный tcpdump'ом пакет ARP-запроса не может быть обработан iptables, т.к. это не tcp/ip
Мониторинг tcpdump'ом не выриант - грузит и без того слабый проц на полную.
Еще есть некая arpwatch.... Ушел гуглить...

UPD:
Вобщем это тоже не то. Теперь есть мысль об виртуальном интерфейсе, на роутере. Как только сервак засыпает - просыпатеся мафия? в смысле виртуальный интерфейс на роутере с тем же ip-шниокм. После отправки magic-packet вирт.интерфейс гаситься....
на память:
Интерфейсы Asus WL-500W :

eth0 = 4 x LAN порта
eth1 = WAN порт
eth2 = Wi-Fi
br0 = LAN + Wi-Fi (eth0 + eth2)

Попробуем создать виртуальный интерфейс на eth0:
ifconfig eth0:0 192.168.1.81

Ура. "виртуально" сервер в сети.
iptables -t nat -I PREROUTING -d 192.168.1.81 -j LOG --log-prefix="TRIGGER ME NOW !!!"
cat /tmp/syslog.log
БИНГО!
Цитата:
Dec 7 19:30:56 kernel: TRIGGER ME NOW !!!
Делаем:
$ tail -0 -f /tmp/syslog.log| awk '/TRIGGER ME NOW !!!/ {system("echo Have a nice day")}'
Пингуем и получаем:
Цитата:
Have a nice day

ifconfig eth0:0 down - и он исчез

Последний раз редактировалось Tohin; 07.12.2014 в 19:44. Причина: "Доктор, у меня проблема... я обгуглился"
Tohin вне форума   Ответить с цитированием
Ответ

Метки
iptables, wake on demand, wake-on-lan


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:10. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика