netplanによるubuntu Server 20のNW設定

PC

netplanって何?

英語に抵抗なければ、公式サイト[英語]で簡潔に解説されています。

要は、Linuxのネットワーク設定を簡単にできるツール
systemd-networkdとNetwork Managerへの設定を代行してくれるフロントエンドプログラムと考えて良さそう。

どんな作業が必要か

以下の作業をします。

  1. netplanの設定ファイルを修正
  2. netplan aply(もしくはtry)で反映

設定ファイルはYAML形式で記述します。

設定ファイルの在り処

以下の場所に配置可能ですが、基本的には/etc/netplan/をで良いと思います。

  • /run/netplan/*.yaml
  • /etc/netplan/*.yaml
  • /lib/netplan/*.yaml

FAQのHierarchy of configuration filesにある通り、どのディレクトリにあるかに関わらず、ファイル名のアルファベット順で設定が適用・上書きされるようです。

初期状態だと/etc/netplan/00-installer-config.yamlがあります。
テスト環境とかなら、これを修正しても良さそうですが、01-…など新たにファイルを作ってもよいでしょう。

基本的な設定ファイルの書き方

固定のIPv4を設定する場合に最低限必要なのは、

  1. IPアドレス
  2. デフォルトゲートウェイ
  3. DNSサーバー

の3つです。

以下のように書きます。

ethernets

ethernetsの下段に、設定ファイル全体を通して一意なIDを付けます(この場合は、ens33)。

addresses

addressesの箇所は

addresses: [IPアドレス]

という書き方をしても大丈夫です。
addressesと複数形なので、配列で記述します。
(配列は行頭に”-” (ハイフン)を置くか、[ ]で囲みカンマ区切りにする)

gateway4

gateway4は、デフォルトゲートウェイのIP。

nameservers

nameserversの下のaddressesに、配列の形式でDNSサーバーのアドレスを記述します。

また、nameserversの配下(addressesと同階層)に、searchの項目を入れることもできます(これも配列で記述する)。

searchは検索ドメインのこと。
例えばsearchに

nameservers:
  search: [mat0401.info]

と設定したします。
で、URLに「profile」とだけ入れると、「profile.mat0401.info」というURLに自動的に辿り着きます。
要するに「ドメイン省略時のデフォルト値」を設定するもの。

設定反映の方法

即時反映

即時反映させる場合は、以下のコマンドで反映します。

$ sudo netplan apply

エラーがある場合、エラーメッセージが出ます。

応答がない場合に自動で設定を戻す方法

もしIPアドレスやDefault Gatewayの設定に失敗してしまうと厄介なので、一定時間内にEnterが押されないと自動的に設定を戻す、ということも可能です。
その場合、以下のようにします。

$ sudo netplan try --timeout [秒数]

待ち時間のデフォルトは120秒です。

ちなみに、ubuntuの公式マニュアルではtimeoutのハイフンが1つになってますが、実際は2つ必要ですね…(マニュアル間違ってる)。

 

以上です。

 

参考サイト
Netplan 公式[英語] (netplanの詳細はここから)
ubuntu – netplan apply [英語]
ubuntu – netplan try [英語]