Solaris 10で静的パスを削除する

Solaris 10で静的パスを削除する

削除するパスは次のとおりです。

10.250.0.0           10.250.0.37          UG        1          0

削除するために次のコマンドを実行しましたが、失敗しました。

bash-3.2# route delete 10.250.0.0 -netmask 255.255.255.0 10.250.0.37
delete net 10.250.0.0: gateway 10.250.0.37: not in table

失敗の理由は何でしたか?

答え1

Solarisrouteコマンドの場合、削除および追加のサブコマンドの構文は次のとおりです。

  route [ -fnvq ] cmd destination gateway [metric/netmask]

したがって、次の方法でより多くの成功を収めることができます。

route delete 10.250.0.0 10.250.0.37 -netmask 255.255.255.0

または永久に削除してください(@Alexandre Alvesがコメントしたように、これが永続パスであると仮定)。

route -p delete 10.250.0.0 10.250.0.37 -netmask 255.255.255.0

(このクラスA IPアドレスのネットマスクが正しいことを確認していますか?)

答え2

-pパスシーケンスの表示を忘れないでください。それが持続する理由です。

したがって、これを行う代わりに:

route delete 10.250.0.0 10.250.0.37 -netmask 255.255.255.0

以下を行う必要があります。

route -p delete 10.250.0.0 10.250.0.37 -netmask 255.255.255.0

削除時にこのフラグを使用しないと、再-p起動後もパスが持続することになります(パスが最初から続く場合)。

このnetstat -rコマンドを使用すると、いつでもすべてのパスを表示でき、このroute -pコマンドを使用すると永続パスを表示できます。

答え3

これは非常にトリッキーで、今日Solaris 10でルーティングを特別に削除する必要があることに気づきました。

まず、コマンドを実行する必要があります

route -p show

これには、ホストパスまたはセグメントパスへのパスを生成するために使用されるコマンドとともに、システムに追加されたすべての永続パスが一覧表示されます。そうしないと、削除コマンドを実行した後に「ファイルにありません」というメッセージが表示されることがあります。

次の例で説明します。

~# route -p show

 - persistent: route add host 10.47.118.111 10.47.89.1
 - persistent: route add 10.48.145.0/24 10.47.89.18
 - persistent: route add 10.50.21.0 10.47.89.32 -netmask 255.255.255.0

ここでは、パスを追加する3つの方法が使用されていることがわかります。

最初のパスを削除するには、次のものを使用する必要があります。

~# route -p delete host 10.47.118.111 10.47.89.1

代わりに次のコマンドを実行すると:

# route -p delete 10.47.118.111/24 10.47.89.1

正しいネットマスクを使用していると仮定すると、このコマンドから永続パスを削除することはできません。これは正しいコマンドであるように見え、「ファイルにはありません」というメッセージが表示されても同じです。これは通常Red Hatスタイルで柔軟であるため、どの方法でもパスを追加および削除できますが、Solaris 10ではそうではありません。他のバージョンに対して、または修正があるかどうかはわかりません。

同様に、2番目と3番目の永続パスを削除するには、正確に次のものを使用する必要があります。

~# route -p delete 10.48.145.0/24 10.47.89.18
~# route -p delete 10.50.21.0 10.47.89.32 -netmask 255.255.255.0

何が起こっているのかわからないときに役立つことを願っています:)

関連情報