Назад | Перейти на главную страницу

tcpdump не может захватывать нешироковещательные / многоадресные пакеты из интерфейса моста в OpenWRT

(Изначально я разместил его на StackOverflow. Я перемещаю его в сетевую инженерию, а затем сюда.)

У меня роутер TP-LINK WR841N v9 и я установил прошивку OpenWRT CHAOS CALMER (15.05.1, r48532).

у меня есть /etc/config/network содержание:
config interface 'lan' option force_link '1' option type 'bridge' option proto 'static' option ipaddr '10.15.252.3' option netmask '255.255.254.0' option gateway '10.15.252.1' option ifname 'eth0 eth1'

Вот результат ip link ls:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc fq_codel master br-lan state DOWN mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:25 brd ff:ff:ff:ff:ff:ff 4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff 5: br-lan: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff

У меня есть два компьютера, подключаемые кабелем к 2 из 4 портов LAN. Скажем компьютер A и B.

  1. A продолжает звонить B и это хорошо работает.
  2. На роутере использую tcpdump перехватить трафик с моста br-lan: tcpdump -i br-lan -n 'arp or icmp'.

Я видел arp трафик, но есть нет ICMP трафик.

Я попытался настроить правила iptables для блокировки трафика на B в обоих INPUT и output цепь, и она не работает.

Вот результат команды brctl и ip:
bridge name bridge id STP enabled interfaces br-lan 7fff.c46e1fb68e24 no eth0 eth1

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 63107 580 0 0 0 0 TX: bytes packets errors dropped carrier collsns 63107 580 0 0 0 0 2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 64256004 445450 0 6 0 0 TX: bytes packets errors dropped carrier collsns 8775980 43685 0 0 0 0 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc fq_codel master br-lan state DOWN mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:25 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 0 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0 4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 0 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0 5: br-lan: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether c4:6e:1f:b6:8e:24 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 57777761 444757 0 60579 0 0 TX: bytes packets errors dropped carrier collsns 8871188 44499 0 0 0 0 Наверняка много TX и RX пакеты на интерфейсах.

Итак, мои вопросы:
1. Как использовать tcpdump для передачи трафика через мост br-lan? (Мост работает на уровне 2, и он должен работать, не так ли?)
2. Если я хочу зеркалировать входящий / исходящий трафик компьютера B на другой порт (например, wan порт), что мне делать? (Я пытался использовать это инструмент зеркалирования портов, Но это не работает.)

(Я хочу попытаться ebtables, но мне не удалось установить его на маршрутизатор из-за недостатка места. Также я не смог найти инструмент bridge проверить прямую БД на мосту.)

Я нашел еще одну соответствующую тему: Tcpdump / Iptables на интерфейсе моста без назначенного IP-адреса и tcpdump на интерфейсе моста (virbr) не получает пакетов, предназначенных для одного из его адресов, но это не работает.

Я перенастроил маршрутизатор, чтобы сделать следующее:
1. Назначьте оба eth0 и eth1 преодолеть br-lan;
2. компьютер с кабелем B к eth1 порт (бледный порт);
3. В файле конфигурации зеркалирования портов перенаправьте трафик от eth1 к IP А.

Теперь я могу слушать весь трафик в / из B. И, конечно же, tcpdump также может захватывать поток трафика через br-lan.