Как удалить все шлюзы по умолчанию

В то время как существуют ответы, которые делают точное действие, которое Вы хотите, более стандартный метод для такой цели состоит в том, чтобы создать символьную ссылку:

ln -s ~/web/www/project proj   #use full path to dir!

Затем Вы могли cd к каталогу с помощью имени proj:

cd proj

Этот метод более гибок, потому что Вы могли получить доступ к файлам с помощью краткого названия без cd:

ls proj/   #note the endslash!
vim proj/file.x
13
05.09.2016, 04:22
4 ответа

Все ответы являются большими, но я разрешил эту проблему с помощью другого подхода, я использовал команду для добавления только одного шлюза по умолчанию, но сбоя, если уже существует один. И таким образом в конечном счете удалите неправильный шлюз в конце команды. Это должно работать над вторым разом isa.

ip route add default via my-gateway ip route del default

2
27.01.2020, 19:52

Если Вы используете ip вместо route, Вы могли просто работать:

ip route del 0/0

Я полагаю, что ловит все маршруты по умолчанию.

17
27.01.2020, 19:52
  • 1
    , но это все еще удаляет только один шлюз по умолчанию, не все. –  Muhammad Gelbana 20.12.2012, 21:48
  • 2
    Затем, возможно, необходимо выполнить итерации через все маршруты по умолчанию и удалить их, вместо того, чтобы предположить, что первые удаляют, удаляет всех их. Это кажется, что Ваш код повреждается так или иначе и добавляет больше чем один маршрут по умолчанию. Это не нормальное обстоятельство. –  jsbillings 20.12.2012, 21:50
  • 3
    я соглашаюсь, что мой код повреждается в какой-то момент, но может быть, я могу решить это быстро путем фиксации вещи GW вместо того, чтобы тратить впустую много времени, которое я не имею. Большое спасибо за Вашу справку. –  Muhammad Gelbana 20.12.2012, 21:54
  • 4
    Это - современный Linux только. "блоб" –  jordanm 20.12.2012, 22:19

Если Ваш код порывает с несколькими шлюзами по умолчанию, необходимо, вероятно, также посмотреть в нескольких IP-адресах для каждого устройства.

Когда Вы уже получили ответ, вот другой подход, поскольку Вы никогда не должны изменять конфигурацию своей системы просто, потому что Вы хотите выполнять/тестировать сценарий. Как насчет того, чтобы использовать сетевые пространства имен вместо этого. Для краткого введения, как добавить, виртуальные устройства к Вашему NS (пространство имен) взглянули на http://code.google.com/p/coreemu/wiki/Namespaces.

Создать пространство имен, названное тестом и выполнить команду под этим пространством имен, просто выполненным

ip netns add test
ip netns exec test COMMAND

где КОМАНДА может быть, например, Вашей оболочкой или просто сценарием сервера.

2
27.01.2020, 19:52

Чтобы удалить все шлюзы по умолчанию, используя ip

ip route flush 0/0
4
27.01.2020, 19:52

Теги

Похожие вопросы