廃止予定の Gateway4 フィールドを防ぐために、異常な Netplan 構成を変換します。

廃止予定の Gateway4 フィールドを防ぐために、異常な Netplan 構成を変換します。

01-netcfg.yaml以前に動作していたはずの文書の既存のファイルがあります。

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: []212.80.140.1/32]
      gateway4: 62.210.0.1
      nameservers:
        addresses: [62.210.16.6, 62.210.16.7]
      routes:
      - to: 62.210.0.1/32
        via: 212.80.140.1
        scope: link

この構成は、ハイパーバイザー(Proxmox PVE)内の仮想マシンのセカンダリまたはフェイルオーバーIP4用です。スケールウェイネットワーク

Ubuntu 22.04のNetplanでは、Gateway4フィールドは使用できなくなりました。netplan apply次のエラーにより実行が失敗します。

gateway4 has been deprecated, use default routes instead

routesそのフィールドを使用するには構文を更新する必要があると思いますが、gateway4構文を正しくインポートできません。デフォルトゲートウェイはベースアドレスのサブネット外にあるため、追加の設定が必要です。たぶんonlink、ソースルーティング、ルーティングテーブルなどがあります。わかりません。

http://people.ubuntu.com/~slyon/netplan-docs/examples/#reaching-a-directly-connected-gateway

誰もが与えられた設定をroutes代わりに使用するように変換できますかgateway4

答え1

on-link: trueデフォルトパスに "onlink"フラグ()を設定するだけで十分です。

ネットワーキング ネットプラン(頑張ってください)
[ルーティング] 
Gateway=62.210.0.1
GatewayOnLink=yes
パス:
- 経由:62.210.0.1
リンク:true

ローカル/ 32パスを追加するのは代替手段です(通常、1が両方を実行する必要はありません)。あなたの例は、これを行うBSD方式(独自のIPアドレスを介したルーティング)を示していますが、Linuxでパスを定義する方がより伝統的です。いいえゲートウェイ(以前のネットワークバージョンでは間違った範囲を指定するだけです。)

ネットワーキング netplan(構文を推測してみてください)
[パス]
目的地=62.210.0.1/32
範囲=リンク

[パス]
#宛先=0.0.0.0/0
ゲートウェイ=62.210.0.1
パス: 
- 受信: 62.210.0.1
範囲: リンク
- 経由: 62.210.0.1

1(見つかった文書は少し古くなっています。カーネル4.17以降、「onlink」フラグはIPv6でも機能します。古いカーネルはフラグを無視するため、別の/ 128パスのみが必要です。)

関連情報