![](/static/253f0d9/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/517c6785-5e51-4421-8503-e385f36061ed.png)
Use network namespaces :)
A brand new network namespace doesn’t have any network interfaces. When you start a process in a namespace, all its child processes will start there too. It’s like a little network jail, and the functionality is baked into the kernel / is kernel enforced.
I use this to keep certain processes on a vpn, with no need for interface-binding support from the process, or a vpn-killswitch.
Another fun fact, this is the functionality that enables containerization, like docker/podman
There is no such thing as easy or hard.
Give it a try, fuck it up, and give it a try again. Try not to fuck it up in the same way as the first time. Repeat until it works - it will work eventually.
It took me about 6 hours and 3 disk re-formats my first time. I was particularly bad at it. I barely knew what a disk was, nevermind a partition.
Actually I’m still not sure what a partition is.
You’ll do fine :)