Hi Lux, In my opinion if you want to study networking load up on every distfile in /usr/ports/net as these tools will help you. ipcalc is valuable even pros use it because doing CIDR and netmasks in your head is possible but not practical in all scenarios.
That said you should look into bridging (start with bridge(8)) with OpenBSD along with the vether(4) manpage. Along with vmd and vmm's you can set up a deep network based on vether's and tap(4)'s. Don't be afraid to use tcpdump(4) especially with the icmp filter along with ping/ping6 which are run continuous you can/could find problems. I don't know how much RAM you have on your machines but pretend you have 16GB that's enough for roughly 12-14 vmm's if each takes 1 GB RAM. Each with one or two tap(4)'s to become a router. You may want to look into autoinstall(8) scripts to configure these "routers" quickly. For that you'll need some knowledge perhaps of the vnconfig(8), rdsetroot(8), and how to compile RAMDISK kernels. What else do we need... you may want to look at a networking scenario using PPPoE. So perhaps look into npppd(8) for the server side and pppoe(4) for the client side. Then another scenario uses DHCP so look into dhcpd(8). Another one will use IPv6 perhaps, here, rad(8) and co will help. For DNS on the authoritative side look into nsd(8), and unbound(8) for the recursive. Look into DNSSEC, nsd is fully capable of this. And unwind(8) will validate the answers or it should SERVFAIL (a specific DNS error). For a start that is good enough, bridging, routing, dhcp, pppoe, dns. You can also make your network 4x4 matrix like or even 16 hosts deep. This will help you learning how to traceroute and icmp timex messaging. With so many virtual hosts in different configurations you may find that configuration is a pain in the *** (PITA). Perhaps use some cluster management like puppet or ansible, or write your own scripts. You'll also need ssh key management, perhaps even coupled with the autoinstall file. All configurations should be in a got(1) tree which is like git. gotwebd will help you see differences in setups. Usually it's said that "communication is key" but in this scenario you are establishing communication so perhaps "organization is key". I personally found my own hardships last week on revisions, until I got confused and didn't have a real history so I'm trying to pick up where the going was good. BTW, manpage(8) would mean you type "man 8 manpage", or "man -s 8 -k manpage". Hope that helps, -pjp On Sat, May 11, 2024 at 02:52:32AM +0000, Lucretia wrote: > I have a laptop and am looking to purchase a second computer. Neither of them > will be connected to The Internet, but will be networked together. > > My goal is to study networking, starting with some of the most basic commands > and routines. This will be purely for educational purposes. I may build upon > the network later, perhaps with unconventional devices, but for now I want to > focus just on having two Amd64 machines communicating with one another. > > What are some basic networking commands from the base installation or from > ports that would be good for a novice to learn more in-depth? > > I have no plans to connect this system to The Internet now or in the future, > so keep that in mind when suggesting. > > Book recommendations are most welcome! > > Lux of the Agony > 720077 Bishkek > Altyn Kazyk 31A > KYRGYZSTAN > l...@openbsdgirl.com > -- my associated domains: callpeter.tel|centroid.eu|dtschland.eu|mainrechner.de