次のルーティングテーブルがあります。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.42.129 0.0.0.0 UG 0 0 0 enx6a58445c5d43
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enx6a58445c5d43
192.168.42.0 0.0.0.0 255.255.255.0 U 0 0 0 enx6a58445c5d43
192.168.57.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet1
次のコマンドを使用するとエラーが発生します。
# ip route add 192.168.42.0/24 via 192.168.57.1 dev vboxnet1
RTNETLINK answers: File exists
しかし、net-toolsを使用してもエラーは発生しません。
# route add -net 192.168.42.0/24 gw 192.168.57.1 dev vboxnet1
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.42.129 0.0.0.0 UG 0 0 0 enx6a58445c5d43
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enx6a58445c5d43
192.168.42.0 192.168.57.1 255.255.255.0 UG 0 0 0 vboxnet1 ####add here
192.168.42.0 0.0.0.0 255.255.255.0 U 0 0 0 enx6a58445c5d43
192.168.57.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet1
問題は、iproute2を介して追加する方法です。
答え1
ルーティングテーブルにはネットワークアドレス192.168.42.0/24があります。したがって、次のことを行う必要があります。
ip route replace 192.168.42.0/24 via 192.168.57.1 dev vboxnet1
または
ip route del 192.168.42.0/24
ip route add 192.168.42.0/24 via 192.168.57.1 dev vboxnet1