Как заполняются таблицы маршрутизации в системе Debian? Я понимаю, что ip route
Семейство команд можно использовать для ручного управления таблицами маршрутизации, но как эти таблицы маршрутизации изначально заполняются при запуске системы и при каких обстоятельствах обновляются таблицы маршрутизации?
При работе с системой Debian таблицы маршрутизации автоматически заполняются всякий раз, когда сетевые интерфейсы включаются или отключаются. Видеть man interfaces
, man ifup
, и man ip
для подробного описания.
По сути, ifup
читает биты конфигурации из /etc/network/interfaces
а затем для статически определенных интерфейсов использует ip route add
для создания соответствующих маршрутов. Для интерфейсов, настроенных на использование DHCP, ifup
запрашивает биты конфигурации у DHCP-сервера, а затем использует ip route add
для создания этих маршрутов. Когда интерфейс отключен, ifdown
удаляет маршруты, которые были бы добавлены на основе текущей конфигурации. Так что имейте в виду, что при изменении конфигурации маршруты удаляются ifdown
могут не совпадать с маршрутами, изначально добавленными ifup
.
В /etc/network/interfaces
, то pre-up
, post-up
, pre-down
, и post-down
перехватчики доступны для ручного управления таблицами маршрутизации (или для запуска команд для других целей).
Скрипты в /etc/network/if-*.d/*
предоставить дополнительные крючки для более сложных задач.