nmcliを使用して追加された静的パスは表示されません。

nmcliを使用して追加された静的パスは表示されません。
root@Andromeda:~# nmcli con show "Wired connection 1" | grep -i routes
ipv4.routes:                            --

それから...

root@Andromeda:~# nmcli con modify "Wired connection 1" +ipv4.routes "188.88.88.88/23 172.16.2.1"
root@Andromeda:~# nmcli connection up "Wired connection 1" 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
root@Andromeda:~# nmcli con show "Wired connection 1" | grep -i routes
ipv4.routes:                            { ip = 188.88.88.88/23, nh = 172.16.2.1 }

しかし...

root@Andromeda:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         speedport-entry 0.0.0.0         UG    100    0        0 enp3s0
10.10.10.0      0.0.0.0         255.255.255.240 U     0      0        0 br-f8186d7831df
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
root@Andromeda:~# ip route
default via 192.168.1.1 dev enp3s0 proto dhcp metric 100 
10.10.10.0/28 dev br-f8186d7831df proto kernel scope link src 10.10.10.1 linkdown 
169.254.0.0/16 dev enp3s0 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.6 metric 100 

ip routeorコマンドを使用したときに存在するように見える特定のパスが表示されないのはなぜですか?routenmcli

答え1

まずnmcli connection ...、手動パスが接続プロファイルにあることを示します。構成ファイルは、ネットワークデバイスを構成するために使用される一連の設定です。ただし、これはデバイス自体の構成ではありません。現在設定されているパスを表示するか、またはnmcli -f all device show enp3s0正しいip route showです。両方のコマンドはまったく同じことを行いません。最初のコマンドはNetworkManagerに現在の設定が何であるかを尋ね、2番目のコマンドはnetlink APIを介してカーネルに問い合わせます。もちろん、両側の司令官が提供する情報は一貫しているべきです。

とにかく、設定ファイルでパスを設定して有効にします。デバイスに表示されると予想されるパスは正しいです。

172.16.2.1ゲートウェイに直接アクセスできないため、存在しません。カーネルはこのパスを追加することを許可せず、NetworkManagerのログファイルにパスを追加できなかったという警告が表示されることがあります。また、ip route addこのパスを直接追加することもできません。

潜在的な解決策は、ルーティングを次のように設定することですonlink(最近のカーネルとNetworkManagerでのみサポートされています)。より良い解決策は、ゲートウェイ(+ipv4.routes 172.16.2.1/32)に直接ルートを追加することです。これがネットワークの正しい構成であれば。

関連情報