DNS kaaga firfircoon adoo isticmaalaya CloudFlare

Horudhac

DNS kaaga firfircoon adoo isticmaalaya CloudFlare Baahiyaha shakhsi ahaaneed ee guriga, waxaan ku rakibay VSphere, kaas oo aan ku shaqeynayo router sawir leh iyo server-ka Ubuntu oo ah server-ka warbaahinta iyo farabadan oo kale oo wanaagsan, iyo serverkan waa in laga heli karaa internetka. Laakiin dhibaatadu waxay tahay in bixiyahaygu uu ku bixiyo xogta lacagta ah, taas oo had iyo jeer loo isticmaali karo ujeedooyin badan oo faa'iido leh. Sidaa darteed, waxaan isticmaalay ddclient + Cloudflare isku darka.

Wax walba way fiicnaayeen ilaa ddclient uu joojiyay shaqada. Ka dib markii aan wax yar gariiray, waxa aan gartay in la gaadhay wakhtigii ulaha iyo baaskiilka, maadaama ay wakhti badan qaadanaysay in la helo dhibaatada. Dhammaadkii, wax walba waxay isu rogeen daemon yar oo kaliya oo shaqeeya, wax kale uma baahni.
Haddii qof uu xiiseynayo, ku soo dhawoow bisad.

Qalabka loo isticmaalo iyo sida ay "ay" u shaqeyso

Markaa waxa ugu horreeya ee aan ka ogaaday shabakadda Cloudflare waa wax kasta oo aad u baahan tahay inaad ka ogaato API. Oo waxaan hore u fadhiistay si aan u hirgeliyo wax kasta oo Python ah (ka dib markii aan bartay Python, waxaan si sii kordheysa u isticmaalaa qaar ka mid ah hawlaha fudud ama markaan u baahdo inaan si degdeg ah u sameeyo prototype), markii aan si lama filaan ah ula kulmay fulinta diyaarsan.
Guud ahaan, duubabka waxaa loo qaatay saldhig ahaan Python-cloudflare.

Waxaan soo qaatay mid ka mid ah tusaalooyinka cusboonaysiinta DNS oo aan ku daray isticmaalka faylka qaabeynta iyo awoodda lagu cusboonaysiiyo dhowr diiwaan oo Aagga dhexdiisa ah iyo, dabcan, tiro aan xadidnayn oo aag ah.

Caqligu waa sida soo socota:

  1. Qoraalku wuxuu ka helayaa liiska aagagga faylka qaabeynta oo uu dhex maraayo
  2. Aag kasta, qoraalku wuxuu soo dhex maraa diiwaan kasta oo DNS ah nooca A ama AAAA wuxuuna ka hubiyaa IP-ga dadweynaha diiwaanka
  3. Haddii IP-gu ka duwan yahay, wuu beddelaa; haddii kale, wuu ka boodaa wareegga wareegga oo wuxuu u gudbaa kan xiga.
  4. Wuu seexdaa wakhtiga lagu cayimay habaynta

Rakibaadda iyo qaabeynta

Waxay u badan tahay inay suurtogal tahay in la sameeyo xirmo deb ah, laakiin anigu kuma fiicna tan, mana aha wax kasta oo adag.
Waxa aan si faahfaahsan ugu sharaxay habka README.md on bogga kaydka.

Laakiin haddii ay dhacdo, waxaan ku qeexi doonaa Ruushka guud ahaan:

  1. Hubi inaad haysatid Python3 iyo python3-pip, haddii kale, ku rakib (Windows, python3-pip ayaa lagu rakibay Python)
  2. Xidh ama soo deji kaydka
  3. Ku rakib ku-tiirsanaanta loo baahan yahay.
    python3 -m pip install -r requirements.txt

  4. Orod qoraalka rakibaadda
    Linux:

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

    Daaqadaha: windows_install.bat

  5. Tafatir faylka qaabeynta
    Linux:

    sudoedit /etc/zen-cf-ddns.conf

    Daaqadaha:

    Fur faylka zen-cf-ddns.conf galka aad ku rakibtay qoraalka.

    Kani waa faylka JSON ee caadiga ah, dejintu maaha wax adag - waxaan si gaar ah u qeexay 2 aag oo kala duwan oo ku yaal tusaale ahaan.

Maxaa ka dambeeya rakibayaasha?

install.sh ee Linux:

  1. Isticmaale waxa loo abuuray in uu socodsiiyo daemon-ka, isaga oo aan samayn buug-guri ah oo aan lahayn awood uu ku galo.
    sudo useradd -r -s /bin/false zen-cf-ddns

  2. Faylka log waxaa lagu abuuray gudaha /var/log/
  3. Isticmaalaha cusub ee la abuuray ka dhig milkiilaha faylka log
  4. Faylasha waxaa lagu koobiyeeyay meelahooda (ku dheji / iwm, faylka la fulin karo ee / usr/bin, faylka adeegga ee /lib/systemd/system)
  5. Adeegga waa la dajiyay

windows_install.bat ee Windows:

  1. Nuqulaya faylka la fulin karo iyo qaabaynta galka isticmaale-ku cayimay
  2. Waxay ku abuurtaa hawl jadwaleeyaha si uu u socodsiiyo qoraalka marka nidaamka bilawga ah
    schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart

Ka dib markii la beddelo qaabka, qoraalka wuxuu u baahan yahay in dib loo bilaabo; Linux wax walba waa sahlan yihiin oo la yaqaan:

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

Daaqadaha waa inaad dishaa habka pythonw oo aad dib u socodsiiso qoraalka (Aad baan uga caajisay inaan adeeg u qoro Windows gudaha C #):

taskkill /im pythonw.exe

Tani waxay dhamaystiraysaa rakibaadda iyo qaabaynta, ku raaxayso caafimaadkaaga.

Kuwa doonaya inay arkaan koodka Python-ka aan-aad-quruxda lahayn, waa kan kaydka GitHub.

MIT shati haysta, markaa ku samee walxahan waxaad rabto.

PS: Waan fahamsanahay in ay u soo baxday in ay tahay wax yar, laakiin ay shaqadeeda ku qabato bang.

Kordhinta: 11.10.2019/17/37 XNUMX:XNUMX
Waxaan helay 1 dhibaato oo kale, oo haddii qof ii sheego sida loo xalliyo, aad baan ugu mahadcelin doonaa.
Dhibaatadu waxay tahay haddii aad ku rakibto ku-tiirsanaanta iyada oo aan sudo python -m pip install -r ..., markaa cutubyadu kama muuqan doonaan adeegsadaha adeegga, mana jeclaan lahaa inaan ku qasbo dadka isticmaala inay ku rakibaan cutubyada hoos yimaada sudo, tanina waa tan. sax maaha.
Sidee loo sameeyaa qurux?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Dhibaatada waxaa lagu xaliyay iyadoo la isticmaalayo venv.
Dhowr isbedel ayaa dhacay. Siideynta xigta waxay ahaan doontaa maalmaha soo socda.

Source: www.habr.com

Add a comment