Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: [ROZWIĄZANY]Uruchamianie skryptu po podlaczeniu do sieci  (Przeczytany 3131 razy)

Offline KarolPrv0

  • Nowy na forum
  • *
  • Wiadomości: 3
    • Zobacz profil
Witam. Jak w temacie. Potrzebuje po podłączeniu do sieci urochmic jakis tam skrypt .py lub .php. Postawilem sobie serwer apache i chce miec dostep do niego z sieci ale ze po restarcie routera adres sie zmienia, to potrzebuje wyslac nowy adres ip na email. Jak to ugryzc?
« Ostatnia zmiana: 2023-01-14, 17:12:14 wysłana przez KarolPrv0 »

Offline baker

  • Nowy na forum
  • *
  • Wiadomości: 36
    • Zobacz profil
Odp: Uruchamianie skryptu po podlaczeniu do sieci
« Odpowiedź #1 dnia: 2023-01-03, 19:42:56 »
Na takie rzeczy wymyślili dynip i jego alternatywy.
https://wiki.archlinux.org/title/Dynamic_DNS

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Uruchamianie skryptu po podlaczeniu do sieci
« Odpowiedź #2 dnia: 2023-01-04, 00:36:01 »
Może rozwinę trochę temat. Dla początkujących.
Mogę być omylny, więc proszę mnie poprawić.

Dynamic Domain Name System - Jest to metoda w której pełnej nazwie sieciowej przypisany jest zmienny adres IP.

Większe wyjaśnienie.
Dzięki wspomnianemu DDNS możemy używać nazwy sieciowej zamiast adresu IP, np. do
- połączenia z naszym serwerem przez ssh
( kwestie bezpieczeństwa albo inaczej zaufania się kłaniają, ale pominę ten temat )
- połączenia się z naszą stroną internetową.
Pełna nazwa zazwyczaj składa się z nazwy DNS np.  " wikipedia.org " + nazwy dodatkowej np. " en " ,
czyli całość to  " en.wikipedia.org "
Całą / pełną nazwę można nazwać FQDN  https://en.wikipedia.org/wiki/Fully_qualified_domain_name
DDNS czasami potocznie się też nazywa darmowym DNS, co jest trochę mylące.
- Wspomniane DDNS może polegać np. na zarejestrowaniu się w jakimś serwisie internetowym i instalacji aplikacji lub skryptu
 w celu aktualizacji adresu IP określonej nazwie sieciowej.
- Czymś innym i do czegoś innego jest przeznaczony " public recursive name server " nazywane potocznie także darmowym DNS  https://en.wikipedia.org/wiki/Public_recursive_name_server
Służy do rozwiązywania nazw sieciowych DNS na IP przez nasz system operacyjny, np. dla naszej przeglądarki internetowej.
Kiedyś domyślnie dostawcą rozwiązywania nazw był nasz dostawca internetu, dziś może to być różnie i zazwyczaj można też zmienić.
Ten filmik może odrobinę pokazać jak działa rozwiązywanie nazw na adres IP potrzebny do otworzenia strony internetowej w naszych przeglądarkach.
 https://www.youtube.com/watch?v=72snZctFFtA


Wracając do powyższego linka z wiki archa odnośnie DDNS

Ad.1 Router.
- Router teoretycznie może mieć zainstalowanych kilka aplikacji różnych " dostawców " DDNS.
Tworzymy i rejestrujemy nazwę i gotowe.
Potem gdy aplikacja routera wykryje nowe IP to automatycznie zaktualizuje z naszą nazwą sieciową.
To czy trzeba się rejestrować dodatkowo na stronie internetowej  zależy od danego dostawcy aplikacji / DDNS.
- Jeśli router jest bardziej " konfigurowalny " / umożliwia większą modyfikację
to można zrobić to w sposób opisany niżej lub przy pomocy gotowych konfiguracji.

Ad.2 Klient - Wydaje mi się że chodzi także o aplikacje lub skrypty, ale głównie w systemie operacyjnym
( Postaram się trochę wiedzę poukładać we własne punkty )
2.1 Możemy zainstalować aplikacje lub skrypty dostawców DDNS
( Nie wiem, nie testowałem czemu część jest wielo- i pojedynczo- serwisowe / usługowe )
Czasami taki skrypt / aplikacja wysyła tylko ping do dostawcy DDNS jeśli adres IP ulegnie zmianie.
Po adresie IP przychodzącego wie jakie IP przypisać naszej nazwie sieciowej ( Wiem, kwestia bezpieczeństwa się kłania. )
2.2 Wymieniona jest co najmniej jedna aplikacja " ddclient " obsługująca kilku dostawców DDNS
2.3 Wspomniano że adres IP można uzyskać ze stron internetowych.

Chciałbym rozwinąć temat.

- Jeśli mamy połączony serwer lub komputer bezpośrednio z naszym dostawcą internetu
to znalezienie naszego IP zewnętrznego / publicznego służącego do komunikacji w internecie
przy pomocy komend w systemie lub aplikacji graficznych nie stanowi problemu.
Ponieważ używamy te IP do komunikacji z internetem.
- Jeśli po drodze mamy inne urządzenia np. router
to nasz system operacyjny do komunikacji z routerem posługuje adresem IP prywatnym.  https://en.wikipedia.org/wiki/IP_address#Private_addresses

Adres IP prywatny jest inny niż adres IP publiczny.
Dlatego czasami używa się stron internetowych by powiedziały nam jakie IP publiczne posiadamy.
Tych stron internetowych jest bardzo dużo https://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-a-shell-script/194136#194136
W terminalu zazwyczaj do pobrania publicznego IP ze strony służy komenda " curl " lub " wget ".

W ten sposób uzyskane IP publiczne można np. za pomocą własnego skryptu:
- wysłać pocztą na swoje konto. ( Tu też się kłania kwestia bezpieczeństwa lub zaufania - zresztą chyba wszędzie :-) )
- przy pomocy ping lub w inny sposób wysłać do dostawcy DDNS w celu aktualizacji IP dla określonej nazwy sieciowej.
( Tu też się kłania kwestia bezpieczeństwa lub zaufania - zresztą chyba wszędzie :-) )

Małe wyjaśnienie.
Moje wspominanie o bezpieczeństwie w niektórych miejscach może jest bez sensu,
Chciałem żeby czytający się zastanowił czy dany sposób jest idealny dla niego także pod względem bezpieczeństwa.
« Ostatnia zmiana: 2023-01-04, 01:25:24 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline KarolPrv0

  • Nowy na forum
  • *
  • Wiadomości: 3
    • Zobacz profil
Odp: Uruchamianie skryptu po podlaczeniu do sieci
« Odpowiedź #3 dnia: 2023-01-04, 16:52:55 »
Wiem jak dziala DDNS i mam w routerze mozliwosc ustawienia tego, ale nie jest mi to do niczego potrzebne, bo nie jest to serwer do ktorego maja zagladac jacys obcy ludzie, lecz tylko i wylącznie ja i moze pare osob, od czasu do czasu, wiec potrzebuje tylko wykryc gdy komputer podlaczy sie do sieci. Mozna zrobic CRONA który bedzie sprawdzal co jakis czas czy ip publiczne sie nie zmienilo, ale to troche obejscie problemu, a nie jego rozwiazanie.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Uruchamianie skryptu po podlaczeniu do sieci
« Odpowiedź #4 dnia: 2023-01-04, 20:59:11 »
No dobra, ale IP zmienia ci się na routerze, nie na kompie podpiętym do niego. Z kolei komp nie widzi bezpośrednio zmiany adresu publicznego routera. Jedyna opcja (jeżeli nie spatchujesz routera własnymi narzędziami) to cykliczne odpytywanie czegoś pokroju "whatsmyip".



Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline KarolPrv0

  • Nowy na forum
  • *
  • Wiadomości: 3
    • Zobacz profil
Odp: Uruchamianie skryptu po podlaczeniu do sieci
« Odpowiedź #5 dnia: 2023-01-05, 16:24:13 »
Rozwiazanie mojego problemu bylo bardzo proste. Trzeba bylo zainstalowac pakiet ifupdown i do folderu /etc/network/if-up.d wrzucic plik ze skryptem jaki chcemy wykonac po podlaczeniu do sieci (plik bez kropek w nazwie), i gotowe.