注:これはRHEL/centOS用です。
現在、MTUを構成する私の方法は、GUIでsystem-config-network
を使用し、MTUを4096に設定することです。代わりに、非対話型スクリプトでこれを実行したいと考えています。
スクリプトを使用して、すべてのネットワークアダプターのMTUをどのように構成しますか?
更新:
system-config-network
を使用して特定のネットワークアダプターのMTUを変更すると、実際にはアダプターの構成が永続的に変更されます。永続的な変更を行うためのスクリプトも必要です。
1つのコマンドですべてのデバイスに対してグローバルに設定することはできません。使用可能なデバイスを調べて、個別に設定できます。
iprouteパッケージのipツールを使用できます。その構文はifconfigツールの構文よりもはるかに規則的で表現力があります。設定するコマンドラインの例
ip link set mtu 4096 dev eth0
利用可能なデバイスを見つけることができます
ip link list
個々のものを調べます
ip link show dev eth0
開始するにはこれで十分です。
次のsedスクリプトは、最初に既存のMTU設定をコメントアウトし、次に各NICのcfgファイルの最後の行として新しいMTU設定4096を追加します。
sed -i -e 's/^MTU=/#&/' -e '$aMTU=4096' /etc/sysconfig/network-scripts/ifcfg-eth*
これにより、構成ファイルが永続的に変更されますが、変更はアクティブ化されません。
service network restart
を実行して変更を有効にする必要があります。または、ネットワークサービスを再起動せずにMTUを変更するだけの場合は、次のようなものが機能します。
awk -F: '/eth/ {print $1}' /proc/net/dev | xargs -r -i{} ifconfig {} mtu 4096
または、bruceの回答のように、ip
ではなくifconfig
を使用します。
ip link list | awk -F: '/eth[0-9]/ {print $2}' | xargs -r -n 1 ip link set mtu 4096 dev