O Ubuntu, por padrão, usa o software NetworkManager para configuração de rede, que é projetado para ser usado a partir de uma GUI. Existem algumas ferramentas de linha de comando para ele (nmcli, cnetworkmanager), mas sua funcionalidade é muito limitada em comparação com a GUI.
O Debian (e o Ubuntu) tem um sistema de configuração de rede muito básico, separado do NetworkManager, na forma dos comandos /etc/network/iterfaces
e ifup
e ifdown
. No entanto, isso não é muito mais do que atalhos para alguns comandos (como ifconfig
e route
). Eles não parecem ter recursos avançados, como dependências e configuração orientada a eventos. Por exemplo, eles não podem manipular o cabo de rede sendo puxado para dentro ou para fora, para desconfigurar a interface quando o cabo está fora. O sistema /etc/network/interfaces
é documentado pelo Debian, veja link .
Existe algum software (por exemplo, ifplugd) que resolverá isso monitorando o estado da interface de rede e chamando os comandos ifup
ou ifdown
quando o estado da interface é alterado. No entanto, isto ainda está limitado a responder apenas ao estado da interface e não pode ser usado por ex. dependências entre interfaces (exemplo: a VPN só deve iniciar quando a LAN estiver ativa).
Se você precisar de uma configuração mais poderosa, recomendo que experimente este software que estou desenvolvendo, que permite especificar sua configuração de rede em uma linguagem de programação simples, mas muito poderosa: link
Veja também uma pergunta semelhante: Como configurar 'eth0' para tentar novamente 'dhclient' quando desconectado e plugado?