huczas

Cloudflare dns update

Aug 9th, 2016
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. CEL: Uzyskać tanio, a najlepiej za darmo możliwość dostawania się z zewnątrz do domowej sieci. Taka usługa nazywa się DDNS i często jest płatna.
  2.  
  3. Co jest potrzebne?
  4. - Konto na cloudflare.com - za darmo dostajemy możliwość podłączenia własnej domeny i zarządzania nią w swerze dns.
  5. - Własna domena którą zarządzamy w cloudflare
  6. - Domowy serwer w moim przykładzie Raspberry Pi 0 działający pod Raspbianem Jessie.
  7.  
  8. Jak?
  9. Na początek po zalogowaniu do serwisu Cloudflare dodajemy rekord A do swojej domeny który będzie wskazywał na nasz dom. np. dom.domena.pl. Ja w pierwszej kolejności pod adres IP wpisałem adres serwera WWW ale może być to co kolwiek gdyż za chwilę raspberry go ustawi na ten kierujący do naszego domu.
  10.  
  11. Następnie z ustawień musimy wyciągnąć klucz API którego nikomu nie prezentujemy - traktujemy jak hasło.
  12.  
  13. Kolejne kroki kierujemy już do putty i na nim po zalogowaniu ściągamy skrypt z github(nie jestem jego autorem ale przetestowałem wiele skryptów i ten działa najbardziej uniwersalnie).
  14.  
  15. git clone https://github.com/gstuartj/cf-ddns.sh/
  16.  
  17. Wchodzimy do katalogu cf-ddns
  18. cd cf-ddns
  19. Pobierając skrypty od razu stworzyło nam katalog cf-ddns, a w nim 3 pliki, licencja, readme i właściwy skrypt.
  20.  
  21. Otwieramy skrypt w ulubionym edytorze np.
  22. nano cf-ddns.sh
  23. przewijamy do sekcji configuration aby uzupełnić potrzebne dane które wcześniej zapisaliśmy.
  24.  
  25. ###############
  26. # CF credentials - required
  27. cf_email='[email protected]'
  28. cf_api_key='długi_Klucz_API'
  29. # Zone name - can be blank if zone_id is set
  30. zone_name='domena.pl'
  31. # Zone ID - if blank, will be looked up using zone_name
  32. zone_id='' # If blank, will be looked up
  33. # DNS record name (e.g. domain.tld or subdomain.domain.tld)
  34. # - can be blank if record_id is set
  35. record_name='dom.domena.pl'
  36. # DNS record ID - if blank, will be looked up using record_name
  37. record_id=''
  38.  
  39. W pozycji record_name wpisujemy rekord A który będziemy aktualizować o zmieniający się nasz adres publiczny.
  40. tak uzupełniony skrypt możemy zapisać i zamknąć.
  41.  
  42. Teraz dla testu uruchamiamy go z parametrem -t który nie wyśle nic do cloudflare a jedynie sprawdzi poprawność działania lokalnie.
  43. sh cf-ddns.sh -t
  44. oraz
  45. sh cf-ddns.sh -f (wymuszenie aktualizacji)
  46. Jeśli nie mamy żandych błędów to śmiało możemy dodać skrypt do crona aby wykonywał się od teraz automatycznie i kierował naszą subdomenę do domu.
  47.  
  48. crontab -e
  49. na końcu pliku dopisujemy
  50. 5 * * * * ~/cf-ddns/cf-ddns.sh
  51.  
  52.  
  53. to wywoła nam skrypt co 5 minut, a następnie zapisujemy i wychodzimy z edycji. Od razu zaznaczę że wywołanie skryptu co 5 minut nie oznacza wysyłania aktualizacji do Cloudflare co 5min. Skrypt po uruchomieniu sprawdza ostatni adres IP i wysyła aktualizacje dopiero jeśli się adres zmieni.
  54.  
  55. Od tej pory jeśli mamy na routerze przekierowane odpowiednie porty lub postawiony serwer vpn możemy się łączyć np z telefonu. Ja polecam OpenVPN aby nie narażać się niepotrzebnie na nieproszonych gości.
Advertisement
Add Comment
Please, Sign In to add comment