Маршрут не удален

У меня есть машина с Ubuntu 18.04.

со следующим/etc/network/interfaces

auto ens160
iface ens160 inet static
  address 10.16.21.80
  gateway 10.16.21.254
  netmask 255.255.255.0
  dns-nameservers 10.16.15.1 10.16.15.2 127.0.0.53
  dns-search eqx.solaredge.com



auto ens160:235
iface ens160:235 inet static
address 10.16.15.235
netmask 255.255.255.0

Каждый раз, когда я перезапускаю машину маршрутизация 10.16.15.0 вернулся к таблице маршрутизации, и я должен удалить ее вручную. Там другой путь состоит в том, чтобы отключить этот маршрут постоянно?

Я выполняю следующую команду каждый раз:

route del -net 10.16.15.0  netmask 255.255.255.0

Я использую /etc/rc.local чтобы одна машина выполнила эту команду для каждого запуска, но интересно, существует ли некоторый другой путь.

0
задан 7 April 2019 в 03:59

1 ответ

У Вас есть интерфейс в 10.16.15.0/24 сети.

Linux по умолчанию добавит маршрут к любым локальным интерфейсам. Как Вы ожидаете к контактным устройствам на Вашем 10.16.15.0/24 сегменте, если у Вас не будет маршрута для него? Вы хотите, чтобы трафик к 10.16.15.0/24 пошел через 10.16.21.254?

Если так, просто удалите описание интерфейса для auto ens160:235.

Раздел для удаления был бы

auto ens160:235
iface ens160:235 inet static
address 10.16.15.235
netmask 255.255.255.0

Развернуть ответ немного.

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

Маршруты несут вес, обычно известный как метрика. Это видно в демонстрационном выводе ниже:

default via 10.0.3.1 dev wlan0 proto dhcp metric 600 
10.0.3.0/24 dev wlan0 proto kernel scope link src 10.0.3.48 metric 600

Маршруты выбраны на основе самый определенный маршрут, и если два равных маршрута существуют, наименьшая метрика предпочтена. Маршрут по умолчанию действительно 0.0.0.0/0, таким образом, это столь неконкретно, как Вы добираетесь с IPv4. Это означает, что это - маршрут последней инстанции, если никакие другие маршруты не соответствуют!

У Вас есть непосредственно связанный интерфейс с сетевой маской/24, или 255.255.255.0. Это - путь, более конкретный, чем сетевая маска/0, таким образом, независимо от веса, это победит. Трафик, предназначенный для 10.16.15.0/24, будет отправлен непосредственно на ens160:235 интерфейс, без любой маршрутизации.

Это - вероятно, поведение, которое Вы хотите. При присоединении хоста сегмента сети L2 это - потому что Вы хотите, чтобы тот хост общался с другими хостами на том же сегменте без издержек маршрутизации.

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

Но снова, который является, вероятно, не, что Вы хотите.

0
ответ дан 25 October 2019 в 06:43

Другие вопросы по тегам:

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