🎯 About this course
You can already run a Linux machine. This course teaches you to run the network around it: where packets go, how names turn into addresses, how to find out which layer is broken, how to log in safely, how to protect a server with a firewall, how to share one public address, and how to bring a remote person in. Every exercise names who needs it and why, uses a simulated office network of several machines that behaves like the real one, and ends with a check of the effective state rather than the file you meant to edit.
By the end you will be able to
- Describe how a computer decides where to send a packet by reading an address, a mask, a route and a name lookup.
- Use ping, traceroute, ss, nc and curl to find out whether a machine, a port and a web service answer, and read refusals, timeouts, status codes and certificate errors.
- Apply a layered method that checks from the bottom up, stops at the first failure and keeps a record, to a network fault with more than one cause.
- Use ssh keys, config aliases and scp to work on remote machines, and respond correctly to a changed host key.
- Analyse DNS answers, DHCP leases and clock synchronisation, and compare name servers to find which one disagrees.
- Use tcpdump to capture and read packets and nmap to scan ports, and tell a refusal from a drop.
- Configure a host firewall with iptables and ufw so that the order of rules is right and access is never lost, and restrict a service to the office network.
- Configure forwarding, masquerade and a port forward on a gateway, and bring up a WireGuard tunnel and find a wrong key.