Я пытаюсь отбросить пакеты для подключенного ВМ через интерфейс с отводом, но он не работает.

iptables -A INPUT -i 553d1a58350ea -s 172.16.0.206 -j DROP
ping 172.16.4.119 # Works

Мой QEMU использует это, он вызывается следующим образом: (опущены несвязанные аргументы)

qemu-system-x86_64 -net nic,model=virtio,netdev=net0 -netdev tap,id=net0,ifname=553d1a58350ea,script=no,downscript=no

Я создал устройство крана своей рукой, подключив его к мосту Open vSwitch. Почему мое правило не работает? Если я просто использую то же правило для другого интерфейса на хосте, он работает и блокирует соединения.

Интерфейс tap не имеет самого IP-адреса, но я вижу весь трафик с помощью tcpdump:

tcpdump -i 553d1a58350ea

Это выпущено, чтобы коснуться устройства, не имеющего IP-адрес?

1 ответ1

0

Как насчет прямого правила в таблице фильтров?

iptables -A FORWARD -s (source ip) -o tap0 -DROP

-o устанавливает исходящий сетевой интерфейс для правила и может использоваться только с цепочками OUTPUT и FORWARD в таблице фильтров и цепочкой POSTROUTING в таблицах nat и mangle. Параметры этого параметра совпадают с параметрами входящего параметра сетевого интерфейса (-i).

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