I GOT IT! (I think) Turns out it was indeed an easy fix, although maybe a sneaky one.
Changing eth0 to use dhcp again was ALMOST the answer... but that left me with two bridged interfaces (eth0 and br0) both set to use dhcp.
I updated the interfaces file, changing br0 to static, rebooted, and BOOM! Internet on startup!
/etc/network/interfaces:
Code:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
#iface eth0 inet static
#address #########.18
#netmask 255.255.255.0
#network #########.0
#broadcast #########.255
#gateway #########.1
# Bridged interface for virtual guests
auto br0
iface br0 inet static
#iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
The routing tables now look like this after boot:
Code:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
#########.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 #########.1 0.0.0.0 UG 0 0 0 eth0
And I can now SSH to the server from another machine without having to log in from the console and restart networking first.
So my conclusion, which may or may not be correct (any network gurus that can confirm?), is that it's either bad practice to have an ethernet and its bridged interface both configured for dhcp, or it's bad practice to have any bridged interface (br0, br1, etc.) configured to use dhcp.
I hope this helps some other unfortunate victims of broken network interfaces due to automatic config changes from installing and removing of multiple ethernet cards.
Bookmarks