2018年7月12日木曜日

Ubuntu16.04 の MTU を設定する

概要

Ubuntu 16.04 で MTU の値を変更する方法を紹介します
MTU は一度に送信するパケットのサイズを指定するネットワークのオプションです
大抵はデフォルトの 1500 で問題ないのですが環境によっては 1500 だと大きすぎる場合があります

環境

  • Ubuntu 16.04

一時的に変更

  • ip link set enp0s8 mtu 1400

恒久的に変更

  • vim /etc/network/interfaces
auto enp0s8
iface enp0s8 inet static
address 172.28.128.4
netmask 255.255.255.0
mtu 9999
  • ifdown enp0s8
  • ifup enp0s8

dhcp の場合は DHCP サーバから mtu の値をもらっているケースがあります
その場合は mtu の値を記載しても DHCP からの情報を信頼するので値は変更されません
なので、mtu を /etc/network/interfaces で変更する場合は static にする必要があります

もしくは

DHCP で MTU を恒久的に変更したい場合はプロファイル機能などを使いましょう
.bash_profile.bash_rc などに MTU を変更するコマンド (ip link set enp0s8 mtu 1400) を記載しておけばログイン時に MTU を設定することができます

おまけ: MTU の最適値を発見する方法

  • ping -c 1 -M do -s 1472 192.168.100.100

192.168.100.100 というサーバに対して最適な MTU を見つけるコマンドです
-s で値を変更してパケットがロスしない最大値が MTU の最大値になります
ちなみに +28 を考慮しなければならないので最大は 1472 になります

参考サイト

0 件のコメント:

コメントを投稿