Асимметричная статическая маршрутизация linux

У меня есть 3 коробки Linux в треугольнике. Все подсети /24.

А имеет два интерфейса: 1.1.1.1, 2.2.2.1

B имеет два интерфейса: 1.1.1.2, 3.3.3.2

C имеет два интерфейса: 3.3.3.1, 2.2.2.2

Протокол маршрутизации не запущен, поэтому я добавляю статический маршрут на каждый узел.

При пинге A(1.1.1.1)->C(3.3.3.1) все идет хорошо, когда A имеет статический маршрут до 3.3.3.0 через B, а C имеет статический маршрут до 1.1.1.0 через B. Таким образом, симметричная маршрутизация работает хорошо.

Проблема возникает, когда я устанавливаю обратный путь на C через 2.2.2.1. Запрос ICMP достигает интерфейса 3.3.3.1 (я вижу это в tcpdump), но C просто ничего не делает, и никакой ответ ICMP не передается через какой-либо интерфейс.

Есть идеи о том, что происходит?

1 ответ

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

sysctl -a | grep '\.rp_filter'

и убедитесь, что он отключен для всех интерфейсов.

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