Hacker News new | ask | show | jobs
by AdamJacobMuller 895 days ago
Having worked with every vendor under the sun for networking equipment across my career, I enjoy working with Juniper by far the most.

The configuration syntax works as expected, it's flexible but extensible in the right places and mostly has lots of knobs to tune things but without requiring extensive boilerplate to get things to work as expected.

The hardware seems to fit intelligent niches and actually does what it says on the spec sheets.

The system is FreeBSD, while that's a debatable choice in 2024 it's far better than the obscure OSes that others are using for their core systems.

At the end of the day you can always just "start shell user root" and be root on a FreeBSD system. If you're a bit crafty on most Juniper systems you can also run unsigned code if you like. Some Juniper platforms (and not talking about just the huge ones, some of the 1U pizzabox switches) allow you to run a full-blown Linux system alongside the FreeBSD image (because they are actually Linux running FreeBSD on a hypervisor).

JTAC was filled with skilled, intelligent engineers who actually cared and tried to solve your problems. (Not sure today as I haven't had to call them in years). The other TACs I've delt with were focused on call time and ticket handling metrics and would ask obviously pointless questions or repeat information you already provided for a fast close.

I still remember calling JTAC during one outage we had. First L1 engineer after my initial description of the problem basically came back and said something like "that sounds like a really bad outage, please open SSH from 1.2.3.4 and add this public key and I'll login and get the information for L3." Within about 15 minutes I was on the phone with an L3 engineer who correctly diagnosed and proposed a fix for the issue. Amazing support. Not perfect, I have some horror stories too, but, always with people who cared and far less than with C or other vendors TACs.

Very sad day.

1 comments

I'm just curious, why would you want to run unsigned code on a Juniper device? What is the use case?
I was doing a number of unholy things at the time, effectively monkey-patching and syscall interception of some of the daemons for "seemed like a good idea at the time" reasons.

Also, sometimes, you just want to throw a tool on there to test something.

Today, I'd love to run stuff like tailscale for access to the control plane remotely.

Mostly, however? I did it because they said I couldn't.

Custom collection daemon or other type of agent.
Considering how annoying SNMP is to use and how terrible the alternatives are, that would have been a very good use case.