Como você configura o MTU para todos os adaptadores de rede através de um script?

5

NOTA: Isso é para o RHEL / centOS.

Atualmente, minha maneira de configurar a MTU é via GUI usando system-config-network e definindo a MTU para 4096. Eu gostaria que um script não interativo fizesse isso.

Como você configura o MTU para todos os adaptadores de rede por meio de um script?

ATUALIZAÇÃO:

Alterar o MTU para um adaptador de rede específico usando system-config-network resultará, na verdade, em uma alteração persistente na configuração do adaptador. Preciso que o script também faça alterações persistentes.

    
por Trevor Boyd Smith 08.10.2012 / 16:47

2 respostas

5

Você não pode defini-lo globalmente para todos os dispositivos em um comando. Você pode examinar os dispositivos disponíveis e configurá-los individualmente.

Você pode usar a ferramenta ip do pacote iproute ; sua sintaxe é muito mais regular e expressiva do que a da ferramenta ifconfig . Exemplo de linha de comando para definir

ip link set mtu 4096 dev eth0

Você pode encontrar dispositivos disponíveis com

ip link list

e examine os individuais

ip link show dev eth0

Isso deve ser o suficiente para você começar.

    
por 08.10.2012 / 17:09
3

O seguinte script sed primeiro comenta qualquer configuração de MTU existente e, em seguida, acrescenta uma nova configuração de MTU de 4096 como a última linha do arquivo cfg para cada NIC.

sed -i -e 's/^MTU=/#&/' -e '$aMTU=4096' /etc/sysconfig/network-scripts/ifcfg-eth*

Isso faz as alterações persistentes nos arquivos de configuração, mas não ativa as alterações.

Você precisará executar service network restart para ativar a alteração ... ou se quiser apenas alterar a MTU sem reiniciar os serviços de rede, algo como o seguinte fará o trabalho:

awk -F: '/eth/ {print $1}' /proc/net/dev | xargs -r -i{} ifconfig {} mtu 4096

ou usando ip em vez de ifconfig , como na resposta da itsbruce:

ip link list | awk -F: '/eth[0-9]/ {print $2}' | xargs -r -n 1 ip link set mtu 4096 dev
    
por 08.10.2012 / 23:47