スクリプトを介してすべてのネットワークアダプタに対してMTUを設定するには?

スクリプトを介してすべてのネットワークアダプタに対してMTUを設定するには?

注:これはRHEL / centOSに適用されます。

現在のMTUを設定する方法は、GUIを使用してsystem-config-network4096に設定することです。代わりに非対話型スクリプトが欲しい。

スクリプトを介してすべてのネットワークアダプタに対してMTUを設定するには?

修正する:

特定のネットワークアダプタのMTUを変更すると、system-config-network実際にはアダプタ設定が常に変更されます。継続的な変更を行うにはスクリプトも必要です。

答え1

1 つのコマンドですべてのデバイスのグローバル設定を指定することはできません。利用可能な機器を確認し、個別に設定できます。

あなたはそれを使用することができますアイピーツール:IPルーティングパッケージの構文が良いです。設定されている場合ツール。設定するコマンドラインの例

ip link set mtu 4096 dev eth0

利用可能なデバイスを見つけることができます。

ip link list

そして個人別に確認してください

ip link show dev eth0

始めるのに十分でしょう。

答え2

次のsedスクリプトは最初に既存のMTU設定をコメントアウトし、新しいMTU設定4096を各NICのcfgファイルの最後の行に追加します。

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

関連情報