web-dev-qa-db-ja.com

ubuntu 18.04netplanを使用した静的ルートの設定

ubuntu18.04でnetplanを使用して静的ルートを設定しようとしています。私の設定は次のとおりです

network:
version: 2
renderer: networkd
ethernets:
    eno1:
        dhcp4: no
        dhcp6: no
        addresses:
            - 192.168.10.20/24
        gateway4: 192.168.10.1
        routes:
        - to: 192.168.9.1/24
          via: 192.168.10.2
        nameservers:
            addresses:
            - 192.168.10.3

ルートが設定されておらず、syslogでこのメッセージが表示されます

eno1: Could not set route: Invalid argument

デバッグ出力は次のとおりです。

root@schoenberg:/etc/netplan# netplan --debug apply
** (generate:2421): DEBUG: 21:04:12.721: Processing input file /etc/netplan/01-netconfig.yaml..
** (generate:2421): DEBUG: 21:04:12.721: starting new processing pass
** (generate:2421): DEBUG: 21:04:12.721: eno1: setting default backend to 1
** (generate:2421): DEBUG: 21:04:12.721: Configuration is valid
** (generate:2421): DEBUG: 21:04:12.721: Generating output files..
** (generate:2421): DEBUG: 21:04:12.721: NetworkManager: definition eno1 is not for us (backend 1)
DEBUG:netplan generated networkd configuration changed, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:eno1 not found in {}
DEBUG:Merged config:
network:
  bonds: {}
  bridges: {}
  ethernets:
    eno1:
      addresses:
      - 192.168.10.20/24
      dhcp4: false
      dhcp6: false
      gateway4: 192.168.10.1
      nameservers:
        addresses:
        - 192.168.10.3
      routes:
      - to: 192.168.9.1/24
        via: 192.168.10.2
  vlans: {}
  wifis: {}

DEBUG:Skipping non-physical interface: lo
DEBUG:Skipping non-physical interface: enp4s0
DEBUG:device eno1 operstate is up, not changing
DEBUG:Skipping non-physical interface: docker0
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for enp4s0
DEBUG:netplan triggering .link rules for eno1
DEBUG:netplan triggering .link rules for docker0
root@schoenberg:/etc/netplan# 
1
alsoeric

192.168.9.1/24はルートの宛先として意味をなさないため、無効な引数エラーが発生します。

目的の宛先が単一のホスト(つまり、192.168.9.1)の場合、ルートはホストルートである必要があります。プレフィックス長/サブネットマスク(/32/255.255.255.255以外)は指定しないでください。

目的の宛先が代わりにネットワークである場合、ルートにはネットワークID /アドレスとプレフィックス長/サブネットマスクを指定する必要があります(例:192.168.9.0/24192.168.9.0/23192.168.146.48/28、...) 。

その理由は、ネットワークルートの場合、宛先のサイズは長さ/マスクで示されます(ネットワークID /アドレスは「開始」する場所を示します)。ホストルートの場合、サイズは常に単一のホストであるため、長さ/マスクはオプションです。

0
Tom Yan