Skip to content
Productivity Passport
Practice mode · free · unlimited · not certifiable

Linux Networking

Unscored tasks with hints and instant feedback. Practice results never become credentials.

Short lesson

Pipelines in one minute · 8 min

Combine small tools: grep filters lines, awk/cut pick fields, sort | uniq -c counts, xargs turns lines into arguments. Read logs with journalctl -u UNIT.

L1Resolve a hostnameterminal

What IP address does db.internal resolve to? Enter it as your answer.

Sign up to practise
L2Who listens on 5432?terminal

Which program is listening on TCP port 5432? Enter the program name.

Sign up to practise
L3Fix name resolutionterminal

The app must reach api.internal at 10.0.5.20, but DNS has no record yet. Add a local override so `curl -s http://api.internal/health` returns OK.

Sign up to practise
L3Minimal firewallterminal

Enable the firewall (ufw) so the server only accepts SSH (22) and HTTPS (443) by default-deny incoming.

Sign up to practise
L4Key-based accessterminal

Create an ed25519 key pair at ~/.ssh/id_ed25519 without a passphrase, and authorise its public key for your own account (~/.ssh/authorized_keys, mode 600).

Sign up to practise
L5Key-only SSHterminal

Lock down SSH: disable password authentication and root login in /etc/ssh/sshd_config, validate the config, and reload sshd. Keep port 22.

Sign up to practise