I’ve been slowly working my way though a list of skills to learn, both to put on my resume and as personal growth. Networking is the next thing on this list. I am not sure what I am looking for, but I want to start another project. I have built many a personal computer, but the world of networking is a pretty foreign concept to me.

I have experience with building computers and a minor glance at the network-side of things. I’ve set up a Pi-Hole or two and set a basic CUPS server up on a RPi0w, but beyond that, I have no idea what I’m doing, or even what the possibilities are. I just see posts like this and think that it’s a pretty cool hardware project.

Is there any resources you recommend to start learning, maybe what the hardware does? From my outsider’s perspective, I see a lot of people’s racks have at least a router, switch, and firewall, along with various other machines.

E: thank you all for the suggestions! I’ll have to take some time to figure out what to do first

@Decronym@lemmy.decronym.xyz
bot account
link
fedilink
English
5
edit-2
8M

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
IP Internet Protocol
NUC Next Unit of Computing brand of Intel small computers
SSH Secure Shell for remote terminal access
TCP Transmission Control Protocol, most often over IP
VPN Virtual Private Network

6 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

[Thread #400 for this sub, first seen 4th Jan 2024, 05:55] [FAQ] [Full list] [Contact] [Source code]

@lautan@lemmy.ca
link
fedilink
English
78M

I recommend an Orange pi 5 with Armbian installed. Raspberry pi is under powered and it’s a pain getting compatible software for the arch.

RBG
link
fedilink
English
18M

I am not sure I understand what you refer too? I have a small rpi server running at home and so far no issues installing various things on it.

Very “specialized” software, yeah ok, maybe thats what you mean.

@lautan@lemmy.ca
link
fedilink
English
18M

Many docker images are not built for the raspberry pi arch. Maybe the newer models don’t have the issue but installing anything like Nextcloud or Seafile was a pain.

Snot Flickerman
link
fedilink
English
23
edit-2
8M

Not necessarily in this order:


  1. Learn the OSI and TCP/IP layer models.

  2. Learn the fundamentals of IPv4 and IPv6. (Absolutely learn to count bits for IPv4)

  3. Learn and understand the use-cases for routers, switches, and firewalls.

  4. Learn about DNS. (Domain Name System)

  5. Learn about DHCP. (Dynamic Host Configuration Protocol)

  6. Learn important Port Numbers for important Services. (SSH is Port 22, for example. The range of port numbers from 1024 to 49151 are “registered ports” that are generally always the same)

  7. Learn about address classes. (A, B, C are the main ones)

  8. Learn about hardware addresses (MAC address) and how to use ARP to find them.


And more! This is just off the top of my head. Until you’ve studied a lot more, please, for your own sake, don’t open your selfhosted ervices to the wider internet and just keep them local.


And just for fun, a poem:

The inventor of the spanning tree protocol, Radia Perlman, wrote a poem to describe how it works. When reading the poem it helps to know that in math terms, a network can be represented as a type of graph called a mesh, and that the goal of the spanning tree protocol is to turn any given network mesh into a tree structure with no loops that spans the entire set of network segments.

I think that I shall never see

A graph more lovely than a tree.

A tree whose crucial property

Is loop-free connectivity.

A tree that must be sure to span

So packets can reach every LAN.

First, the root must be selected.

By ID, it is elected.

Least cost paths from root are traced.

In the tree, these paths are placed.

A mesh is made by folks like me,

Then bridges find a spanning tree.

— Radia Perlman Algorhyme

@gramathy@lemmy.ml
link
fedilink
English
58M

Classful networking is well past dead, that’s kinda pointless. Learn VLSM and general subnetting basics instead.

Snot Flickerman
link
fedilink
English
2
edit-2
8M

I mean, isn’t it important to understand the fundamentals so you can understand VLSM better?

Like math, a lot of this knowledge works better when you know the fundamentals and basics, which help you conceptualize the bigger ideas.

On a personal level, I would have had a lot harder time understanding VLSM if I hadn’t had the basic fundamentals of traditional subnetting and classful networking under my belt.

@gramathy@lemmy.ml
link
fedilink
English
48M

There’s nothing inherently important to classful networking you learn that’s necessary for VLSM. They amount to common convention based on subnet size, and even then nearly nobody actually uses A or B sized subnets except as summary routes, which again, is not inherent to classful networking.

Classful networking has been obsolete for thirty years for good reason, you gain nothing from restricting yourself in that way.

Snot Flickerman
link
fedilink
English
28M

How are you “restricting” yourself by learning that it exists? Nobody is saying “learn about it and use it and never consider anything else.” They asked what fundamentals they should know for networking, and I dumped what I considered the “fundamentals.”

@gramathy@lemmy.ml
link
fedilink
English
18M

Nothing actually uses classful networking anymore. Any situation where classful network concepts are implemented is necessarily limiting the capabilities of the network. As such it’s completely useless to bother spending time learning it.

A custom router + managed switch is a great way to learn. Studying the fundamentals is also good, but in my opinion it’s not as fun as setting up your own network and learning hands-on.

If you decide to go this route I highly reccomend taking regular backups of your config (and backup again before you change stuff). Part of learning involves breaking things - trust me you will break your network - and in networking that’s one of the best ways to learn. Backups will give you an easy way to restore to a known working configuration.

@BearOfaTime@lemm.ee
link
fedilink
English
9
edit-2
8M

I’d start with a second router added to the current network, use it to segment a “lab” network. Then, when it breaks you break it, it breaks the lab stuff and not your house stuff.

Check out Linux Upskill Challenge there’s a community on programming.dev [relative link]

It’s a bit askew from what you’re asking about but very related and a nice onramp to certification options that have some value in the job market.

As a more direct answer, a bit more of a formal approach to learning networking can be persued by following the networking recommendations at Teach Yourself CS

CommunityLinkFixerBot
bot account
link
fedilink
English
28M

Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: !linuxupskillchallenge@programming.dev

@BearOfaTime@lemm.ee
link
fedilink
English
68M

Wow, that’s brilliant! Wish I could upvote you more than once.

@helenslunch@feddit.nl
link
fedilink
English
18M

certification options that have some value in the job market.

How much does an experienced sysadmin make?

My research leads me to believe it’s quite low.

If your title is system administrator, maybe you don’t get paid as much with the same responsibilities as a DevOps Engineer, System Reliability Engineer, Cloud Computing Engineer etc. Don’t get caught up in titles, sell the value of your skills.

@helenslunch@feddit.nl
link
fedilink
English
08M

I don’t get caught up in titles. Businesses do.

Yup. Use their flawed methodologies to your advantage.

@NightAuthor@lemmy.world
link
fedilink
English
4
edit-2
8M

For project ideas, I think most of us start with a problem and learn how to solve it. But without some foundational knowledge, you may struggle to even realize what’s a solvable problem.

You should maybe start with something like Linus Tech Tips “techquickie” content. Look at tutorials for home servers and home labs.

Or just spin around with your eyes closed, and point at a random tech object in your home, then start searching for info on how that works. How you can customize it, fix it, break it, make your own.

Not sure how else to help you jumpstart what many of us have just been naturally doing our whole lives. Like… be curious. That’s the key actually. Curiosity.

Hroderic
link
fedilink
English
98M

I don’t think you really need to dive that deep into networking to start self hosting, but Network Chuck has a pretty good CCNA course on YouTube https://youtube.com/playlist?list=PLIhvC56v63IJVXv0GJcl9vO5Z6znCVb1P&si=VOajj1fJjb-Sx58p

@PipedLinkBot@feddit.rocks
bot account
link
fedilink
English
38M

Here is an alternative Piped link(s):

https://piped.video/playlist?list=PLIhvC56v63IJVXv0GJcl9vO5Z6znCVb1P&si=VOajj1fJjb-Sx58p

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I’m open-source; check me out at GitHub.

@tabularasa@lemmy.world
link
fedilink
English
18M

This is a great place to start.

Lemmy Tagginator
bot account
link
fedilink
08M

New Lemmy Post: I’m new to networking and self-hosting and have no idea where to start. (https://lemmy.world/post/10294927)
Tagging: #SelfHosted

(Replying in the OP of this thread (NOT THIS BOT!) will appear as a comment in the lemmy discussion.)

I am a FOSS bot. Check my README: https://github.com/db0/lemmy-tagginator/blob/main/README.md

@Hotzilla@sopuli.xyz
link
fedilink
English
14
edit-2
8M

I would suggest more learn by doing approach. Learning OSI model etc is nice, but it is quite jargon :)

Use some old PC as a server, and get some network cards into it, and use it as firewall/router. Route your home network/NAT/DNS/DCHP through it. Raspberry Pi’s are nice, but their hw is still bit limited.

OPNSense is quite nice and easy free and open source firewall/router solution.

If you want to add bit of flexibility, you can use some virtualization platform like VMware in to the machine, so that you can run OPNSense in it, with some other virtual servers.

Then when you get things working, you can start looking in to VLAN’s, because they are quite important part of enterprise networking. Most cheap switches nowadays support VLAN’s out of the box.

You already have a pihole. I assume you like it. You could buy a cheap minipc/NUC and set up proxmox on it and learn to set up and configure a second pihole as a virtual machine. Then you’ll have a server running with the ability to expand as needed. You could look into setting up new network gear (like tp-link’s omada) and run the software controller in a VM. Or you could dabble with HomeAssistant and get into smarthome. Or set up a photo management tool like Immich. Like others have said, find a problem you want to solve and use these tools!

@lntl@lemmy.ml
link
fedilink
English
98M

I started learning networking with OpenBSD’s tutorial on building a router.

Building a router forces one to learn networking.

https://www.openbsd.org/faq/pf/example1.html

@auf@lemmy.ml
link
fedilink
English
7
edit-2
8M

If you want to learn to secure your network, try using snort. It’s a popular intrusion preventing system.

Another interesting thing is to host a Wireguard VPN server. You can access your selfhosted services from outside of your house by connecting to the VPN.

In my opinion, learning to setup these kind of things is the most interesting and beneficial way to learn things around them.

Possibly linux
link
fedilink
English
38M

I learned most of what I know though network my services and locking them down.

Networking will take you from being “they guy that fixes computers” to full blown Telco engineer. It’s a lot though, more than I can explain. Get managed switch and start having LAN parties.

@brewery@lemmy.ml
link
fedilink
English
18M

Cisco do free networking courses which teach the fundamentals. The one I did was more theoretical than practical but it really helped me think of what Im really trying to achieve and learning the terminology was really helpful, especially later when trying to troubleshoot and finding help online that was a struggle before the course.

There are assessments as you progress and a certificate at the end.

They also have virtual software you can play around with for different potential configurations. Thats much cheaper than buying lots of hardware!

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 279 users / day
  • 589 users / week
  • 1.34K users / month
  • 4.55K users / 6 months
  • 1 subscriber
  • 3.49K Posts
  • 69.8K Comments
  • Modlog