Appendix C - Miscellaneous

The following commands are useful for troubleshooting any Unix/Linux system.

bwm-ng

Shows current bandwidth utilization on each interface.

conntrack -F

Flushes connection tracking records for NAT.

htop

Graphically shows CPU and memory utilization, load averages, and processes.

ip addr

Shows IP addresses and the interfaces where they have been assigned.

ip route show table <table ID>

Shows routing tables.

ip rule

Shows routing rules. Bonders use policy routing to send traffic from specific IP addresses through specific interfaces.

kill `cat /var/run/tun<bond ID>.pid`

Kills the tunnel for the given bond. It will be restarted immediately by Bonding.

kill `cat /var/run/openvpn.mtun0.pid`

Kills the OpenVPN client on a node. It will be restarted by Bonding.

mtr -a <source IP address> –report <target IP or hostname>

Run a series of tests that show the latency and packet loss to each node on the route between the source and target IPs. This is useful to determine where packet loss is occurring. MTR is not installed by default—to install it, run apt-get install mtr-tiny.

openssl x509 -in /var/lib/bonding/ca/node-client.cert.pem -text -noout

Shows details of the SSL certificate.

ping <host>ping <tunnel peer IP> or ping -I <local interface> <host>ping -I <IP address> <host>

Ping a remote system, optionally binding to a specified network interface or IP address. Use legids to list available interfaces and IP addresses. If you ping a host on the Internet without specifying a source interface, ping will use the bonded tunnel interface.

The address of the tunnel peer can be shown with ifconfig tun<bond ID>. Pinging this address shows if there is connectivity between the bonder and aggregator.

ps aux | grep tunnel

Shows tunnel processes and the arguments they were started with.

reboot

Reboots the system.

bondlog [node|bridge|tunnel]

View logging information from the bonding, tunnel, or bridge applications.

journalctl /sbin/udhcpc

Shows logging information from bonder DHCP clients.

journalctl /usr/sbin/openvpn

Shows logging information from node OpenVPN clients.

journalctl -u bondingadmin-uwsgi

Shows logging information from bondingadmin applications.

journalctl -u aggfail

Shows logging information from the aggregator failover monitor on the management server.

journalctl -u huey

Shows logging information from huey, the application that pushes configuration updates to bonders and performs periodic tasks.

journalctl /usr/sbin/openvpn

Shows logging information from the management OpenVPN server.

traceroute -s <source IP address> <target IP address or hostname>

Shows the route packets take between the source and target IP addresses. Used to troubleshoot routing problems.

wget <URL> -O /dev/null or wget <URL> -O /dev/null –bind-address=<IP address>

Downloads a file over HTTP for simple speed tests. –bind-address makes wget use the specified IP address, as with ping except it accepts only an IP address, not an interface. Omit –bind-address to test bonded speeds. -O /dev/null sends the file to nowhere-land instead of saving it to disk.