Мне нужно выполнить маршрутизацию политики на моих экземплярах CoreOS, которые используют systemd. Но я не нашел никакой документации или примеров того, как это сделать с помощью systemd-network.
Как я могу это сделать?
Пока мне удалось создать еще одну таблицу маршрутизации, добавив запись в новый файл /etc/iproute2/rt_tables
и это распознается инструментами командной строки.
В конечном итоге у меня есть два отдельных маршрутизатора в одной подсети. Я хочу, чтобы трафик, исходящий от одного маршрутизатора, предназначенного для моего хоста, возвращался тем же маршрутизатором.
Поддержка нескольких таблиц маршрутов сегодня недоступна в networkd. Это то, что, безусловно, можно было бы добавить; возможно, вы могли бы поделиться своей настройкой rt_tables и объяснить свой вариант использования на systemd-devel?
systemd
добавляет поддержку маршрутизации политики в версии 235. Ты можешь использовать [RoutingPolicyRule]
разделы для настройки маршрутизации политики, если ваш systemd
версия 235 или выше.
Поддерживается параметры являются:
TypeOfService=
Указывает тип службы, соответствующий числу от 0 до 255.From=
Задает префикс исходного адреса для сопоставления. Возможно, за ним следует косая черта и длина префикса.To=
Задает префикс адреса назначения для сопоставления. Возможно, за ним следует косая черта и длина префикса.FirewallMark=
Задает соответствующее значение метки брандмауэра iptables (число от 1 до 4294967295).Table=
Задает идентификатор таблицы маршрутизации для поиска, если селектор правила совпадает. Идентификатор таблицы для маршрута (число от 1 до 4294967295).Priority=
Задает приоритет этого правила. Priority = - целое число без знака. Чем больше число, тем ниже приоритет, и правила обрабатываются в порядке увеличения числа.