Śledzenie mojego domowego adresu IP z dowolnego miejsca w Internecie?

9

Mam ISP, który obsługuje półtrwałe adresy IPv4. Nie mogą obiecać stałych adresów IP, ale nieoczekiwane zmiany są dość rzadkie.

To jednak każe mi zapytać: jaki byłby najłatwiejszy / najbardziej niezawodny sposób na śledzenie mojego domowego adresu IP, aby uzyskać dostęp do mojego domowego serwera (Windows 7) nawet w przypadku zmiany adresu?

Uwaga: z powodów, do których nie chcę wchodzić, chciałbym uniknąć korzystania z jakichkolwiek usług typu „dynamiczny DNS”. Zamiast tego wolałbym w jakiś sposób, aby serwer domowy pozostawił sporadyczny / wyzwalany „znaczek adresu” na zdalnym serwerze zewnętrznym (przez SSH, HTTP POST lub podobny, najlepiej przez połączenie szyfrowane).

oktosiTe
źródło
1
Z jakiego systemu operacyjnego korzystasz? Jeśli jest to system uniksowy, możesz napisać skrypt powłoki uruchamiany co jakiś czas przez cron. Skrypt musi po prostu połączyć się z innymi serwerami i zapisać adres IP w pliku tekstowym. Myślę, że możesz nawet napisać skrypt dla systemu Windows.
Darokthar
@Darokthar: W tym przypadku Windows (7), co jest dla mnie trochę przeszkodą. Prawdopodobnie nie miałbym większych problemów z wymyśleniem czegoś w Bash, ale nie znam się na skryptach powłoki Windows.
oKtosiTe
Może powinieneś przeformułować swoje pytanie. To byłoby twoje rozwiązanie :-) Przepraszam, że nie mogłem też napisać tego skryptu.
Darokthar
Jakiego routera używasz? Wiem, że powiedziałeś, że nie chcesz używać dynamicznych DNS jak oprogramowanie. Ale kilka routerów ma to wbudowane, więc nie musisz instalować go na serwerze. Myślę, że byłoby to bardziej niezawodne niż cokolwiek, co można podrzucić.
Matt H

Odpowiedzi:

5

Interesujące pytanie. Ponieważ chcesz uniknąć usług DNS, myślę, że dość łatwo byłoby podrzucić plik skryptu / pliku wsadowego, aby sprawdzić bieżący adres IP, a następnie wysłać notatkę o tym do obcego serwera za pośrednictwem ssh / scp / rsync, gdy się zmieni .

Możesz otrzymać swój adres IP WAN w ten sposób:

wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]|.]//g'

Łatwo byłoby skończyć w zmiennej lub pliku, a następnie można sprawdzić zmiany i w razie potrzeby wywołać raport.

Zostało to już omówione w innym miejscu, więc jeśli nie chcesz wymyślać koła, zajrzyj tutaj:

http://ubuntuforums.org/archive/index.php/t-526176.html

Edycja : Cholera, widzę, że właśnie dodałeś, że używasz systemu Windows !!!

Edycja 2 : O ile nie lubię tylko łączenia - istnieje tutaj rozwiązanie problemu oparte na DOS / cmd, które wykorzystuje wersje DOS curl i blat (do wysłania e-maila):

http://www.answerbag.com/q_view/1988422

Linker3000
źródło
To wygląda dość blisko tego, czego chcę. Jeśli nie mogę znaleźć rozwiązania specyficznego dla systemu Windows, spróbuję rozwinąć to w Cygwin lub podobnym. Dzięki!
oktosiTe
Tak, przepraszam za to, nie wiem, jak mogłem zapomnieć o dodaniu tak istotnych informacji ... Nie mam nawet zwyczaju używania Windowsa do serwerów, ale w tym przypadku wymagała tego interoperacyjność. Ta druga edycja również wygląda obiecująco, na pewno sprawdzi się.
oKtosiTe
1
Naprawdę nie mam odpowiedzi, ale coś, co można zbudować, wykorzystuje trochę httpwebrequest vbscript: 808.dk/?code-vbnet-httpwebrequest - To dość proste i bezpośrednie, choć nie rozumiem, dlaczego nie skorzystaj z usługi dyndns. ;-)
Do
18

Najstarszym i prawdopodobnie najbardziej niezawodnym sposobem powiązania dynamicznego (lub dowolnego rodzaju) adresu IP z nazwą domeny jest DynDNS . Masz klientów na prawie każdy system operacyjny, a po jego skonfigurowaniu będzie działał przez lata, niczego nie zauważając.

Julien Vehent
źródło
Dzięki, ale nie jestem zainteresowany używaniem DynDNS lub innej podobnej usługi wiążącej mój adres IP z nazwą hosta.
oktosiTe
6
@oKtosiTe, korzystanie z ddns jest najłatwiejszym rozwiązaniem, jak zauważył Julien. Zasadniczo nie ma wad. Potrzebujesz strony trzeciej, do której zarówno ty, jak i twój serwer będziecie mieli niezawodny dostęp, serwer następnie aktualizuje tę stronę trzecią za pomocą adresu IP i otrzymuje adres IP od tej strony trzeciej. Właśnie to implementuje ddns przez kogoś takiego jak DynDNS. Jeśli jednak chcesz, możesz wymyślić koło na nowo.
Chris S
Zainstalowanie aplikacji klienckiej jest jedną z wad, a bycie zależnym od takiej strony trzeciej jest czymś, czego chciałbym uniknąć. Mam kilka nazw domen i własne niezawodne serwery SSH, FTP i sieciowe, których wolałbym używać, jeśli to w ogóle możliwe.
oktosiTe
@oKtosiTe - Większość z tych usług umożliwia również mapowanie własnych nazw domen na adresy IP.
Joel Coehoorn
3
Jeśli korzystasz z routera z oprogramowaniem DDWRT lub Tomato, mają one wbudowane oprogramowanie dyndns, więc nie musisz uruchamiać lokalnego oprogramowania klienckiego.
Matt H
7

Być może będziesz w stanie zaplanować komputer kliencki (Windows 7?) Na ftp lub ssh na serwerze przy użyciu fałszywej nazwy użytkownika i hasła co godzinę. Jeśli używasz unikalnej nazwy użytkownika, możesz ją śledzić w plikach dziennika serwera.

Mam serwer Linux ssh. Plik /var/log/auth.log pokazuje wpisy podobne do nieudanych prób logowania:

Feb 11 14:51:27 hostname sshd[3864]: Failed password for invalid user alias from xxx.xxx.xxx.xxx port 28708 ssh2

Który pokazuje nazwę użytkownika dla próby logowania i adres IP.

Jeśli twój system Windows 7 zostanie skradziony, nie ma niebezpieczeństwa, że ​​otrzymają hasło do twojego serwera, ponieważ używasz fałszywych poświadczeń. Nieudana próba logowania pozostawia wystarczającą ilość informacji na serwerze, abyś mógł śledzić system klienta (unikalna nazwa użytkownika i adres IP, z którego pochodzi).

Możesz użyć Windows Scheduler, ale ja osobiście użyłbym polecenia „at”, ponieważ większość ludzi nie wie o tym.

James T.
źródło
Niezły pomysł. Zobaczę, który z moich zewnętrznych serwerów mógłby mi pomóc w taki sposób. Dzięki!
oktosiTe
5

Ciekawe rozwiązanie: jeśli korzystasz z konta Gmail, możesz pozostawić je otwarte na komputerze domowym, a on automatycznie rejestruje adres IP co kilka godzin.

Możesz sprawdzić aktywność swojego konta, w tym adresy IP, przewijając całą zawartość skrzynki odbiorczej Gmail.

bruno077
źródło
Genialny pomysł. :)
JFW
Niezły pomysł.
oktosiTe
+1000 to takie sprytne: D
JoséNunoFerreira
2

Możesz skorzystać z usługi dyndns bez używania nazwy hosta, jeśli to twoja sprawa. Ponieważ twoje IP jest „półtrwałe”, zakładam, że znasz je większość z nich. W tych rzadkich przypadkach, które się zmieniają, po prostu zaloguj się na stronie dyndns, aby sprawdzić swoje konto i poda ci nowy adres IP. Nie wymaga nazwy hosta.

Jeśli chodzi o to, adres IP to tylko liczba. W systemie nie ma nic wbudowanego, co pozwoliłoby ci wiedzieć o zmianach adresu IP, chyba że polegasz na usługach stron trzecich gdzieś poza własną siecią, aby rejestrować te zmiany. Dynamiczne usługi dns (i jest więcej opcji niż tylko dyndns.org) są ustalonymi, dojrzałymi i bezpłatnymi środkami do osiągnięcia tego celu. Jeśli nie chcesz używać nazwy domeny, która się z nimi wiąże, nie musisz (chociaż nazwa nadal będzie istnieć i będzie działać, jeśli będziesz jej potrzebować).

Joel Coehoorn
źródło
Jestem tego świadomy, ale chciałbym móc wybrać firmę trzecią, na której polegam, i jeśli to możliwe, użyć jednego z moich serwerów jako jednego.
oktosiTe
@oKtosTE - W swoim poście wspomniałem konkretnie, że istnieje kilka różnych dynamicznych usług dns, z których możesz wybierać. Jedyne, czego nie możesz zrobić, to użyć własnego serwera w sieci. Państwo musi polegać na jakimś znanym usługi z prawdziwego stałego adresu zewnętrznej sieci. Nie ma innego wyjścia. Jeśli naprawdę chcesz to zrobić sam, możesz założyć konto u dostawcy usług w chmurze, takiego jak amazon ec2, i zbudować własne ... ale to dużo pracy i pieniędzy na coś, co nadal musisz utrzymywać i nie będzie działać także.
Joel Coehoorn
I mają serwery off-site. Chyba powinienem był to wyrazić jaśniej.
oktosiTe
2

http://www.gearboxcomputers.com/products/ip-watcher/ wygląda tak, jak szukasz, nawet jeśli nie jest to oprogramowanie freeware.

LawrenceC
źródło
+1: Chociaż mam nadzieję na darmowe rozwiązanie, na pewno ktoś może to obsłużyć. Dziękuję Ci.
oKtosiTe
2

DHCP zwykle ma zaczep, którego można użyć do wywołania skryptu przy każdej zmianie stanu. Musisz tylko napisać skrypt, aby zaktualizować coś na serwerze w innej sieci.

To zależy od Ciebie, ponieważ nie wydajesz się zainteresowany standardowym rozwiązaniem DNS. (Być może możesz skierować skrypt aktualizacji DNS na jeden ze swoich serwerów. Przesłanie wiadomości e-mail na adres IP może być wystarczające w twoim przypadku. Skopiowanie pliku lub skontaktowanie się z serwerem lub portem na innym serwerze to inna opcja.

BillThor
źródło
1

https://secure.logmein.com/ - Dowolny komputer, który podłączysz do jego usługi (który jest zaszyfrowany), możesz przejść do właściwości tego komputera na ich stronie i znaleźć jego najnowszy adres rozgłoszeniowy.

Zapewnia również narzędzie do zdalnego pulpitu, jeśli jest ono potrzebne.

DivinusVox
źródło
0

jeśli przejdziesz na: http://www.ipchicken.com/ przeciwko „ Name Address:” powinien być długi ciąg znaków - możesz użyć tego ciągu jako nazwy hosta, aby połączyć się z witryną.

Po prostu zapisz gdzieś ten ciąg

strumień
źródło
Nazwa hosta zmieni się w tym samym czasie, co adres IP, więc obawiam się, że to mi nie pomoże.
oktosiTe
niektórzy usługodawcy internetowi nie uwzględniają adresu IP w tej nazwie i pozostaje on niezmieniony - mój pozostaje stabilny: „CPE0016bxxxxb6e-CM00xxxxxxx1e2.cpe.net.cable.rogers.com”
odrzutowiec