DNS dị ike nke gị na-eji CloudFlare

Okwu mmalite

DNS dị ike nke gị na-eji CloudFlare Maka mkpa onwe onye n'ụlọ, etinyere m VSphere, nke m na-agba ọsọ rawụta mebere na ihe nkesa Ubuntu dị ka ihe nkesa mgbasa ozi na ụyọkọ ihe ọma ndị ọzọ, na ihe nkesa a kwesịrị ịnweta na Ịntanetị. Mana nsogbu bụ na onye na-eweta m na-enye data static maka ego, nke enwere ike iji ya mee ihe mgbe niile maka ebumnuche bara uru karị. Ya mere, ejiri m nchikota ddclient + cloudflare.

Ihe niile dị mma ruo mgbe ddclient kwụsịrị ịrụ ọrụ. Mgbe m tụgharịchara ntakịrị, achọpụtara m na oge eruola ka a na-agba ígwè na ịnyịnya ígwè, ebe ọ bụ na ọ na-ewe oge buru ibu iji chọpụta nsogbu ahụ. N'ikpeazụ, ihe niile ghọrọ obere daemon nke na-arụ ọrụ, ọ dịghịkwa m mkpa ihe ọ bụla ọzọ.
Ọ bụrụ na onye ọ bụla nwere mmasị, nabata pusi.

Ngwa eji eme ihe yana otu “ọ” si arụ ọrụ

Yabụ na ihe mbụ m chọpụtara na webụsaịtị Cloudflare bụ ihe niile ịchọrọ ịma API. M na-anọdụworị na-emejuputa ihe niile na Python (mgbe m maara Python, m na-ejiwanye ya maka ụfọdụ mfe aga-eme ma ọ bụ mgbe m mkpa ngwa ngwa ime a prototype), mgbe m na mberede zutere ihe fọrọ nke nta njikere mere mmejuputa iwu.
N'ozuzu, a na-ewere ihe mkpuchi ahụ dị ka ihe ndabere Python-cloudflare.

M weere otu n'ime ihe atụ maka imelite DNS wee gbakwunye iji faịlụ nhazi na ikike imelite ọtụtụ ndekọ A n'ime mpaghara na, n'ezie, ọnụ ọgụgụ na-akparaghị ókè nke mpaghara.

The mgbagha bụ dị ka ndị a:

  1. Edemede ahụ na-enweta ndepụta mpaghara site na faịlụ nhazi na loops site na ha
  2. Na mpaghara ọ bụla, script loops site na ụdị DNS ọ bụla nke ụdị A ma ọ bụ AAAA wee lelee IP ọha na ndekọ ahụ.
  3. Ọ bụrụ na IP dị iche, ọ na-agbanwe ya; ọ bụrụ na ọ bụghị, ọ na-awụgharị akaghị aka wee gaa na nke ọzọ.
  4. dara ụra maka oge akọwapụtara na nhazi

Ntinye na nhazi

Ọ ga-ekwe omume ịme ngwugwu .deb, mana adịghị m mma na nke a, ọ bụghịkwa ihe niile siri ike.
Akọwara m usoro a nke ọma na README.md na ebe nchekwa ibe.

Ma ọ bụrụ na, m ga-akọwa ya na Russian n'ozuzu okwu:

  1. Jide n'aka na ị nwere python3 na python3-pip arụnyere, ọ bụrụ na ọ bụghị, wụnye ya (na Windows, python3-pip arụnyere na Python)
  2. Mechie ma ọ bụ budata ebe nchekwa ahụ
  3. Wụnye ndabere achọrọ.
    python3 -m pip install -r requirements.txt

  4. Gbaa edemede nwụnye
    Maka Linux:

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

    Maka Windows: windows_install.bat

  5. Dezie nhazi faịlụ
    Maka Linux:

    sudoedit /etc/zen-cf-ddns.conf

    Maka Windows:

    Mepee faịlụ zen-cf-ddns.conf na nchekwa ebe ị wụnyere edemede ahụ.

    Nke a bụ faịlụ JSON oge niile, ntọala ahụ abụghị ihe mgbagwoju anya - Akọwara m mpaghara abụọ dị iche iche na ya dịka ọmụmaatụ.

Gịnị na-eme n'azụ installers?

install.sh maka Linux:

  1. Emepụtara onye ọrụ ka ọ na-agba daemon, na-enweghị imepụta ndekọ ụlọ yana enweghị ike ịbanye.
    sudo useradd -r -s /bin/false zen-cf-ddns

  2. A na-emepụta faịlụ ndekọ na /var/log/
  3. Mee onye ọrụ emepụtara ọhụrụ ka ọ bụrụ onye nwe faịlụ log
  4. A na-eṅomi faịlụ ndị ahụ na ebe ha (nhazi na / wdg, faịlụ executable na / usr/bin, faịlụ ọrụ na /lib/systemd/system)
  5. Agbanyela ọrụ a

windows_install.bat maka Windows:

  1. Na-eṅomi faịlụ executable na nhazi na nchekwa onye ọrụ akọwapụtara
  2. Na-emepụta ọrụ na nhazi usoro iji mee edemede ahụ na mmalite usoro
    schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart

Mgbe agbanwechara nhazi ahụ, ekwesịrị ịmalitegharị edemede ahụ; na Linux ihe niile dị mfe ma mara nke ọma:

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

maka Windows, ị ga-egbu usoro pythonw wee megharịa edemede ahụ ( umengwụ adịghị m ide ọrụ maka Windows na C #):

taskkill /im pythonw.exe

Nke a na-emecha nrụnye na nhazi, nwee obi ụtọ na ahụike gị.

Maka ndị chọrọ ịhụ koodu Python na-adịghị mma, ebe a bụ ebe nchekwa na GitHub.

MIT nyere ikike, yabụ mee ihe a ihe ị ga-eme.

PS: Aghọtara m na ọ tụgharịrị ka ọ bụrụ ntakịrị ihe mgbochi, mana ọ na-arụ ọrụ ya na bang.

Emelitere: 11.10.2019/17/37 XNUMX:XNUMX
Achọtara m nsogbu 1 ọzọ, ma ọ bụrụ na mmadụ agwa m otu esi edozi ya, m ga-enwe ekele dị ukwuu.
Nsogbu bụ na ọ bụrụ na ị wụnye ndabere na-enweghị sudo python -m pip install -r ..., mgbe ahụ modul agaghị ahụ anya site na onye ọrụ ọrụ, na agaghị m achọ ịmanye ndị ọrụ ka ha wụnye modul n'okpuru sudo, na nke a bụ. adịghị mma.
Kedu ka esi eme ka ọ mara mma?
UPD: 11.10.2019/19/16 XNUMX:XNUMX edozi nsogbu ahụ site na iji venv.
Enweela ọtụtụ mgbanwe. Ntọhapụ na-esote ga-abụ n'ime ụbọchị ole na ole sochirinụ.

isi: www.habr.com

Tinye a comment