ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 18.04でMTUを設定するには

現行のDebian StableであるDebian 9 (stretch)やUbuntu Server 17.04までのバージョンは、次のサイトのようにinterfacesの設定で、インターフェイスをstaticにしてIPアドレスとともにMTUを指定してifdown,ifupするか、再起動してしまえば設定した通りのMTUがインターフェイスに設定されました。

hawksnowlog.blogspot.com

ところがUbuntu 17.10以降はnetplan.ioに移行しており、Ubuntu Serverについては「networkd+netplan.io」の組み合わせで組み込まれています。IPアドレスの設定は変わったものの、まあいつもの感覚でインターフェイスにMTUを設定してsudo netplan applyとかやったらMTUを設定変更できるかなと思ったらできなくて、「それでは再起動したら反映されるかな」と思ったのですがそれもダメで、調べたら次のようなIssueにぶち当たりました。

Bug #1724895 “MTU not applied on private ethernet interfaces” : Bugs : netplan

物理デバイスにMTUを設定する場合は、次のようにMACアドレスを記述してそれにマッチした場合はこのMTUを設定する...のように書くと良いことがわかりました。こんなのわからないよ。

...
        enp94s0f0:
            match:
                macaddress: xx:xx:xx:xx:xx:xx
            addresses:
                - 10.5.0.13/24
            mtu: 9000
            dhcp4: false
            optional: true

ちなみにVLANとかBondingポートにMTUを設定する場合は、次のような感じで特にMACアドレスを何することなく設定できるようです。一貫性がないな。

askubuntu.com

またひとつ、netplan.ioが嫌いになりました。マニュアルインストールはせずに、クラウドやコンテナでUbuntuを使う場合はハマらないところだとは思うけど、なんだかなあという仕様ですね。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。