1

Я отслеживаю пакеты, используя цели LOG для всех цепочек всех таблиц, и последней цепочкой, в которой я вижу свой пакет, является цепочка POSTROUTING таблицы mangle:

mangle_PREROUTING: IN=eth0 OUT= MAC=00:16:3e:0f:01:00:00:16:3e:0f:02:00:08:00
SRC=10.2.1.2 DST=10.1.1.2 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=60912 PROTO=ICMP
TYPE=0 CODE=0 ID=41230 SEQ=1

Что касается http://inai.de/images/nf-packet-flow.png, я ожидал, что этот пакет появится в цепочке FORWARD таблицы mangle, но он туда не доходит. Единственная вещь между ними - таблица маршрутизации.

# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

# ip route list
default via 192.168.178.100 dev eth3
10.1.1.0/24 dev eth1  proto kernel  scope link  src 10.1.1.1
10.1.2.0/24 dev eth2  proto kernel  scope link  src 10.1.2.1
10.5.0.0/24 dev eth0  proto kernel  scope link  src 10.5.0.1
192.168.178.0/24 dev eth3  proto kernel  scope link  src 192.168.178.1

Таким образом, этот пакет должен быть маршрутизируемым через 10.1.1.1. (Эта система также может пинговать 10.1.1.2.)

В iptables (все цепочки ACCEPT) есть только эти правила (за исключением регистрации в конце):

-t raw -A PREROUTING -j MARK --set-xmark 0x0/0xffffffff
-t mangle -A PREROUTING -s 10.1.1.0/24 -d 10.2.1.0/24 -j MARK --set-xmark 0x1/0xffffffff
-t mangle -A PREROUTING -p esp -j MARK --set-xmark 0x1/0xffffffff

Но эти правила не должны совпадать: пункт назначения 10.1.1.2, а не ESP ...

Есть намеки?

С наилучшими пожеланиями, Штеффен

1 ответ1

1

Я думаю, что ваша проблема - это rp_filter. У вас есть пакет с источником 10.2.1.2, полученный в интерфейсе eth0. В вашей таблице маршрутов сказано, что сеть 10.2.1.2 достигнута через eth3 (маршрут по умолчанию). Я полагаю, что у вас нет опечатки.

Если проблема в rp_filter, пакеты отбрасываются до FORWARD.

rp_filter означает "фильтр обратного пути", обычно включенный по умолчанию. Допускаются только пакеты, поступающие с правого интерфейса (в соответствии с маршрутами).

sysctl -w net.ipv4.conf.all.rp_filter=0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .