Gentoo for Network Admins

From Gentoo Wiki
Jump to:navigation Jump to:search

This article hosts a guide for forging Gentoo into a fully-fledged, network-debugging Swiss army knife. This guide will be found useful for network admins, site reliability engineers, and DevOps engineers.

This guide assumes the reader is already familiar with the networking terminology and will therefore not go into further detail in explaining common acronyms or concepts. For example: defining DNS, IP addresses, OSI layers, et. al.

Useful tools

DNS debugging

net-dns/bind-tools contains most of the DNS debugging tools such as nslookup, dig, and host.

root #emerge --ask net-dns/bind-tools

SSL/TLS/PKI troubleshooting

The s_client, ocsp, x509 commands and others are included in the dev-libs/openssl package.

root #emerge --ask dev-libs/openssl

Port knocking/scanning

Most popular command for netcat is nc -zv <host> <port>

root #emerge --ask net-analyzer/openbsd-netcat

Check which ports are open, which services are running with nmap.

root #emerge --ask net-analyzer/nmap

Traffic analyzers

Listen on an interface and show src/dest traffic and speed:

root #emerge --ask net-analyzer/iftop

Inspect incoming/outgoing packets:

root #emerge --ask net-analyzer/tcpdump

Network bandwidth measurement

iperf has many use cases. It can for example stress test a network by running

user $iperf -c qa2

IP troubleshooting (L3)

MyTraceroute does a traceroute by probing with ICMP packets:

root #emerge --ask net-analyzer/mtr

In case ICMP is blocked by some firewall on the LAN, try tcptraceroute:

root #emerge --ask net-analyzer/tcptraceroute

lft Layer four traceroute, traceroute using TCP:

root #emerge --ask net-analyzer/lft

L2 troubleshooting

Directly connected neighbor detection, capabilities, connected port etc:

root #emerge --ask net-misc/lldpd

L1 troubleshooting

Link detection, WOL support, link modes et. al.:

root #emerge --ask sys-apps/ethtool


x11-misc/xclip can be used to copy logs, file contents, etc. without leaving the terminal. For example:

user $cat /var/log/emerge.log | xclip -sel clip

See also

External resources