Linuxルーティングテーブルからルートを削除する方法


42

これは思ったより難しいことがわかりました。削除したいルートは「!」です ルートを拒否しましたが、適切な「ルートデル」コマンドを作成してそれを実行できないようです。

これがルーティングテーブルです...

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
67.40.227.206   *               255.255.255.255 UH    0      0        0 ppp0
192.168.46.79   *               255.255.255.255 UH    0      0        0 ipsec0
192.168.46.79   -               255.255.255.255 !H    2      -        0 -
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.0.0     U     0      0        0 ipsec0
10.1.0.0        -               255.255.0.0     !     2      -        0 -
default         *               0.0.0.0         U     3      0        0 ppp0
default         *               0.0.0.0         U     4      0        0 ppp0

192.168.46.79と1​​0.1.0.0の2つのエントリがあります。これらは、私が使用している小さなLinuxベースのルーターによって自動生成されます。シェル自体からIPSECトンネルにpingを実行できますが、LANからのトラフィックは2番目のルート(拒否された「!」または「!H」ルート)になります。理由はわかりません。


トラフィックが「2番目のルート」をとると言うときに、より具体的に説明できますか?
ゾレダチェ

192.168.46.79の2つのテーブルエントリに注目してください。ルーターシェルで、トンネルのその側にpingを実行すると機能します。LAN側から、トラフィックは「2番目の192.168.46.79」エントリに進み、拒否/ドロップされます。

また、SG560が「デフォルト」およびIPSEC宛先に対して2つのテーブルエントリを生成する理由も理解できません。私は当惑しています。

回答:


53

route -n取得するコマンドで

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         160.98.123.1    0.0.0.0         UG    600    0        0 wlan0

sudo route del -net 0.0.0.0 gw 192.168.178.1 netmask 0.0.0.0 dev eth0

あなたはそれぞれ上からすべてのパラメータを取得します


1
再起動後、再び来ます。完全に削除するにはどうすればよいですか?
シャムカッカ

1
@shyamkkhadkaそれはそれが作成されたプロセスに依存します...それを分析するためにあなたの特定のケースで質問を投稿することをお勧めします。取得したルートと削除するルートの詳細を入力します。ほとんどの場合、dhcpサーバーとクライアントがルートを作成します
Philippe Gachoud

15

!フラグのあるルートのタイプは、到達不能または禁止のいずれかです。 route、net-toolsからの古代のユーティリティであり、2つを区別しません。iproute2を使用します。

これらのルートを削除するnet-toolsの方法はroute del、その上で使用することです。ただし、net-toolsは、拒否されたルートと他のルートを区別する方法を提供しません(デバイスを指定しないと到達不能ルートが削除される可能性がありますが、dev引数はオプションであるため)。

iproute2を使用すると、次のように実行できます。

ip route del unreachable 10.1.0.0/24
ip route del unreachable 192.168.46.79/32

到達不能ではないかもしれませんが、禁止されています。ip route引数なしで使用して、どちらを決定します。


8

これだと思う: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

私は100%確実ではありません。しかし、デフォルトルートが2つあるので、他に何かおかしなことが起こっていると思います。


2
+1:2つのデフォルトルートは、何かが誤って設定されている兆候です(実際に異なるゲートウェイを指し、異なるメトリックを持っている場合を除く)。
wolfgangsz

-1

/etc/network/interfaces.d/の下に「デバイス構成ファイル」があるかどうかを確認してください->私はeht0を持っていました!! 本当に、それはeth0ではなくeht0でした!


質問がどのように関連しているかは現時点では明らかではないため、回答を多少拡張することをお勧めします。
ワンブル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.