Stream Version: 2026.02 - update geoip broken (permissions issues)

Hi All,

I updated to the latest stream release last night. I rely upon geoip blocking at the vyos level for some of my services, yet it appears be be broken in this release.

Current Behavior:

Geo-ip no longer updates itself, after a reboot everything setup with geoip rules in the firewall default to blocked, even if they’re specifically allowed.

If I try to upgrade via the ops mode, I get permissions errors while it tries to write the download. It cannot write to the /usr/share/vyos-geoip/ directory as the permissions are set incorrectly in the ephemeral boot image.

  • Workaround attempt 1, set the permissions with sudo su to allow write by all to /usr/share/vyos-geoip/
    • Result: write database step completes yet then I encounter a second error: Failed to extract, aborting. The database never gets processed and all geoip rules are still blocking specific geoip allows.
  • Workaround attempt 2, run geoip update as root via sudo
    • Result: Works, blocks/allows defined in firewall work again, YET it takes a manual fix every time the system boots.

Expected Behavior:

Same as previous versions

  • The system would automatically download the geoip database during firewall commits
  • geoip update as non root would function to completion.
  • geoip database would persistent reboots.
    • Being I don’t code, I assume this is because if the geoip dataset is needed it re-downloads during the boot? I can’t find anything in /config/ directory related to persistence of the geoip downloads..

Impact:

Although I have a workaround, if VYOS ever reboots I now must login to fix the issue manually using the workaround attempt 2 above. If there’s an unexpected reboot, I may end up with traffic that’s allowed via geoip being blocked (this is how I realized there was an issue, my exposed geoip controlled services stopped working.

I have a few choices, I can go to rolling if this is already fixed, or find a better workaround with automation, yet I’m not exactly sure how to design this clearly. I’d love some feedback on the best option, I’ve been running VYOS in my lab for many years now, and hope for many more, yet this goes beyond my understand of the underlying mechanisms. I’d appreciate any help that can be offered!

Thank you!

Thanks for reporting this, I will try take a look this week.

My pleasure, at the moment I’m trying this in my postboot script

/opt/vyatta/bin/vyatta-op-cmd-wrapper update geoip

I haven’t tested it yet, waiting for a time to reboot, yet it does run properly as root, just not sure what context the scripts run as, hopeful it’s also root, assuming so, as it’s owned by root. Thanks for your time and dedication!

OK, had a chance to reboot. If anyone runs into this, it does work, add this to your /config/scripts/vyos-postconfig-bootup.script.

/opt/vyatta/bin/vyatta-op-cmd-wrapper update geoip

I know that the Stream is suppose to be for labs, and it’s only SEMI-stable, yet this is regression that I could see affecting a lot of people, as the geoip as been part of the builds for quite some time.

I don’t expect that there will be a re-release, and I understand, it’s a point-in-time snapshot. I can live with it, yet I suppose what can be taken from this is there are some unit tests that perhaps need adjustment ;).

Best to all!

I have the exact same problem with the 2026.02 stream version, running the ‘update geoip’ command as a “normal” non-root user:

$ update geoip
Dowloading latest DB-IP database…
Unable to download “https://download.db-ip.com/free/dbip-country-lite-2026-03.csv.gz”: [Errno 13] Permission denied: ‘/usr/share/vyos-geoip/dbip-country-lite.csv.gz’
Failed to download, aborting.

The only way to get the geoip update to complete successfully is to run it as root. I have a backup script that I run once a day that runs as root, so I’m adding this command, but it would be nice to be able to run it as a non-root user.

Try 2026.03 stream

It should be fixed.

Confirmed the command works as a non-root user in 2026.03 Stream. Thanks!!

I created a ticket here for the issue where geoip is not taking effect correctly at boot.

(I realize that’s a separate issue from the already solved permissions issue.)

I submitted a PR to resolve this issue.