Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  8 3388
Det har tidligere blitt skrevet om disse muligheter som finnes ved å bruke cloudfare sitt API som et al-ternativ til dyndns og lignende tjenester. Først har jeg endret nameserver, så skal jeg da gjøre de rette innstillinger på selve serveren etter hva jeg forstår. Cloudfare har en form for manual, den er rimelig lang – om det vil bli nødvendig skal jeg lese hele, men om jeg kan få en forståelse enklere, er jeg takk-nemlig.
Det gjøres ved å ha et script som sender den nye adressen til cloudfare? Er det innenfor den korrekte forståelse?
Sånn generelt så vil du ha et script kjørende på serveren din som sjekker din eksterne IP, og når den endres vil du oppdatere dette hos Cloudflare gjennom deres API så ditt domene peker mot ny IP.
Det er temmelig enkelt. Lag et script som gjør følgende:

1. Send en http request til https://ipinfo.io/ip for å få hva som er public IP-adressen din
2. Bruk https://api.cloudflare.com/#dns-reco...ate-dns-record for å oppdatere dns record

3. Putt scriptet i en scheduled task/crontab og la den kjøre
Jeg fant et på GitHub, vet ikke hvordan det er med linker her på forumet(?) så om jeg poster noe som ikke blir verdsatt beklager jeg dette.
https://github.com/hyecheol123/Cloud...amic-IP-Update
Her skal det endres e-post, og disse API- zone og id feltene i config-filen. Etter dette kjørte jeg det chmod -x blabla.bash - siden ikke min router har endret IP i dag, eller etter jeg nettopp slo deg av og på - hvordan vet jeg da om den fungerte?
Sitat av JuiceGutten Vis innlegg
Jeg fant et på GitHub, vet ikke hvordan det er med linker her på forumet(?) så om jeg poster noe som ikke blir verdsatt beklager jeg dette.
https://github.com/hyecheol123/Cloud...amic-IP-Update
Her skal det endres e-post, og disse API- zone og id feltene i config-filen. Etter dette kjørte jeg det chmod -x blabla.bash - siden ikke min router har endret IP i dag, eller etter jeg nettopp slo deg av og på - hvordan vet jeg da om den fungerte?
Vis hele sitatet...
Logg på cloudflare.com og sett dns-recorden til en annen IP med vilje, kjør scriptet, sjekk at det er oppdatert til riktig IP på cloudflare.com

Det scriptet så forresten temmelig bloaty og uleselig ut.

Jeg brukte Ansible (https://ansible.com) for å lage akkurat samme greia:

Kode

---
- hosts: localhost
  gather_facts: no
  connection: local

  vars:
    cf_zone: 'example.com'
    cf_record: 'home'
    cf_email: 'email-for-cloudflare-login'
    cf_api_token: 'your-api-token-from-cloudflare'
  
  tasks:
  - name: Get current public IP address
    uri:
      url: 'https://ipinfo.io/ip'
      return_content: yes
    register: public_ip

  - name: Update DNS record
    cloudflare_dns:
      zone: '{{ cf_zone }}'
      record: '{{ cf_record }}'
      type: A
      value: '{{ public_ip.content | trim }}'
      state: present
      account_email: '{{ cf_email }}'
      account_api_token: '{{ cf_api_token }}'

  - name: Create Cron job
    cron:
      name: Update DNS record
      minute: '15'
      job: '/path/to/ansible/playbook.yml'
Noen ganger er det faktisk flaut å ikke komme på en så enkel løsning selv, men der ser du - tenker seg dum. Takk, kanskje jeg skal bytte da, er enig med at det var litt snedig ja. Hvor ofte burde det kjøres da? Eller er det ikke noe belastende enten for cloudfare eller meg selv? To ganger daglig liksom? De, Get, har en tendens til å ha samme IP i lengre perioder, før den i en annen periode endres med stadighet.
Om du lager deg et script som holder styr på IP fra forrige gang så kan du velge å bare oppdatere cloudflare om den er endret. Da kan du kjøre det så ofte du vil.

Ellers vil jeg si det kommer an på hvor lenge du kan klare deg uten å ha tilgang. Kjører du det 2 ganger om dagen kan det i værste fall gå 11-12 timer før IP oppdateres. Tror ikke det er særlig belastende for Cloudflare med 2 ganger i timen.
rate limiten til Cloudflare sitt API er 1200 requests/5 minutter (https://support.cloudflare.com/hc/en...ls-can-I-make-) så så lenge du holder deg under det er alt fint
Sitat av liasis Vis innlegg
Logg på cloudflare.com og sett dns-recorden til en annen IP med vilje, kjør scriptet, sjekk at det er oppdatert til riktig IP på cloudflare.com

Det scriptet så forresten temmelig bloaty og uleselig ut.

Jeg brukte Ansible (https://ansible.com) for å lage akkurat samme greia:

Kode

---
- hosts: localhost
  gather_facts: no
  connection: local

  vars:
    cf_zone: 'example.com'
    cf_record: 'home'
    cf_email: 'email-for-cloudflare-login'
    cf_api_token: 'your-api-token-from-cloudflare'
  
  tasks:
  - name: Get current public IP address
    uri:
      url: 'https://ipinfo.io/ip'
      return_content: yes
    register: public_ip

  - name: Update DNS record
    cloudflare_dns:
      zone: '{{ cf_zone }}'
      record: '{{ cf_record }}'
      type: A
      value: '{{ public_ip.content | trim }}'
      state: present
      account_email: '{{ cf_email }}'
      account_api_token: '{{ cf_api_token }}'

  - name: Create Cron job
    cron:
      name: Update DNS record
      minute: '15'
      job: '/path/to/ansible/playbook.yml'
Vis hele sitatet...


Jeg fant et annet script: https://gist.github.com/lifehome/eb3...dc7d2be1238d4f
Med en timer som gjør at den oppdaterer regelmessig. Det gjør den nå.
Saken er at nå endrer den a record - så om jeg går inn på siden, la oss si: http://abrakadabra.no kommer jeg inn, men ikke www - for da må jeg vise til www som et annet a record, her tar jeg som utgangspunkt at du sannsynligvis kjenner en bedre løsning enn hva jeg gjør.