Linux

如何刪除所有預設網關

  • January 15, 2021

我正在執行定制建構的 Linux 機器,因此並非所有 Linux 命令都可用

我執行與網路相關的命令,所以我需要在執行命令之前 設置一個預設網關,然後立即刪除該網關。

為此,我在一行中執行所有命令:

/sbin/route add default gw 10.10.10.10;my command;/sbin/route del default gw 10.10.10.10;

問題是,由於某種原因,我曾經在同一台機器上發現了 2 個預設網關,這導致我的所有命令都失敗了,因為即使我在執行測試之前設置了預設網關,它仍然一團糟,無法執行我的測試。

那麼有沒有辦法在一個命令中刪除所有預設網關?我有大量的機器正在增加,在每台機器上都植入一個腳本是不切實際的。我需要一個簡單的命令,如下所示:

/sbin/route del all default;set my default gw;mycommand;/sbin/route del all default;

到目前為止,我發現的只是一個刪除預設網關的命令,並非所有這些 /sbin/route del default對我都不起作用。

/sbin/route幫助顯示以下內容

/sbin/route --help

Usage: route [{add|del|delete}]

Edit the kernel's routing tables

Options:
       -n      Don't resolve names
       -e      Display other/more information
       -A inet Select address family

如果你使用ip而不是route,你可以簡單地執行:

ip route del 0/0

我相信它會擷取所有預設路由。

使用刪除所有預設網關ip

ip route flush 0/0

引用自:https://unix.stackexchange.com/questions/59033