hitzaurrea
Etxeko behar pertsonaletarako, VSphere instalatu nuen, bideratzaile birtual bat eta Ubuntu zerbitzari bat exekutatzen ditudan multimedia zerbitzari gisa eta beste gauza asko, eta zerbitzari honek Internetetik eskuragarri egon beharko luke. Baina arazoa da nire hornitzaileak datu estatikoak ematen dituela diruaren truke, beti erabil daitezkeela helburu erabilgarriagoetarako. Hori dela eta, ddclient + cloudflare konbinazioa erabili dut.
Dena ondo zegoen ddclient-ek funtzionatzeari utzi zion arte. Pixka bat arakatu ondoren, konturatu nintzen makuluen eta bizikletentzako ordua iritsi zela, arazoa aurkitzeko denbora gehiegi behar zelako. Azkenean, dena funtzionatzen duen deabru txiki batean bihurtu zen, eta ez dut beste ezer behar.
Norbaiti interesatzen bazaio, ongi etorri cat.
Erabilitako tresnak eta nola funtzionatzen duen
Beraz, cloudflare webgunean aurkitu dudan lehenengo gauza jakin behar duzun guztia da
Oro har, bilgarria hartu zen oinarritzat
DNS eguneratzeko adibideetako bat hartu nuen eta konfigurazio-fitxategi baten erabilera eta zona baten barruan hainbat A erregistro eguneratzeko aukera gehitu nuen eta, jakina, zona kopuru mugagabea.
Logika hau da:
- Scriptak konfigurazio-fitxategitik zonen zerrenda jasotzen du eta haietan zehar ibiltzen da
- Zona bakoitzean, script-ak A edo AAAA motako DNS erregistro bakoitzean zeharkatzen du eta IP Publikoa egiaztatzen du erregistroarekin.
- IP desberdina bada, aldatzen du; hala ez bada, begizta iterazioa saltatzen du eta hurrengora pasatzen da.
- Lo egiten du konfigurazioan zehaztutako denboran
Instalazioa eta konfigurazioa
Ziurrenik .deb pakete bat egitea posible izango litzateke, baina ez naiz ona horretan, eta ez da horren zaila.
Prozesua xehetasun handiz deskribatu nuen README.md-en
Baina badaezpada, errusieraz deskribatuko dut termino orokorrean:
- Ziurtatu python3 eta python3-pip instalatuta dituzula, hala ez bada, instalatu (Windows-en, python3-pip instalatuta dago Python-ekin batera)
- Klonatu edo deskargatu biltegia
- Instalatu behar diren mendekotasunak.
python3 -m pip install -r requirements.txt
- Exekutatu instalazio scripta
Linuxerako:chmod +x install.sh sudo ./install.sh
Windows-erako: windows_install.bat
- Editatu konfigurazio fitxategia
Linuxerako:sudoedit /etc/zen-cf-ddns.conf
Windows-erako:
Ireki zen-cf-ddns.conf fitxategia scripta instalatu duzun karpetan.
Hau JSON fitxategi arrunta da, ezarpenak ez dira ezer konplikatuak - berariaz deskribatu ditut bertan 2 zona ezberdin adibide gisa.
Zer dago instalatzaileen atzean?
install.sh Linuxerako:
- Erabiltzaile bat sortzen da deabrua exekutatzeko, hasierako direktoriorik sortu gabe eta saioa hasteko gaitasunik gabe.
sudo useradd -r -s /bin/false zen-cf-ddns
- Log-fitxategi bat sortzen da /var/log/-n
- Egin sortu berri den erabiltzailea erregistro-fitxategiaren jabea
- Fitxategiak beren lekuetan kopiatzen dira (konfigurazioa /etc-en, fitxategi exekutagarria /usr/bin, zerbitzu-fitxategia /lib/systemd/system-en)
- Zerbitzua aktibatuta dago
windows_install.bat Windows-erako:
- Erabiltzaileak zehaztutako karpeta batean kopiatzen du exekutagarria eta konfigurazio fitxategia
- Zeregin bat sortzen du programatzailean scripta exekutatzeko sistema abiaraztean
schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart
Konfigurazioa aldatu ondoren, scripta berrabiarazi behar da; Linuxen dena erraza eta ezaguna da:
sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status
Windows-erako pythonw prozesua akabatu eta scripta berriro exekutatu beharko duzu (alferra naiz Windows-erako zerbitzu bat C#-n idazteko):
taskkill /im pythonw.exe
Honek instalazioa eta konfigurazioa osatzen du, goza ezazu zure osasunerako.
Python kodea ez hain polita ikusi nahi dutenentzat, hona hemen
MIT lizentziadun, beraz, egin gauza honekin nahi duzuna.
PS: Ulertzen dut makulu samarra izan dela, baina bere lana kolpearekin egiten du.
EGUNERA: 11.10.2019/17/37 XNUMX:XNUMX
Beste arazo bat aurkitu dut, eta norbaitek esaten badit nola konpondu, asko eskertuko dut.
Arazoa da sudo python gabe -m pip install -r ... menpekotasunak instalatzen badituzu, orduan moduluak ez dira zerbitzuaren erabiltzailetik ikusiko, eta ez nuke nahi erabiltzaileak sudo azpian moduluak instalatzera behartu, eta hau da. ez zuzena.
Nola egin itxura ederra?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Arazoa venv erabiliz konpondu da.
Hainbat aldaketa egon dira. Hurrengo kaleratzea hurrengo egunetan izango da.
Iturria: www.habr.com