DNS ea hau e matla e sebelisang CloudFlare

Tlhaloso

DNS ea hau e matla e sebelisang CloudFlare Bakeng sa litlhoko tsa botho lapeng, ke kentse VSphere, eo ho eona ke tsamaisang router ea sebele le seva sa Ubuntu e le seva sa mecha ea litaba le lintho tse ling tse ngata, 'me seva sena se lokela ho fumaneha ho tsoa Inthaneteng. Empa bothata ke hore mofani oa ka o fana ka data e tsitsitseng bakeng sa chelete, e ka sebelisoang kamehla bakeng sa merero ea bohlokoa. Ka hona, ke sebelisitse motsoako oa ddclient + cloudflare.

Tsohle li ne li le hantle ho fihlela ddclient e emisa ho sebetsa. Ka mor’a ho phenya-phenya ho se hokae, ke ile ka hlokomela hore nako e fihlile ea liikokotlelo le libaesekele, kaha ho ne ho nka nako e ngata haholo ho fumana bothata. Qetellong, ntho e 'ngoe le e' ngoe e ile ea fetoha daemon e nyenyane e sebetsang feela, 'me ha ke hloke letho le leng.
Haeba mang kapa mang a thahasella, amohela katse.

Lisebelisoa tse sebelisitsoeng le hore na "e sebetsa" joang

Kahoo ntho ea pele eo ke e fumaneng webosaeteng ea cloudflare ke tsohle tseo o hlokang ho li tseba API. 'Me ke ne ke se ke lutse fatše ho kenya ts'ebetsong ntho e' ngoe le e 'ngoe e Python (ka mor'a ho tloaelana le Python, ke e sebelisa ka ho eketsehileng bakeng sa mesebetsi e meng e bonolo kapa ha ke hloka ho etsa setšoantšo ka potlako), ha ka tšohanyetso ke kopana le ts'ebetsong e seng e lokiselitsoe.
Ka kakaretso, wrapper e ne e nkoa e le motheo python-cloudflare.

Ke nkile e 'ngoe ea mehlala ea ho ntlafatsa DNS mme ka eketsa ts'ebeliso ea faele ea tlhophiso le bokhoni ba ho nchafatsa lirekoto tse' maloa tsa A ka har'a libaka mme, ehlile, palo e sa lekanyetsoang ea libaka.

The logic ke ka tsela e latelang:

  1. Script e fumana lethathamo la libaka ho tsoa faeleng ea tlhophiso 'me e kena ka har'a tsona
  2. Sebakeng se seng le se seng, sengoloa se kena ka har'a rekoto e 'ngoe le e' ngoe ea DNS ea mofuta oa A kapa AAAA ebe e sheba IP ea Sechaba ka rekoto.
  3. Haeba IP e fapane, ea e fetola; haeba ho se joalo, e tlola loop iteration ebe e fetela ho e latelang.
  4. E robala ka nako e boletsoeng ho config

Ho kenya le ho hlophisa

Mohlomong ho ka khoneha ho etsa sephutheloana sa .deb, empa ha ke hantle ho sena, 'me ha ho thata hakaalo.
Ke hlalositse ts'ebetso ka botlalo ho README.md ho leqephe la polokelo.

Empa haeba ho ka etsahala, ke tla e hlalosa ka Serussia ka kakaretso:

  1. Etsa bonnete ba hore u kentse python3 le python3-pip, haeba ho se joalo, e kenye (ho Windows, python3-pip e kentsoe hammoho le Python)
  2. Kopanya kapa u khoasolle polokelo
  3. Kenya litšepe tse hlokahalang.
    python3 -m pip install -r requirements.txt

  4. Kenya mongolo oa ho kenya
    Bakeng sa Linux:

    chmod +x install.sh
    sudo ./install.sh

    Bakeng sa Windows: windows_install.bat

  5. Fetola faele ea tlhophiso
    Bakeng sa Linux:

    sudoedit /etc/zen-cf-ddns.conf

    Bakeng sa Windows:

    Bula faele ea zen-cf-ddns.conf foldareng eo u kentseng script.

    Ena ke faele ea kamehla ea JSON, litlhophiso ha li thata - ke hlalositse ka ho khetheha libaka tse 2 tse fapaneng ho eona e le mohlala.

Ke eng e ka morao ho li-installers?

install.sh bakeng sa Linux:

  1. Mosebelisi o etselitsoe ho tsamaisa daemon, ntle le ho theha bukana ea lapeng le ntle le bokhoni ba ho kena.
    sudo useradd -r -s /bin/false zen-cf-ddns

  2. Faele ea log e entsoe ka /var/log/
  3. Etsa hore mosebelisi e mocha e be mong'a faele ea log
  4. Lifaele li kopitsoa libakeng tsa tsona (config in/etc, file e sebetsang ho / usr/bin, faele ea tšebeletso ho /lib/systemd/system)
  5. Tshebeletso e kentswe tshebetsong

windows_install.bat bakeng sa Windows:

  1. E kopitsa faele e sebetsang le e hlophisitsoeng ho foldareng e boletsoeng ke mosebelisi
  2. E etsa mosebetsi ho sehlophisi ho tsamaisa sengoloa qalong ea sistimi
    schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart

Kamora ho fetola tlhophiso, sengoloa se hloka ho qalisoa bocha; ho Linux tsohle li bonolo ebile li tloaelehile:

sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status

bakeng sa Windows o tla tlameha ho bolaea ts'ebetso ea pythonw ebe o tsamaisa sengoloa hape (ke botsoa haholo ho ngola ts'ebeletso ea Windows ho C #):

taskkill /im pythonw.exe

Sena se phethela ho kenya le ho hlophisoa, ho thabela bophelo ba hau.

Bakeng sa ba batlang ho bona khoutu ea Python e seng ntle haholo, ke ena polokelo ho GitHub.

MIT e na le laesense, kahoo etsa ka lintho tsena seo u se batlang.

PS: Kea utloisisa hore e ile ea bonahala e le crutch, empa e etsa mosebetsi oa eona ka sekhahla.

UPD: 11.10.2019/17/37 XNUMX:XNUMX
Ke fumane bothata bo bong hape bo le 1, 'me haeba motho e mong a mpolella hore na nka bo rarolla joang, ke tla leboha haholo.
Bothata ke hore haeba u kenya litšepe ntle le sudo python -m pip install -r ..., joale li-modules li ke ke tsa bonahala ho tswa ho mosebedisi oa tšebeletso, 'me nke ke ka rata ho qobella basebelisi ho kenya li-modules tlas'a sudo,' me sena ke ha e nepahale.
Joang ho etsa hore e shebahale e le ntle?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Bothata bo ile ba rarolloa ho sebelisoa venv.
Ho bile le liphetoho tse 'maloa. Tokollo e latelang e tla ba matsatsing a 'maloa a tlang.

Source: www.habr.com

Eketsa ka tlhaloso