Skills

Networking

How machines find and talk to each other, from IP addresses and ports to DNS, HTTP, TLS, routing and firewalls, and how to find out why they cannot.

Beginner · 18 topics · 3 projects · about 4 hours of reading

Step 6 of the DevOps engineer roadmap

Start with What a network is

Topics

  1. 01

    What a network is

    Hosts, links, packets, switches and routers. Building a small network of your own to practise on.

    8 min
  2. 02

    IP addresses

    IPv4 and IPv6 addresses, private and public ranges, network interfaces and the loopback, and an interface's MTU.

    12 min
  3. 03

    Subnets and CIDR

    Network masks, CIDR notation, and working out which addresses are on the same network.

    10 min
  4. 04

    The layers model

    The layers a packet passes through, what each one adds, and which tools work at which layer.

    11 min
  5. 05

    Ports and sockets

    How one machine runs many services, well-known ports, seeing what is listening, and testing a port with nc.

    13 min
  6. 06

    TCP

    Connections, the three-way handshake, connection states, and what reliable delivery costs.

    12 min
  7. 07

    UDP

    Sending without a connection, where that is the right choice, and what can go missing.

    9 min
  8. 08

    DNS basics

    How a name becomes an address, /etc/hosts and resolvers, record types, caching and TTLs, and following a lookup with dig.

    12 min
  9. 09

    HTTP

    Requests and responses, methods, status codes, headers, redirects and JSON, and watching a request with curl.

    12 min
  10. 10

    Serve a website with nginx

    Installing nginx, serving a site, server blocks, and reading its logs.

    9 min
  11. 11

    TLS and HTTPS

    What TLS protects, certificates and the chain of trust, inspecting a site's certificate, and signing one with your own CA.

    13 min
  12. 12

    Routing and gateways

    The routing table, the default gateway, and following a packet's path with traceroute.

    10 min
  13. 13

    NAT

    How private addresses reach the internet, and forwarding a port from outside to a machine inside.

    11 min
  14. 14

    Firewall basics

    Packet filtering, rules and chains, default policies, and locking down a server without locking yourself out.

    13 min
  15. 15

    tcpdump

    Capturing packets, filtering them, and reading what was actually sent.

    10 min
  16. 16

    SSH and tunnels

    Keys, the SSH config file, jump hosts, and forwarding ports through SSH.

    11 min
  17. 17

    Reverse proxy and load balancing

    Putting nginx in front of applications and spreading requests across several of them.

    10 min
  18. 18

    The debugging playbook

    A layer-by-layer method for working out why a service cannot be reached.

    10 min

Projects

Do these after the topics. Each one runs on your own computer.

Project 2 · 10 min read

Build a small web stack

Two application servers behind an nginx load balancer with HTTPS from your own certificate authority and a name in the lab's DNS.

Open the project: Build a small web stack