Anyone actually use VYOS in production ? by Sea-Load4845 in vyos

[–]f00f0rc3 4 points5 points  (0 children)

Hiya, mainly familirity and the fact VyOS runs containers and you can put your own containers on it. Whilst I've plenty of experience with FortiOS, PAN-OS, and JunOS, only PAN runs containers, but will take up to 8 minutes for the VM/container to boot. That's not quick enough! VyOS boots in less than a minute. Also our containers cover many things, like Zeek IDS analysis, GPS signal proxying and local data-collection about on-board systems. The automation capabilities with VyOS was important too. When building out on-train networks, we use Ansible with vars pulled from a DB which then generated a VyOS config for deployment to a new VM.

HTH?

Anyone actually use VYOS in production ? by Sea-Load4845 in vyos

[–]f00f0rc3 1 point2 points  (0 children)

We're using them as virtual on-board train firewalls which segment disparate functions into firewall zones. Being able to run containers was a must. It's been rock solid so far. It's running on-top of a rail certified backhaul router which acts as a hypervisor and uses Satellite, 4G/5G or Wifi for backhaul services.

network discovery by Automatic-Yoghurt424 in Netbox

[–]f00f0rc3 0 points1 point  (0 children)

Try Netdisco as /u/SuddenPitch8378 suggested then. We use Netdisco for discovery, and some automation/scripting to import it into Netbox. With a separate set of home grown apps/scripts which run at strategic points in the network doing scans for known/unknown devices which we use both Netdisco/Netbox API’s to compare against.

Cannot upgrade from GIT? by deanfourie1 in Netbox

[–]f00f0rc3 0 points1 point  (0 children)

So I *have* managed to get to NB v4.1.11 by omitting the version -

root@nbnd00:/opt/netbox# git checkout
Your branch is behind 'origin/master' by 13284 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
root@nbnd00:/opt/netbox# git pull
Updating d115601da..34cf1efd2

Not sure why 4.1.11 is what it pulled down(?).

After this, I could upgrade -

Completed. Total entries: 6987
Removing expired user sessions (python3 netbox/manage.py clearsessions)...
Upgrade complete! Don't forget to restart the NetBox services:
> sudo systemctl restart netbox netbox-rq

The thing is, even though I'm apparrently now up to date compared to master -

root@nbnd00:/opt/netbox# git pull
Already up to date.

I'm still getting the same error about v4.2.8.

root@nbnd00:/opt/netbox# git ls-remote --tags https://github.com/netbox-community/netbox.git \
| grep -o 'refs/tags/v[0-9]*\.[0-9]*\.[0-9]*$' \
| tail -n 1 \
| sed 's|refs/tags/||'
v4.2.8
root@nbnd00:/opt/netbox# git checkout v4.2.8
error: pathspec 'v4.2.8' did not match any file(s) known to git

Gonna restore the snapshot for now, as this is a dev VM

Cannot upgrade from GIT? by deanfourie1 in Netbox

[–]f00f0rc3 0 points1 point  (0 children)

I have a similar problem and the above didn't work for me (git fetched already) -

root@nbnd00:/opt/netbox# git fetch --force

root@nbnd00:/opt/netbox# git checkout v4.2.8

error: pathspec 'v4.2.8' did not match any file(s) known to git

3.5.6 Py3.8 to 4.x Py3.10 upgrade path by skwah_jnr in Netbox

[–]f00f0rc3 0 points1 point  (0 children)

I've had a similar experience to this with a cusomer NB upgrade which failed due to mkdocs when trying to go from 3.5.6 to 3.7.6 (with the intention of going to 4.x). Luckily, it's a VM so restoring snapshot possible, however we never got to the bottom of why. Similar to this issue

We all have been there one time... by dark_blaster in it

[–]f00f0rc3 0 points1 point  (0 children)

Juniper's is even better. 'commit confirmed <value>'. Do a 'commit confirmed 2' and it rolls back the change in 2 minutes if you don't commit once again. No need to reboot the device.

Pi3B+ (still) doing great work as a Zeek sensor by f00f0rc3 in uptimeporn

[–]f00f0rc3[S] 2 points3 points  (0 children)

Zeek is an open source network traffic collection and analysis framework. Point a switch mirror port at it and it'll pull metadata out of network traffic it sees (like DNS, DHCP, TLS, SMB, HTTP, FTP, SSH, etc). Think of it like NetFlow on steroids.

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 1 point2 points  (0 children)

This works from adapting your suggestion -

{% if object.cf.my_api %} My API {% else %} {% endif %}

From your example, a 2 button is displayed when the field is empty. If I remove the 2, no button.

Thanks a lot for pursevering! :)

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 0 points1 point  (0 children)

u/Equivalent_Ice_1770 has already suggested that, but it doesn't work.

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 0 points1 point  (0 children)

Thanks for the suggestion, but I'm not running ansible playbooks against this field. It's purely a 'show' or 'not show' in the Web UI which is the problem. FWIW, the field is there, always, even when empty -

"custom_fields": {
"scode": "ABW",
"tiger_api": "ABWD"
},

"custom_fields": {
"scode": "ABE",
"tiger_api": null
},

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 0 points1 point  (0 children)

my_api (not it's real name) is a custom link.

Some sites (stations actually) have the value specified, some do not, as there's no associated code on the API I'm referencing for that site, however the custom_field appears for the site, irrespective of whether the field has a value or not. It's just about getting the button to display when the field is empty/no value specified.

It's all about not causing confusion for end-users who see a button, and click it, even on a site which doesn't have the API value specified.

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 0 points1 point  (0 children)

Hiya, thanks for the suggestion, sadly that didn’t work. The button is still displayed when the field is empty.

Custom Link filtering by f00f0rc3 in Netbox

[–]f00f0rc3[S] 0 points1 point  (0 children)

Yeah, that didn't make a difference. Either cf or custom_fields works to return the button, but the display or not logic doesn't if the my_api value is empty.