DNS ɗin ku mai ƙarfi ta amfani da CloudFlare

Magana

DNS ɗin ku mai ƙarfi ta amfani da CloudFlare Don bukatun sirri a gida, na shigar da VSphere, wanda nake tafiyar da na'ura mai ba da hanya tsakanin hanyoyin sadarwa da uwar garken Ubuntu a matsayin uwar garken kafofin watsa labaru da gungun sauran abubuwan alheri, kuma wannan uwar garke ya kamata a sami dama daga Intanet. Amma matsalar ita ce mai ba da sabis na yana ba da cikakkun bayanai don kuɗi, waɗanda koyaushe ana iya amfani da su don ƙarin dalilai masu amfani. Saboda haka, na yi amfani da haɗin ddclient + Cloudflare.

Komai yayi kyau har ddclient ya daina aiki. Bayan na zagaya kadan, sai na gane cewa lokaci ya yi na ’yan sanda da kekuna, tunda an dauki lokaci da yawa kafin a gano matsalar. A ƙarshe, duk abin da ya juya ya zama ƙaramin daemon wanda ke aiki kawai, kuma ba na buƙatar wani abu dabam.
Idan kowa yana sha'awar, maraba zuwa cat.

Kayan aikin da aka yi amfani da su da kuma yadda "shi" ke aiki

Don haka abu na farko da na gano akan gidan yanar gizon Cloudflare shine duk abin da kuke buƙatar sani game da shi API. Kuma na riga na zauna don aiwatar da komai a Python (bayan na saba da Python, na ƙara amfani da shi don wasu ayyuka masu sauƙi ko kuma lokacin da nake buƙatar yin samfuri da sauri), lokacin da na ci karo da aiwatar da kusan shirye-shiryen.
Gabaɗaya, an ɗauki kundi a matsayin tushe Python-cloudflare.

Na ɗauki ɗaya daga cikin misalan don sabunta DNS kuma na ƙara amfani da fayil ɗin sanyi da ikon sabunta bayanan A da yawa a cikin yanki kuma, ba shakka, yanki mara iyaka.

Ma’anar ita ce kamar haka:

  1. Rubutun yana karɓar jerin yankuna daga fayil ɗin sanyi kuma madaukai ta hanyar su
  2. A kowane yanki, rubutun madaukai ta kowane rikodin DNS na nau'in A ko AAAA kuma yana bincika IP na Jama'a tare da rikodin.
  3. Idan IP ɗin ya bambanta, yana canza shi; idan ba haka ba, ya tsallake madaidaicin madauki kuma ya matsa zuwa na gaba.
  4. Yayi barci don lokacin da aka ƙayyade a cikin saitin

Shigarwa da daidaitawa

Wataƙila zai yiwu a yi kunshin .deb, amma ba ni da kyau a wannan, kuma ba haka ba ne mai wahala.
Na bayyana tsarin daki-daki a cikin README.md on shafin ajiya.

Amma kawai idan akwai, zan kwatanta shi a cikin Rashanci gabaɗaya:

  1. Tabbatar cewa an shigar da python3 da python3-pip, idan ba haka ba, shigar da shi (akan Windows, an shigar da python3-pip tare da Python)
  2. Clone ko zazzage ma'ajiyar
  3. Shigar da abubuwan dogaro da ake buƙata.
    python3 -m pip install -r requirements.txt

  4. Gudanar da rubutun shigarwa
    Don Linux:

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

    Don Windows: windows_install.bat

  5. Shirya fayil ɗin sanyi
    Don Linux:

    sudoedit /etc/zen-cf-ddns.conf

    Don Windows:

    Bude fayil ɗin zen-cf-ddns.conf a cikin babban fayil ɗin da kuka shigar da rubutun.

    Wannan fayil ɗin JSON ne na yau da kullun, saitunan ba wani abu bane mai rikitarwa - Na bayyana musamman yankuna 2 daban-daban a cikinsa a matsayin misali.

Menene bayan masu sakawa?

install.sh don Linux:

  1. An ƙirƙiri mai amfani don gudanar da daemon, ba tare da ƙirƙirar kundin adireshin gida ba kuma ba tare da ikon shiga ba.
    sudo useradd -r -s /bin/false zen-cf-ddns

  2. An ƙirƙiri fayil ɗin log a /var/log/
  3. Sanya sabon mai amfani da aka ƙirƙira ya zama mai mallakar fayil ɗin log ɗin
  4. Ana kwafin fayilolin zuwa wurarensu (daidaita a / sauransu, fayil mai aiwatarwa a cikin /usr/bin, fayil ɗin sabis a /lib/systemd/system)
  5. An kunna sabis ɗin

windows_install.bat don Windows:

  1. Kwafi fayil ɗin aiwatarwa da daidaitawa zuwa babban fayil takamaiman mai amfani
  2. Ƙirƙirar ɗawainiya a cikin mai tsarawa don gudanar da rubutun a farawa tsarin
    schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart

Bayan canza saitin, rubutun yana buƙatar sake kunnawa; a cikin Linux komai yana da sauƙi kuma sananne:

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

don Windows dole ne ku kashe tsarin pythonw kuma sake kunna rubutun (Na yi kasala don rubuta sabis don Windows a cikin C #):

taskkill /im pythonw.exe

Wannan yana kammala shigarwa da daidaitawa, ji daɗin lafiyar ku.

Ga waɗanda ke son ganin lambar Python mara kyau, ga shi nan wurin ajiya akan GitHub.

MIT yana da lasisi, don haka ku yi da wannan kayan abin da kuke so.

PS: Na fahimci cewa ya juya ya zama ɗan ɗaki, amma yana yin aikinsa tare da bang.

LABARIN: 11.10.2019/17/37 XNUMX:XNUMX
Na sami ƙarin matsala 1, kuma idan wani ya gaya mani yadda zan magance ta, zan yi godiya sosai.
Matsalar ita ce idan kun shigar da masu dogara ba tare da sudo python -m pip install -r ..., to, ba za a iya ganin kayayyaki daga mai amfani da sabis ba, kuma ba zan so in tilasta masu amfani su shigar da kayayyaki a ƙarƙashin sudo ba, kuma wannan shine ba daidai ba.
Yadda za a yi shi da kyau?
UPD: 11.10.2019/19/16 XNUMX:XNUMX An magance matsalar ta amfani da venv.
An sami sauye-sauye da yawa. Sakin na gaba zai kasance a cikin 'yan kwanaki masu zuwa.

source: www.habr.com

Add a comment