Valid HTML 4.01 Transitional
Prev: Apache2-mod_auth_kerb Is Dead, Use Mod_auth_gssapi Next: Firefox Freezes due to Compositor
Jim Carter's Bugfixes

Troubleshooting a Network Screwup

James F. Carter

Computer networking has too many moving parts, and misconfiguration of one obscure aspect may muck up others and make the sysop chase his tail for years, as happened to me recently. This is a list, for my future reference, of areas I've had trouble with in the past.

DHCP Daemon Fixed IPs (4+6)

Make sure the DHCP daemon's fixed address table matches the uplink's actual MAC address with its assigned IPv4+6 addresses. On CouchNet the package is kea, the files are /etc/kea/kea-dhcp[46].conf and they are generated from a template file with /etc/hosts and /etc/ethers as input, which therefore have to be kept up to date. (See /etc/kea/ and /home/hostdata/hostdata.db)

It is legal for the same IP to be used on multiple interfaces on the same net (e.g. en0 and rad0), and for the same hostname to have multiple IP addresses on different interfaces on different nets. Or to use aleatory (randomly assigned) addresses. But for troubleshooting it's a whole lot easier if each interface has its own name and fixed IP assigned.

IPv4 address by DHCP

In the NetworkManager configuration, enable DHCP to get the IPv4 address and the default route.

IPv6 address by Router Advertisements or DHCP

In the NetworkManager configuration, enable Router Advertisements (referred to as auto) to get the IPv6 address and the default route. Or DHCP if you aren't using RFC 4862 auto configuration.

Enable IP forwarding (on a router)

On a router (like my laptop), in /etc/sysctl.conf, set net.ipv4.ip_forward = 1 and net.ipv6.conf.all.forwarding = 1 to allow it to forward IPv4+6 traffic between nets.

Run radvd (IPv6 router)

On routers, make sure that radvd (IPv6) is sending out the subnet prefixes and routes, particularly the default route. Execute radvdump on a leaf node and see if the RA can be received and has correct content.

Static Routes for IPv4

On leaf nodes, make sure that IPv4 static routes are correct. CouchNet currently enforces them with net-geom.J . A normal net would have them in /etc/sysconfig/network/routes .

Accept Router Advertisements (IPv6)

In /etc/sysctl.conf, set net.ipv6.conf.all.accept_ra = 2 to enable IPv6 auto configuration (RFC 4862) from router advertisements. Value 0 = disable, 1 = enable if not a router, 2 = enable always.

Accept All Routes (IPv6)

In /etc/sysctl.conf, set net.ipv6.conf.rad0.accept_ra_rt_info_max_plen = 128 to accept routes of any size. Other values: -1 = never accept, 0 = default route only.

Accept RA Default Route (IPv6)

In /etc/sysctl.conf, set net.ipv6.conf.all.accept_ra_defrtr = 1 to get the default route from RA's. On Xena something kept turning this off for br0, en0, rad0.

Turn on (or off) RFC 4862 auto configuration (IPv6)

In /etc/sysctl.conf, set net.ipv6.conf.all.autoconf = 0 to disable actual RFC 4862 addresses (prefix + EUI-64), which won't fit in our 112 bit subnets. Normal nets want this to be on (1), unless the nodes have fixed IPv6 addresses via DHCP.

Prev: Apache2-mod_auth_kerb Is Dead, Use Mod_auth_gssapi Next: Firefox Freezes due to Compositor