Как очистить таблицу маршрутизации linux

Как очистить таблицу маршрутизации linux

На моем шлюзе стоит Mandriva Linux 2009. Иногда у нас отключают электричество и роутер проваайдера выключается. Иногда и на моем шлюзе не хватает бесперебойника при отключении электроэнергии — в общем, когда все восстанавливается приходится перестравать таблицу маршрутизации так, как отключении сетевого кабеля от интерфейса, смотрящего в инет вся таблица маршрутов автоматически изменяется. То же самое происходит при выключении шлюза. Почему- так и не разобрался.
Мне скоро идти в отпуск. Никто на предприятии понятия не имеет, как настроить сетевуху и создать — удалить маршрут в таблице маршрутов. Надо писать инструкции, но, боюсь, бесполезно. Думаю единственный выход — написать скрипт, устанавливающий правильные маршруты. Только вот загвоздка — старые маршруты при этом надо бы удалить. Есть ли команда, которая может полностью очистить таблицу маршрутизации? Подскажите пожалуйста!

Ответить | Правка | Cообщить модератору

Оглавление

  • Как очистить таблицу маршрутизации, daevy, 11:40 , 12-Окт-09, (1)
    • Как очистить таблицу маршрутизации, ALex_hha, 13:56 , 12-Окт-09, (2)
      • Как очистить таблицу маршрутизации, andrystepa, 11:45 , 14-Окт-09, (3)
  • Как очистить таблицу маршрутизации, бот, 05:05 , 14-Сен-11, (4)

Сообщения по теме [Сортировка по времени | RSS]

>Есть ли команда, которая может полностью очистить таблицу
>маршрутизации? Подскажите пожалуйста!

ip ro flush all

это из пакета iproute2, т.к. походу из стандартного route парметр -f вынесли

1. «Как очистить таблицу маршрутизации» + / –
Сообщение от daevy on 12-Окт-09, 11:40
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. «Как очистить таблицу маршрутизации» + / –
Сообщение от ALex_hha (ok) on 12-Окт-09, 13:56

>>Есть ли команда, которая может полностью очистить таблицу
>>маршрутизации? Подскажите пожалуйста!
>
>ip ro flush all
>
>это из пакета iproute2, т.к. походу из стандартного route парметр -f вынесли

Я бы еще указал scope global, имхо

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. «Как очистить таблицу маршрутизации» + / –
Сообщение от andrystepa (ok) on 14-Окт-09, 11:45

>>>Есть ли команда, которая может полностью очистить таблицу
>>>маршрутизации? Подскажите пожалуйста!
>>
>>ip ro flush all
>>
>>это из пакета iproute2, т.к. походу из стандартного route парметр -f вынесли
>
>Я бы еще указал scope global, имхо

Источник

Настройка сетевых маршрутов в Linux (CentOS)

В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).

Просмотр таблицы маршрутизации в Linux

Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:

  • default via 192.168.1.1 dev enp0s3 – шлюз по умолчанию, в данном примере работающий через интерфейс enp0s3. Если для target адреса в таблице маршрутизации отсутствует маршрут, то такой пакет отправляется через данный шлюз (маршрут по умолчанию)
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 — статический маршрут для сети 192.168.1.0/24 через адрес 192.168.1.201, который прописан на интерфейсе
  • proto kernel – маршрут создан ядром ( proto static – маршрут добавлен администратором)
  • metric – приоритет маршрута (чем меньше значение metric, тем выше приоритет). При наличии двух маршрутов с одинаковой метрикой (не стоит так делать!), ядро начинает выбирать маршруты случайным образом.

Чтобы узнать через какой интерфейс (шлюз) должен маршрутизироваться трафик к определенному IP адресу используется команда:

# ip route get 192.168.2.45

Как добавить или удалить статический маршрут?

Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:

# ip route add 192.168.0.0/24 via 192.168.1.1

Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.

Также можно добавить отдельный маршрут для одного IP адреса (хоста):

# ip route add 192.168.1.0 via 192.168.1.1

Можно сделать аналог null route маршрута в Cisco (ip route null0), пакеты в такую сеть удаляются по причине No route to host:

# ip route add blackhole 10.1.20.0/24

Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.

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

# ip route del 192.168.0.0/24

Как видите, маршрут удален из таблицы маршрутизации.

Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).

Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:

В моем случае, интерфейс enp0s3.

Далее открываем следующий файл:

И добавляем туда строку с маршрутом:

После добавления маршрута в файл нужно перезапустить сервис network:

# service network restart

После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.

Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:

И укажите команду добавления маршрута:

# ip route add 192.168.0.0/24 via 192.168.1.1

Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.

Изменить маршрут в Linux

Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:

# ip route replace 192.168.0.0/24 via 192.168.1.1

Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:

]# service network restart

Изменить маршрут по умолчанию

Вы можете удалить маршрут по-умолчаню с помощью команды ip route del:

# ip route del default via 192.168.1.1 dev enp0s3

Чтобы указать новый маршрут по-умолчанию в CentOS используется команда:

# ip route add default via 192.168.1.2 (маршрут через IP адрес шлюза)

# ip route add default via enp0s3 (маршрут через имя устройства)

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

Источник

Как удалить маршрут из таблицы маршрутизации Linux

Это оказывается сложнее, чем я думал. Маршруты, которые я хочу удалить, — это «!». отклоненные маршруты, но я не могу сформулировать правильную команду «route del», чтобы отключить ее.

Вот таблица маршрутизации .

У меня есть две записи для 192.168.46.79 и 10.1.0.0. Они автоматически генерируются небольшим маршрутизатором на базе Linux, который я использую. Я могу пинговать туннели IPSEC из самой оболочки, но трафик из локальной сети занимает второй маршрут (отклоненный маршрут «!» Или «! H») по причинам, которые я просто не понимаю.

3 ответа

с помощью команды route -n вы получите

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

вы получите все параметры соответственно сверху

Типы маршрутов с флагом ! либо недоступны, либо запрещены. route , будучи старинной утилитой из сетевых инструментов, не различает их. Используйте iproute2.

Метод сетевых инструментов для удаления этих маршрутов будет состоять в том, чтобы использовать route del . Однако сетевые инструменты не позволяют различать отклоненный маршрут и другой (поскольку аргумент dev является необязательным, хотя не указывая, что устройство, вероятно, удалит недостижимый маршрут).

iproute2 позволяет сделать это следующим образом:

Это может быть недопустимо, но запретить. Используйте ip route без аргументов, чтобы определить, какой из них.

Я думаю, что это так: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

Я не уверен на 100%. Но, я думаю, у вас есть что-то еще, что происходит, поскольку у вас есть два маршрута по умолчанию.

Источник

Настройка сетевых маршрутов в Linux (CentOS)

Настройка сетевых маршрутов в Linux (CentOS)

В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).

Просмотр таблицы маршрутизации в Linux

Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:

  • default via 192.168.1.1 dev enp0s3 – шлюз по умолчанию, в данном примере работающий через интерфейс enp0s3. Если для target адреса в таблице маршрутизации отсутствует маршрут, то такой пакет отправляется через данный шлюз (маршрут по умолчанию)
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 — статический маршрут для сети 192.168.1.0/24 через адрес 192.168.1.201, который прописан на интерфейсе
  • proto kernel – маршрут создан ядром ( proto static – маршрут добавлен администратором)
  • metric – приоритет маршрута (чем меньше значение metric, тем выше приоритет). При наличии двух маршрутов с одинаковой метрикой (не стоит так делать!), ядро начинает выбирать маршруты случайным образом.

Чтобы узнать через какой интерфейс (шлюз) должен маршрутизироваться трафик к определенному IP адресу используется команда:

# ip route get 192.168.2.45

Как добавить или удалить статический маршрут?

Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:

# ip route add 192.168.0.0/24 via 192.168.1.1

Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.

Также можно добавить отдельный маршрут для одного IP адреса (хоста):

# ip route add 192.168.1.0 via 192.168.1.1

Можно сделать аналог null route маршрута в Cisco (ip route null0), пакеты в такую сеть удаляются по причине No route to host:

# ip route add blackhole 10.1.20.0/24

Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.

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

# ip route del 192.168.0.0/24

Как видите, маршрут удален из таблицы маршрутизации.

Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).

Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:

В моем случае, интерфейс enp0s3.

Далее открываем следующий файл:

И добавляем туда строку с маршрутом:

После добавления маршрута в файл нужно перезапустить сервис network:

# service network restart

После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.

Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:

И укажите команду добавления маршрута:

# ip route add 192.168.0.0/24 via 192.168.1.1

Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.

Изменить маршрут в Linux

Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:

# ip route replace 192.168.0.0/24 via 192.168.1.1

Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:

]# service network restart

Изменить маршрут по умолчанию

Вы можете удалить маршрут по-умолчаню с помощью команды ip route del:

# ip route del default via 192.168.1.1 dev enp0s3

Чтобы указать новый маршрут по-умолчанию в CentOS используется команда:

# ip route add default via 192.168.1.2 (маршрут через IP адрес шлюза)

# ip route add default via enp0s3 (маршрут через имя устройства)

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

Источник

Читайте также:  Linux mint сканер установка
Оцените статью