Blog

Dziwny pomysł na zdalną administrację

2006-02-04 18:46:14

Ponieważ mojemu routerowi (czyli temu komputerowi, który nabyłem za zabójczą cenę 50 zł i który dalej będę nazywał tym mianem) zdarza się miewać uptime rzędu kilku dni (a chodziłby dłużej, gdybym go po prostu nie wyłączał ;-)) i ponieważ zdarza się, że jestem poza domem, kiedy pracuje ten komputer chciałbym mieć jakąś prostą możliwość kontrolowania komputera zdalnie.

Do dyspozycji mam:

  • telefon komórkowy posiadający przeglądarkę WML i XHTML
  • router, który nie posiada zewnętrznego adresu IP
  • zewnętrzny serwer HTTP z PHP i MySQL
  • cron, PHP, MySQL, Perl i wszystko czego zapragnę na routerze

Na bezpośrednie połączenie telefonu komórkowego z routerem są marne szanse. Telefon ma dynamiczny adres IP, a router go nie pozna. Na dodatek telefon musiałby pełnić rolę serwera, a pisanie jakiegokolwiek oprogramowania w Javie, które by realizowało taką funkcję z pewnością mija się z celem. Czyli do połączenia routera z telefonem (a właściwie do przekazania pomiędzy nimi informacji) musi być jakiś pośrednik.

Cały system widzę następująco. Na zewnętrznym serwerze (dostępnym zarówno z routera jak i telefonu) umieszczam prosty skrypt z autoryzacją, służący za pośrednika. Pośrednik ten ma gromadzić w bazie danych (czy w jakikolwiek inny sposób) dyspozycje dla routera. Wydawanie dyspozycji ma następować przez przeglądarkę w telefonie komórkowym. Interfejs skryptu ma też pokazywać jakieś informacje o bieżącym stanie routera, procesów na nim uruchomionych itp.

Router co jakiś czas (i tutaj kłania się cron) powinien łączyć się z serwerem pośredniczącym i uaktualniać dane na temat aktualnego stanu routera, procesów itp. Powinien też pobierać dyspozycje i je wykonywać. Czyli wykonanie dyspozycji nie będzie natychmiastowe, ale opóźnione maksymalnie o czas powtarzalności procesu w cronie. Jest to niezbyt wielka niedogodność biorąc pod uwagę, że router nie jest komputerem o znaczeniu strategicznym ;-) Drugim problemem jest zawodność pośrednika. Jeśli serwer pośredniczący nie będzie działał (lub routerowi nie uda się połączyć z pośrednikiem, co na jedno wychodzi), z całej zdalnej kontroli nici. Ale z tym też trzeba się pogodzić.

Pomysł jest do zrealizowania. Niby to nic specjalnego, ale możliwość wyłączenia komputera w domu jadąc pociągiem to fajna rzecz. Cóż... Trzeba się będzie za to wziąć (oczywiście głowę powinienem mieć zajętą dużo ważniejszymi sprawami - na przykład poniedziałkowym egzaminem z Analogów ;-))

Tagi: komputer sieć linux

Komentarze

Przemek

2006-02-04 19:51:26

Mam wątpliwość, nie wiem czy infantylną, bo marnie znam się na linuksie. W jakim celu wyłącza się komputer jadąc pociągiem? :)

Mój router kupiłem na Allegro za 45 zeta i w sumie zależy mi żeby działał jak najdłużej. Niby mam publiczny ip, ale jak go zrestaruję po ssh to i tak nie wstanie bo ma campaqowego biosa. =/

Krzysiek

2006-02-04 20:19:44

To wyłączanie było tylko przykładem ;-) Chciałbym sprawdzić status ściągania jakiegoś pliku, sprawdzić jakość połączenia radiowego i masę innych rzeczy. Zrestartować też (bo sam potrafi wstać ;-))
Zadania, które może wykonywać są ograniczone właściwie tylko przez moją pomysłowość i umiejętności programistyczne ;-)

Justyncia16

2006-02-04 22:51:02

Spoko, fajne żarty:D:D:D:D Dobra, ja tu już Cię męczyć nie będę. Papapapapa

Adi

2006-02-04 23:30:41

Ech, te kobiety ;)

Przemek

2006-02-05 00:40:52

Rozumiem :]
Wcześniej skojarzyłem to wyłącznie z wydaniem jakiej komendy (np. reboot czegoś tam) bez wiedzy o stanie systemu. Jakoś nie pomyślałem, że cron sam sobie poszuka pracy, wykona ją i jeszcze wyniki wywali do np. jakiejś bazy MySQL na serwerze www, żeby dało się jego poczynania podziwiać z telefonu lub czegoś innego co ma przeglądarkę. ;)

D4

2006-02-19 17:26:42

hmm, może napisz w C++ czy jakimś innym program, który to sprawdzi i wyrzuci do pliku html jako elegancki tekst, a potem przeforwarduj port 80 z swojego kompa, bądź każ mu uaktualniać dane na jakimś zewnętrznym serwerze.

Krzysiek

2006-02-19 17:32:18

No, a o czym ja pisałem w tej notce? ;-)

Dodaj komentarz

Zastrzegam sobie prawo do usunięcia komentarza bez podania przyczyny. W komentarzach nie można używać tagów HTML. Adresy IP komentujących są logowane.

Opcjonalnie możesz podać swój adres e-mail (nie zostanie opublikowany) oraz adres strony WWW (zostanie opublikowany):
E-mail: WWW:

I jeszcze odczytaj obrazek: