Ubuntu 22.04では、netplanはゲートウェイへのルートを実装しません。

Ubuntu 22.04では、netplanはゲートウェイへのルートを実装しません。

些細なことかもしれませんが、netplan でデフォルト ゲートウェイへの適切なルートを設定できないようです。サーバーがインターネットに接続できるようにするには、「sudo route add default gw [...]」を使用して手動で設定する必要があります。

これは私の現在のネットプラン設定です (/etc/netplan/00-installer-config.yaml 内)。


network:
  version: 2
  renderer: networkd  
  ethernets:
    eno1:
      dhcp4: no
    eno2:
      dhcp4: no
    enp33s0f0:
      dhcp4: no
    enp33s0f1:
      dhcp4: no
    ens1f0:
      addresses:
        - [xxx].[yy].[zz].124/29
      routes:
        - to: default
          via: [xxx].[yy].[zz].121
      nameservers:
        addresses: [redacted]
      dhcp4: no
      dhcp6: no
    ens1f1:
      dhcp4: no


これにより、IP 番号が正しく設定され、近隣のサーバーから接続できるようになります。ただし、「route -n」では次の内容のみが表示されます。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
[xxx].[yy].[zz].120   0.0.0.0         255.255.255.248 U     0      0        0 ens1f0

...つまり、実際のゲートウェイへのルートはありません。次のように、「route」コマンドを使用して手動で設定する必要があります。

sudo route add default gw [xxx].[yy].[zz].121 ens1f0

... DNS を含め、すべて正常ですが、再起動するとこの状態は維持されません。何が間違っているのか、何かお分かりですか? 「on-link: true」設定を使用してみましたが、これも機能しませんでした。

ご協力やご意見をいただければ幸いです。

答え1

完全にパッチを適用した Ubuntu 22.04 サーバーで正確な構成ファイルをテストし、インターフェース名と IP アドレスのみを調整したところ、完璧に動作しました。

おそらく愚かな質問ですが、構成を変更した後に「netplan apply」を実行しましたか?

答え2

コメントするにはポイントが足りません。私も同じ問題を抱えていました。netplan か ubuntu システムの問題だと思っていましたが、Yaml 定義でゲートウェイが 192.168.1.1 ではなく 192.68.1.1 と入力ミスしていたことが判明しました。/run/systemd/network/10-netplan-ens8.network を確認するまでわかりませんでした。

答え3

Ubunutu 22.04 でもまったく同じ問題が発生しています。本当にイライラします。何かに刺激されたバグのような気がします。

関連情報