lesson-network() {
cat << EOF
	Knowing when to zoom in to examine a problem closely and
	when to pull out to consider whether what you are seeing
	is merely a symptom of a greater problem is a real art.

	Here, you need to pull out and ask what else does not
	work. A quick review of a handful of networking
	protocols will show that no networking service works (or
	almost none). Therefore, you should ask questions about
	networking in general. Some initial networking items to
	check include:

		o  Device activation

		o  Network configuration, including:
			-  IP configuration
			-  Default gateway
								                		o  Hostname resolution

	A number of methods exist to check each of these out.
	Some are listed here:

		  Device activation:	ip link

		   IP configuration:	ip addr

		      Default route:	ip route
					ping <default_route>

		Hostname resolution:	host instructor.remote.test
					ping <name_server>

	The device, you will note, is activated, but examining
	the IP address, broadcast address, and default route, you
	will note that the numbers are not as expected.  Fix
	these and retest the various network services.

	Running through these tests, if you are patient, you will
	see that the ping to the default route works, which means
	that networking is working at a fundamental level, but
	the attempt to resolve the name instructor.remote.test
	fails with the message:

		;; connection timed out; no servers could be reached

	Something is wrong with the resolver!  The resolver is
	configured in /etc/resolv.conf.  Checking this file, we
	see the following contents:

		domain example.com
		nameserver 192.168.10.254

	You might immediately see the problem.  If not, ping the
	resolver, cutting and pasting (so that you do not
	accidentally "fix" the problem in the process):

		ping 192.168.10.254

	This ping will fail.  Now, examine this IP address
	carefully.  Note that the third octet has a 10 in it,
	instead of a 0.  Fix this, rerun the ping, and start
	testing out other aspects of networking.  You will find
	that the problem is solved.

	Lessons:

		o  Know how to test various aspects of
		   networking.

		o  Continue to develop your sense of when to look
		   deep into the configuration of a service and
		   when to look more broadly at what works and
		   what does not work on the system.

		o  Some problems are hard to detect by the eye.
		   Know how to (and when to) use other tools,
		   such as cut-and-paste and shell scripts to do
		   work for you.

EOF
}
