Como o questionador fornece o conteúdo de seu /etc/network/interfaces inferi que ele está usando o ifup para configurar interfaces. Mas como ele pode estar usando o NetworkManager, também discutirei isso.
Se você estiver usando o ifup, as configurações de DNS entrarão em /etc/network/interfaces . Para cada interface, você adiciona as opções dns-* apropriadas para o (s) servidor (es) de nomes disponível (s) nessa interface. Por exemplo, se um servidor de nomes no endereço 1.2.3.4 estiver disponível na interface eth0, adicione dns-nameservers 1.2.3.4 à sub-rotina iface eth0 .
Se você estiver usando o NetworkManager, as configurações serão inseridas no Connection Editor (indicador de rede | Editar conexões ...) na guia Configurações do IPv4.
Fazer /etc/init.d/networking restart para reconfigurar as interfaces é obsoleto. Se você estiver usando ifup , então primeiro ifdown de cada interface de rede ativa, então ifup de cada interface. Se você estiver usando o NetworkManager, desative primeiro a rede usando o indicador (parte superior da área de trabalho); abra um terminal e execute
sudo restart network-manager
e, em seguida, ativar a rede usando o indicador.
Ou você pode simplesmente reiniciar.
Em relação ao fato de que /etc/init.d/networking restart resultou em
RTNETLINK answers: File exists
Failed to bring up eth0
Isso significa que o ifupdown acha que eth0 já está ativo. Use ifdown --force eth0 para fazer com que ifupdown pare de acreditar que já configurou a interface.
Com relação à mensagem "obsoleta", esta mensagem não é mais impressa no Ubuntu 12.10, mas você deve notar que os initscripts estão "saindo". Para reiniciar um serviço foo , use service foo restart ou restart foo . Note também que, se você quiser reconfigurar suas interfaces, é melhor configurá-las uma a uma do que confiar em reiniciar a "rede".