Peters School of Business · Assiniboine College · NETW-0014
2 hours · No assessment · Cumulative Q&A, all services verified, exam format walkthrough
Cumulative Q&A and command reference — the most important command from each week
Quick-fire command reference (20 min)
sudo sshd -t (test config before restart) · sudo fail2ban-client status sshd
sudo iptables -L -n -v · sudo nft list ruleset · sudo ufw status numbered
sudo ntpq -p · timedatectl timesync-status · sudo journalctl -u rsyslog -n 20
sudo named-checkzone yourname.net /etc/bind/db.yourname.net · dig @192.168.50.1 s1.yourname.net · sudo journalctl -u isc-dhcp-server -n 20
sudo nginx -t · sudo tail -f /var/log/nginx/yourname.net.access.log
sudo ipsec status · sudo wg show · sudo grep charon /var/log/syslog | tail -20
docker-compose ps · docker-compose logs -f [service] · docker exec -it [container] bash
Open Q&A (20 min)
Verify every service from every week is running correctly before the final exam
Students work through this checklist independently. The instructor circulates to assist with anything that isn't working. A service that isn't running on exam day cannot be fixed during the exam — fix it now.
Week 1 — SSH and NAT
ssh -p [port] student@[S1-IP] — must connect without password prompt from Windows Terminal.sudo fail2ban-client status sshd — should show sshd jail active.ping -c 3 8.8.8.8 from S2 — receives replies.sudo iptables -t nat -L POSTROUTING -n — MASQUERADE rule present.Week 2 — NTP and Logging
sudo ntpq -p — at least one server with * prefix.timedatectl timesync-status — ServerName = S1's IP, stratum 3.sudo systemctl status rsyslog — active on all three servers.Week 3 — DHCP and DNS
sudo systemctl status isc-dhcp-server — active on S1.dig @192.168.50.1 s1.yourname.net — returns 192.168.50.1.dig @192.168.50.1 -x 192.168.50.1 — returns s1.yourname.net.nslookup s1.yourname.net [S1-external-IP].dig @192.168.50.2 s1.yourname.net — S2 can answer queries.Week 4 — Nginx
sudo systemctl status nginx — active.sudo nginx -t — syntax ok, test successful.curl -v http://yourname.net 2>&1 | grep "301\|Location" — shows 301 and HTTPS location.curl -k https://yourname.net — returns the website content.Week 5 — VPN
sudo ipsec status — Security Associations: 1 up.ping -c 3 192.168.51.2 from S2 — receives replies through tunnel.sudo wg show — peer listed with recent handshake timestamp.Week 6 — Docker
sudo systemctl status docker — active.docker-compose ps from ~/docker/app/ — app service Up.Final exam format and expectations
Exam topic coverage at a glance
| Week | Key topics for exam | Most likely practical scenario |
|---|---|---|
| 1 | SSH key auth, sshd_config, fail2ban, NAT | Restore broken SSH config, verify fail2ban |
| 2 | tcpdump/mz, IPTables/NFTables/UFW rule syntax, NTP stratum/ntpq, rsyslog facilities/severity, logrotate | Implement a firewall spec, or diagnose broken rsyslog |
| 3 | DORA process, dhcpd.conf, DNS record types, zone file syntax, secondary DNS | Build a zone from spec, verify with dig |
| 4 | DNS views, Nginx server blocks, SSL, nginx -t, access.log/error.log | Diagnose broken Nginx using logs |
| 5 | IKE phases, ipsec.conf/secrets, PKI, WireGuard [Interface]/[Peer] | Configure WireGuard from spec |
| 6 | Container vs VM, docker run flags, docker-compose YAML, proxy_pass | Docker container with compose, verify running |