Server Administration and Pi-hole
So I've always been a techie. Hopefully this blog has made it obvious. One of my weaknesses has been working with servers. I learned a little bit about making a WordPress blog in high school, but it just didn't come easily for me.
When COVID hit, I decided to try learning more about making a website. I hit some roadblocks and decided that I'd pay for hosting in the meantime. But I still had a Raspberry Pi with nothing to use it for. After collecting dust for two months, I had a deal with a friend where I installed GrapheneOS for them and they installed Pi-hole for me. Today I spent the time to connect it to my network and learned a ton in the process. I'll run through things and describe them in my own terms
DHCP: This is the function that gives your computer it's local IP address. It usually is handled by the router, but can be handled by a server. DNS: This helps translate a website name (google.com) to an IP address (220.127.116.11) VPN: I already knew this one! It's a way to 'disguise' your IP address as another. This allows you to connect to different local networks when you aren't necessarily there.
But to go into detail about Pi-hole, it works like a DNS of sorts. But you can download different lists to block websites. Some people with a lot of time on their hands have compiled lists of different advertisement and tracking companies so you can block them on every single device on your network. So a quick example is I don't have to see ads when browsing the menus on my PlayStation (which wouldn't be able to use an ad blocker on its own). I set up a file server on the pi as well. Currently, I just have a flash drive with a bunch of episodes of Jojo's Bizarre Adventure. I plan on upgrading at some point to an external hard drive, but it's not important at the moment. So now I can watch those videos from any device at my house (I plan to load them on the 4K TV next time I get to watch them).
Now to tie everything together, it's actually possible to access the Pi-hole ad blocking and those JJBA files from anywhere in the world. I can create a VPN server that will allow me to connect to my home network. This comes with a limitation though, I can't use a second VPN to hide my traffic like I do currently. I'm learning that it might be possible, but there is a lot more work to do to get to that point. From what I've seen, I'll be learning about iptables and wireguard to make that happen (sorry, no description here because I don't even know yet).
There's no way I would have learned all this just from reading. I got the pi thinking that it was limited to run one server at a time, but that can't be further from the truth. Maybe I'll learn about bots at some point just as a fun project. The sky is the limit.