Pick the default network interface

Use ifmetric to change the metric value of both interfaces. Increasing eth1 above eth0 will cause eth0 to be used for all connections. Solves the problem entirely.


You should disable the second, slow interface and then add the secondary IP on to the primary. To do this edit your interfaces file with:

sudo vi /etc/network/interfaces

Once you've accessed the network file you'll probably be presented with something like the following:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

auto eth1
iface eth0 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

Reconfigure it to look like this:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

iface eth0:1 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0

This will assign both IPs to the first NIC. Once you've done this save the file and run:

/etc/init.d/networking restart

And the changes will be committed.

<-- EDIT -->

In my experience if it's on the same Virtual Switch it shouldn't matter, though hosted environments may lock it down further. It may be worth a try though, if it doesn't work you can ask your hosting company to change the virtual interface to something more capable.

<-- EDIT -->

Also, if your primary IP isn't currently serving DNS then why not use it for DNS too? You can host several different services on one IP as they use different ports.