0.0.0.0ゲートウェイのルートを削除できません


8

SolumデモのVagrantボックス接続できるようにルートを設定しようとしています

私のルーティングテーブルには、次のルートが含まれていますが、これに限定されません。

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0
192.168.76.0    192.168.76.2    255.255.255.0   UG    0      0        0 vboxnet0
192.168.76.0    0.0.0.0         255.255.255.0   U     0      0        0 vboxnet0

3つ目のルート(Vagrantボックスの起動時に自動的に生成された)が2つ目のルート(手動で作成された)に干渉していると思われるので、削除しようとしています。

ただし、次のいずれかのコマンドを使用します

$ sudo route del 192.168.76.0 gw 0.0.0.0
$ sudo route del 192.168.76.0

戻り値:

SIOCDELRT: No such process

これは通常route、ルートが見つからないときにポップアップします。

一方、

$ sudo route del 192.168.76.0/24 gw 0.0.0.0
$ sudo route del 192.168.76.0/24

利回り:

route: netmask 000000ff doesn't make sense with host route
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
(rest of usage)

何が悪いのですか?そのルートを削除できない理由はありますか?それが私が設定したものと干渉すると仮定するのは間違っていますか?

(私はUbuntu 14.04以降を使用しています)。


2
頭の上から:をお試しくださいroute del -net 192.168.76.0。そうでない場合は、単一のホストへのルートを削除しようとしていると見なされます。
Jos

どのようにルートを追加しましたか?vboxを使用しているようです。ルーティングがvobx構成の一部である可能性があります。投稿した内容からはわかりません。
パンサー

好奇心から抜け出しましたが、なぜそのルートを設定したのですか?私には、ネットワーク192.168.76.0/24がリンク上にあるようです-ゲートウェイは必要ありません。ただし、リンクした設定手順を確認すると、route add -net 192.168.78.0/24 192.168.76.2よりわかりやすいルートが見つかります。
ネフェンテ2015

2
ところで 2つ以上のルートがホストと一致する場合、最も具体的なものが優先されます。つまり、プレフィックスが最も長いルートが優先されます。静的ホストルートにはプレフィックス/ 32があり、優先されます。次の基準は(通常)ルートがどのように学習されたかに依存します(例:静的またはルーティングプロトコル経由)。オンリンクルートが最も優先順位が高く、次に静的ルートが続き、その後OSPFなどで学習された動的ルートが続きます。
ネフェンテ2015

@Josあなたの答えはほぼ正しいことがわかりました- /24コマンドの最後に追加するだけで動作します。ありがとうございました。回答を投稿する場合、おそらくこの質問を閲覧する人々の利益のために少し精巧にして、私はそれを受け入れます。
Dragomok

回答:


11

ルートテーブルから1つのルートを削除するには、十分なパラメータを指定して、ルートの1つと一意に一致させる必要があります。

(単一のホストではなく)サブネット全体を削除する場合は、-netフラグと、ネットワークアドレスのスコープを示すいくつかの指示netmask(つまり、パラメーター(例:255.255.255.0)または/ 24などの数値)の両方を使用する必要があります。 (つまり、最初の24ビットはネットワーク番号で、残りの8ビットはホストに使用されます)。あなたの場合、両方

sudo route del -net 192.168.76.0/24

そして

sudo route del -net 192.168.76.0 netmask 255.255.255.0

うまくいったでしょう。

(便利な追加をしてくれた@nephenteに感謝)


または、インターフェースを指定します。例dev vboxnet0->sudo route del -net 192.168.76.0 netmask 255.255.255.0 dev vboxnet0
adadion

0

Josによるコメントはほぼ正しいです。

$ sudo route del -net 192.168.76.0/24 ルートを削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.