Skip to main content
RunBook Academy

← All checklists in Linux

Before deploymentlinux-network

Checklist: Network readiness pre-deploy verification

35 items ·28 critical ·7 warn ·0 info

Use this checklist before promoting any host or service to production. Run it from a known-good source (your workstation or a debug host) and from the target host itself. Any failure must be resolved before deployment.

How to use this checklist

Run each command from the target host and from a known-good source. Resolve any critical item before deploy. warn items should be reviewed but do not block deploy.

Sign-off

  • Operator: _________________ Date: ___________
  • Reviewer: ________________ Date: ___________

Critical28 items

  1. ip -br addr show
  2. hostname; hostname -f
  3. ip route show default
  4. ip route get 8.8.8.8
  5. ip link show; ethtool <iface> | grep -E 'Speed|Link detected'
  6. ip link show <iface> | grep -o 'mtu [0-9]*'; tracepath -n <peer>; ping -M do -c 3 -s $((MTU-28)) <peer>
  7. cat /proc/net/bonding/<bond>
  8. ls /etc/netplan/ /etc/systemd/network/ /etc/NetworkManager/system-connections/ 2>/dev/null; networkctl status
  9. dig <hostname>
  10. dig -x <ip>
  11. ss -tlnp
  12. systemctl list-unit-files --state=enabled
  13. sudo nft -j list ruleset | jq -r '.nftables[].chain | select(.type=="filter") | "\(.hook)\t\(.policy)"'
  14. sudo nft -j list ruleset | jq -r '.nftables[] | select(has("rule")) | .rule | select(any(.expr[]; has("accept"))) | select(any(.expr[]; has("match")) | not) | "chain=\(.chain) handle=\(.handle) comment=\(.comment // "-")"'
  15. echo | openssl s_client -connect <host>:443 2>/dev/null | openssl x509 -noout -dates
  16. openssl s_client -connect <host>:443 -showcerts </dev/null
  17. echo | openssl s_client -connect <host>:443 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName
  18. nmap --script ssl-enum-ciphers -p 443 <host>
  19. ping -c 3 <gw>
  20. for hp in repo.example.com:443 ntp1.example.com:123 10.0.0.1:53; do nc -zv -w3 "${hp%:*}" "${hp#*:}"; done
  21. curl -I https://<hostname>
  22. corosync-cfgtool -s
  23. corosync-cfgtool -s; ip -br link show

Warning7 items

  1. ip -6 addr show
  2. ip route show
  3. ethtool -S <iface> | grep -E 'errors|dropped|missed'
  4. dig @8.8.8.8 <hostname>; dig <hostname>
  5. ping -c 3 8.8.8.8 || echo "ICMP filtered - confirm against the egress policy before recording a failure"
  6. sudo traceroute -T -p 443 8.8.8.8