O kernel não lê nenhum arquivo de configuração. Como regra geral, os kernels evitam acessar o sistema de arquivos; existem algumas exceções e variações, mas principalmente, o kernel lança um programa no local /sbin/init
quando é inicializado, e os únicos acessam sistemas de arquivos em nome dos processos de usuário.
Os arquivos de configuração de rede (como outros tipos de arquivos de configuração) são lidos pelos aplicativos. Para os arquivos de configuração de rede, esses aplicativos são pacotes de scripts e binários acompanhantes que lêem o arquivo e aplicam a configuração fazendo chamadas de sistema . Para configuração de rede no Linux, as chamadas do sistema são principalmente ioctl
chama soquetes (você não precisa entender isso).
Ao longo da história do Linux (e Unix antes dele), algumas configurações tornaram-se padrão, porque todos concordaram em como fazê-lo. Este é basicamente o caso (embora não universal) para usuários ( /etc/passwd
, NSSwitch ) e sistemas de arquivos ( fstab
) . Por outro lado, a configuração da rede permaneceu bastante diversificada. Distribuições derivadas da Red Hat mantêm-na em /etc/sysconfig/network
; distribuições derivadas do Debian mantêm em /etc/network/interfaces
.
Indo com o Debian como um exemplo, /etc/network/interfaces
é analisado pelo % O programaifup
, que é invocado a partir de /etc/init.d/networking
, o script de inicialização encarregado de configurar a rede, ele próprio invocado por init
.