Cover Image

Git backup av OPNsense

 Tue 2025-01-28    OPNsense

Man kan sette opp automatisert backup av OPNsenseconfig til Github.

  1. Opprett en githubkonto og et repository for configen. Jeg har flere firewaller og et repo for hver av dem.
  2. Opprett en SSH-nøkkel et sted. Pass på den.
  3. Installer os-git-backup fra OPNsense firmware > Plugins
  4. Naviger til System>Configuration>Backups og scroll til bunnen av siden
  5. Under Git, legg inn følgende verdier:
    Enable: Yes
    URL: ssh://github.com/username/reponame.git
    Branch: main eller master er vanlig
    SSH Private key: Klikk knappen og lim inn privatekeyen du opprettet i steg 2
    User name: git
    Password: blank
  6. På github.com, i repoet du skal ta backup til:
    1. Klikk Settings
    2. Under Security i menyen til venstre, klikk Deploy keys
    3. Klikk den grønne knappen som heter "Add deploy key"
    4. Gi keyen et navn og lim innholdet fra public-keyfilen inn i feltet "Key"
    5. Huk av for Allow write access
    6. Klikk Add key
  7. Tilbake i OPNsense, klikk på "Setup/Test Git"
  8. Du får 1 av 2 mulige resultater:
    1. Det funker! Gratulerer, du er ferdig.
    2. Det funker IKKE og du får en feilmelding:

Hvis du får feilmelding, gjør som følger:

  1. Logg inn på OPNsense via SSH
  2. Velg 8 (Shell) fra menyen
  3. Kjør følgende kommandoer:
    cd /conf/backup/git/
    vi ~/.ssh/authorized_keys og legg inn publickeyen til deploykeyen her. Lagre filen etterpå.
    git push --set-upstream origin master for å sette upstream master branch. Denne kommandoen feiler som regel og jeg vet ikke om den engang er nødvendig.
    git tag base master
    git rebase -i master
    git config pull.rebase false
    git pull for å hente det som ligger på github og opprette et lokalt repo, tror jeg
    git push --force ssh://git@github.com/username/reponame.git for å tvinge github til å ta imot det vi har å tilby.
  4. Når alt det over er kjørt, skal lokalt repo og remote repo være i sync. Gå tilbake til OPNsense WebUI > System > Configuration > Backup > Git (nederst på siden) og klikk Setup/Test Git en gang til.
  5. Du skal nå få en kvitteringsmelding som denne:
  6. Gratulerer, du har nå satt opp automatisk backup av OPNsenseconfig!

Hver gang du gjør en endring i configen vil det pushes en ny versjon av configen til github, slik at hvis du trenger å gjenopprette fra backup, så kan du laste ned siste fungerende config (eller en tidligere config!), installere OPNsense på nytt og så gjenopprette configen. Husk at du må gjenopprette til samme versjon du tok backup av, så 24.7.x må gjenopprettes til 24.7.x før du oppgraderer til neste major eller minor release. Det tas ikke backup av configen mellom oppgraderinger, så det kan være hensiktsmessig å kjøre en manuell backup før oppgraderinger just in case.