Oxidized

Installation using docker

Clone git repo

git clone https://github.com/ytti/oxidized

Build container locally

docker build -q -t oxidized:latest oxidized/

Create a configuration directory

mkdir /etc/oxidized

Run the container for the first time to initialize the config or copy config file over to configuration directory:

docker run --rm -v /etc/oxidized:/root/.config/oxidized -p 8888:8888/tcp -t oxidized:latest
  • Create the /etc/oxidized/router.db (see CSV Source for further info)

Run container again with new configuration

docker run -v /etc/oxidized:/root/.config/oxidized -p 8888:8888/tcp -t oxidized:latest

Run container with reloaded configuration frequently

docker run -v /etc/oxidized:/root/.config/oxidized -p 8888:8888/tcp -e CONFIG_RELOAD_INTERVAL=3600 -t oxidized:latest

Some issues

Container can’t boot due to a server is already running

  • Container can’t run due to oxidized | A server is already running. Check /root/.config/oxidized/pid

  • Reason: a pid file is existed in oxidized configuration folder

  • Temporary Solution: remove pid file and start container again

  • Permanent Solution: create a script file to remove pid file before running oxidized and run it as startup script

Creating and Extending Model

Extending model to support CheckPoint Gaia OS SP

  • Create a file named: /etc/oxidized/model/gaiossp.rb with content

Extending FortiOS Model to support FortiManager and FortiAnalyzer

  • Create a file named: /etc/oxidized/model/fortiman.rb with content

Reference

  • https://github.com/ytti/oxidized

  • https://packetpushers.net/install-oxidized-network-configuration-backup/

  • https://codingpackets.com/blog/oxidized-getting-started/

Last updated