{"id":38840,"date":"2019-10-31T22:26:17","date_gmt":"2019-10-31T19:26:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/svoj-dynamic-dns-s-pomoshhyu-cloudflare\/"},"modified":"2019-10-31T22:26:17","modified_gmt":"2019-10-31T19:26:17","slug":"svoj-dynamic-dns-s-pomoshhyu-cloudflare","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/svoj-dynamic-dns-s-pomoshhyu-cloudflare","title":{"rendered":"Teie d\u00fcnaamiline DNS CloudFlare'i abil","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>Eess\u00f5na<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Teie d\u00fcnaamiline DNS CloudFlare&#039;i abil\" src=\"\/wp-content\/uploads\/2019\/10\/d1405e23e86048a05e6707bb5e9e215f.jpg\" style=\"display:block;margin: 0 auto;\" \/> Isiklikuks kasutamiseks kodus seadistasin VSphere'i, millel t\u00f6\u00f6tab virtuaalne ruuter ja Ubuntu server meediaserverina ning palju muid meeldivaid asju, ja see server peab olema Internetis ligip\u00e4\u00e4setav. Kuid probleem seisneb selles, et minu teenusepakkuja pakub staatilist IP-aadressi raha eest, millele v\u00f5iks leida palju kasulikumaid rakendusi. Seet\u00f5ttu kasutasin ddclient + Cloudflare'i kombinatsiooni. <\/p>\n<p>K\u00f5ik oli h\u00e4sti, kuni ddclient enam ei t\u00f6\u00f6tanud. Natuke seda nuputades sain aru, et on aeg m\u00f5tlema alternatiivsete lahenduste ja t\u00f6\u00f6riistade peale, kuna probleemide leidmiseks kulus liiga palju aega. L\u00f5ppkokkuv\u00f5ttes kujunes see v\u00e4lja v\u00e4ikeseks demoniks, mis lihtsalt t\u00f6\u00f6tab, ja rohkem ei olegi vaja. <br \/>\nKellel huvi, on oodatud lugema edasi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Kasutatud t\u00f6\u00f6riistad ja kuidas \"see\" t\u00f6\u00f6tab<\/h3>\n<p>\nEsmalt uurisin Cloudflare'i saidilt k\u00f5ike, mida on vaja teada <noindex><a rel=\"nofollow\" href=\"https:\/\/api.cloudflare.com\/\">API<\/a><\/noindex>. Ja olin juba asumas seda Pythonis rakendama (p\u00e4rast Pythoniga tutvumist kasutan seda j\u00e4rjest sagedamini m\u00f5nede lihtsate \u00fclesannete jaoks v\u00f5i kui on vaja kiiresti protot\u00fc\u00fcp luua), kui \u00e4kki sattusin praktiliselt valmisse lahendusse.<br \/>\nKokkuv\u00f5ttes v\u00f5eti aluseks wrapper <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cloudflare\/python-cloudflare\">python-cloudflare<\/a><\/noindex>.<\/p>\n<p>V\u00f5tsin \u00fche n\u00e4itest DNS-i v\u00e4rskendamiseks ja lisasin konfiguratsiooni faili kasutamise ning mitme A-kirje v\u00e4rskendamise v\u00f5imaluse tsoonis ja loomulikult piiramatu arvu tsoonide v\u00e4rskendamise.<\/p>\n<p>Loogika on j\u00e4rgmine:<\/p>\n<ol>\n<li>Skripti kaudu saadakse konfiguratsioonifailist tsoonide nimekiri ja k\u00e4iakse neist l\u00e4bi ts\u00fcklis<\/li>\n<li>Igas tsoonis k\u00e4ib skript ts\u00fcklis l\u00e4bi iga A- v\u00f5i AAAA t\u00fc\u00fcpi DNS-kirje ja v\u00f5rdleb avalikku IP-aadressi kirjetega<\/li>\n<li>Kui IP-d on erinev, muudab selle, kui mitte, j\u00e4tkab ts\u00fckli iteratsiooniga j\u00e4rgmisele <\/li>\n<li>Magab konfiguratsioonifailis m\u00e4\u00e4ratud aja<\/li>\n<\/ol>\n<p><\/p>\n<h3>Paigaldamine ja seadistamine<\/h3>\n<p>\nT\u00f5en\u00e4oliselt oleksin saanud teha ka .deb paketi, aga ma ei ole selles tugev, ja tegelikult ei ole see kuigi keeruline.<br \/>\nProtsessi olen \u00fcsna p\u00f5hjalikult kirjeldanud README.md-s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/DzenDyn\/zen-cf-ddns\">repositori lehe<\/a><\/noindex>.<\/p>\n<p>Kuid igaks juhuks kirjeldan \u00fcldiselt vene keeles:<\/p>\n<ol>\n<li>Veenduge, et teil oleks paigaldatud python3 ja python3-pip, kui ei ole \u2013 installige need (Windowsis paigaldatakse python3-pip koos Pythoniga)<\/li>\n<li>Kloonige v\u00f5i laadige alla repositoorium<\/li>\n<li>Paigaldage vajalikud s\u00f5ltuvused.\n<pre><code class=\"plaintext\">python3 -m pip install -r requirements.txt<\/code><\/pre>\n<p>\n<\/li>\n<li>K\u00e4ivitage installatsiooniskript<br \/>\nLinuxi jaoks:<\/p>\n<pre><code class=\"plaintext\">chmod +x install.sh\nsudo .\/install.sh<\/code><\/pre>\n<p>\nWindowsile: windows_install.bat\n<\/li>\n<li>Redigeerige konfiguratsioonifaili<br \/>\nLinuxi jaoks:<\/p>\n<pre><code class=\"plaintext\">sudoedit \/etc\/zen-cf-ddns.conf<\/code><\/pre>\n<p>\nWindowsi jaoks:<\/p>\n<p>Avage fail zen-cf-ddns.conf kaustas, kuhu skript paigaldatud.<\/p>\n<p>See on tavaline JSON-fail, konfiguratsioonide osas pole midagi keerulist \u2013 kirjutasin spetsiaalselt, et n\u00e4idata kahte erinevat ala.\n<\/li>\n<\/ol>\n<p><\/p>\n<h4>Mis peitub installijate taga?<\/h4>\n<p>\ninstall.sh Linuxile:<\/p>\n<ol>\n<li>Kasutaja luuakse deemonite k\u00e4itamiseks, kodukausta loomata ja sisselogimist v\u00f5imaldamata.\n<pre><code class=\"plaintext\">sudo useradd -r -s \/bin\/false zen-cf-ddns<\/code><\/pre>\n<p>\n<\/li>\n<li>Luuakse logifail \/var\/log\/ jaoks.<\/li>\n<li>Muudame logifaili omanikuks hiljuti loodud kasutaja.<\/li>\n<li>Failid kopeeritakse oma kohtadesse (konfiguraatsioon \/etc, k\u00e4ivitatav fail \/usr\/bin, teenuse fail \/lib\/systemd\/system)<\/li>\n<li>Teenust aktiveeritakse.<\/li>\n<\/ol>\n<p>\nwindows_install.bat Windowsile:<\/p>\n<ol>\n<li>Kopeerib k\u00e4ivitatava faili ja konfigureerimisfaili kasutaja m\u00e4\u00e4ratud kausta.<\/li>\n<li>Luuakse \u00fclesanne ajakavades, et skripti k\u00e4ivitada s\u00fcsteemi k\u00e4ivitamisel.<br \/>\n<code>schtasks \/create \/tn \"CloudFlare Update IP\" \/tr \"%newLocation%\" \/sc onstart<\/code>\n<\/li>\n<\/ol>\n<p>\nP\u00e4rast konfiguratsiooni muutmist tuleb skript uuesti k\u00e4ivitada, Linuxis on see lihtne ja harjumusp\u00e4rane:<\/p>\n<pre><code class=\"plaintext\">sudo service zen-cf-ddns start\nsudo service zen-cf-ddns stop\nsudo service zen-cf-ddns restart\nsudo service zen-cf-ddns status\n<\/code><\/pre>\n<p>\nWindowsis tuleb tappida pythonw protsess ja skript uuesti k\u00e4ivitada (mul pole eriti tahtmist kirjutada teenust Windowsile C#-ga):<\/p>\n<pre><code class=\"plaintext\">taskkill \/im pythonw.exe<\/code><\/pre>\n<p>\nSellega on install ja seadistamine l\u00f5petatud, nautige tervist.<\/p>\n<p>Neile, kes soovivad vaadata mitte k\u00f5ige ilusamat Pythonikoodi, siin see on. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/DzenDyn\/zen-cf-ddns\">GitHubi hoidla<\/a><\/noindex>.<\/p>\n<p>MIT litsents, seega tehke sellega, mida soovite.<\/p>\n<p>P.S.: M\u00f5istan, et see tuli veidi k\u00e4tsepuhkusele, kuid oma \u00fclesande t\u00e4idab see suurep\u00e4raselt.<\/p>\n<p>UPD: 11.10.2019 17:37<br \/>\nLeidsin veel 1 probleemi, ja kui keegi oskab \u00f6elda, kuidas seda lahendada \u2013 oleksin v\u00e4ga t\u00e4nulik.<br \/>\n\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 sudo python -m pip install -r &#8230;, \u0442\u043e \u0438\u0437 \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043c\u043e\u0434\u0443\u043b\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u043d\u044b, \u0430 \u043c\u043d\u0435 \u0431\u044b \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u0434 sudo, \u0434\u0430 \u0438 \u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u044d\u0442\u043e.<br \/>\nKuidas \u00f5igesti teha, et see oleks ilus?<br \/>\nUPD: 11.10.2019 19:16 Probleem lahendatud venv'i kasutamisega.<br \/>\nTuli mitmeid muudatusi. Uus versioon tuleb varsti.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/471102\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 \u0414\u043b\u044f \u043b\u0438\u0447\u043d\u044b\u0445 \u043d\u0443\u0436\u0434 \u0434\u043e\u043c\u0430 \u043f\u043e\u0434\u043d\u044f\u043b VSphere, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0440\u0443\u0447\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u0438 Ubuntu \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0434\u0438\u0430-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0435\u0449\u0435 \u043a\u0443\u0447\u0438 \u0432\u0441\u044f\u043a\u0438\u0445 \u0432\u043a\u0443\u0441\u043d\u044f\u0448\u0435\u043a, \u0438 \u044d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041d\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043e\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0434\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u043a\u0443 \u0437\u0430 \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0441\u0432\u044f\u0437\u043a\u043e\u0439 ddclient + [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29132,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 \u0414\u043b\u044f \u043b\u0438\u0447\u043d\u044b\u0445 \u043d\u0443\u0436\u0434 \u0434\u043e\u043c\u0430 \u043f\u043e\u0434\u043d\u044f\u043b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/svoj-dynamic-dns-s-pomoshhyu-cloudflare\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0432\u043e\u0439 dynamic DNS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CloudFlare | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 \u0414\u043b\u044f \u043b\u0438\u0447\u043d\u044b\u0445 \u043d\u0443\u0436\u0434 \u0434\u043e\u043c\u0430 \u043f\u043e\u0434\u043d\u044f\u043b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/svoj-dynamic-dns-s-pomoshhyu-cloudflare\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Oma d\u00fcnaamiline DNS CloudFlare'i abil | ProHoster","description":"Eess\u00f5na Isiklikeks vajadusteks t\u00f5stsin kodus \u00fcles.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/svoj-dynamic-dns-s-pomoshhyu-cloudflare","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0432\u043e\u0439 dynamic DNS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CloudFlare | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 \u0414\u043b\u044f \u043b\u0438\u0447\u043d\u044b\u0445 \u043d\u0443\u0436\u0434 \u0434\u043e\u043c\u0430 \u043f\u043e\u0434\u043d\u044f\u043b.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/svoj-dynamic-dns-s-pomoshhyu-cloudflare","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:17+00:00","article:modified_time":"2019-10-31T19:26:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38840","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:37:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:01:36","updated":"2026-01-23 23:37:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=38840"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/29132"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=38840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=38840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=38840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}