Пакет с тем же адресом источника с отброшенным обратным шлейфом

Есть два сервера с одинаковым VIP, и когда один сервер скручивает другой сервер, ответный пакет (у которого src addr такой же, как и lo addr), похоже, отбрасывается сервером запросов. Как я могу это позволить?

редактировать: только на ipv4, ipv6 работает, rp_filter выключен, переадресация включена

Контекст: у меня есть LB ipvs, который также действует как маршрутизатор, который подключается к серверу через уровень 3. Когда я завиваюсь с VIP less из LB, все работает нормально. Но с VIP на lo ответный пакет от сервера, похоже, отбрасывается, я помещаю трассировку в iptables, где отображается только raw:PREROUTING:policy (с принятием по умолчанию).

25 мая 22:31:02 ядро: [170321.010523] TRACE: raw:PREROUTING:policy:4 IN=interface OUT= MAC= SRC=172.20.222.30 DST=172.20.222.9 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=40487 SEQ=1050428198 ACK=2154353852 WINDOW=62076 RES=0x00 ACK SYN URGP=0 OPT (020422B00402080AF5EE4941A68D3D5A01030307)

1 ответ

Я обнаружил, что параметры ядра Accept_local решают проблему. В новом ядре Accept_local не будет зависеть от значения rp_filter.

      net.ipv4.conf.default.accept_local = 1
net.ipv4.conf.all.accept_local = 1

Accept_local — BOOLEAN Принимать пакеты с локальными адресами источника. В сочетании с подходящей маршрутизацией это можно использовать для направления пакетов между двумя локальными интерфейсами по проводу и их правильного принятия. по умолчанию ЛОЖЬ

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