У меня есть интерфейс на удаленном хосте:
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:05:68:02:68:dd brd ff:ff:ff:ff:ff:ff
inet 192.168.3.1/24 brd 192.168.3.255 scope global eth0
и на моей локальной машине есть:
2: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:13:3b:0f:24:fc brd ff:ff:ff:ff:ff:ff
inet 192.168.3.150/24 brd 192.168.3.255 scope global eth6
valid_lft forever preferred_lft forever
inet6 fe80::213:3bff:fe0f:24fc/64 scope link
valid_lft forever preferred_lft forever
И делай:
ebtables -A OUTPUT -d 00:05:68:02:68:dd -j DROP
Итак, я получаю:
Bridge chain: OUTPUT, entries: 1, policy: ACCEPT
-d 0:5:68:2:68:dd -j DROP
Я делаю это, чтобы заблокировать все соединения с MAC-адресом (на удаленном интерфейсе)00:05:68:02:68:дд
Однако я все еще могу пинговать свой удаленный интерфейс, используя 192.168.3.1. Почему? Мне нужно как-то включить eptables или что-то еще?
решение1
Ebtablesдействует только на кадры, проходящие через интерфейс моста.
Если вы хотите заблокировать сайт по его MAC-адресу, создайте мост и добавьте к нему свой интерфейс. Затем направьте трафик через мост и используйте ebtables, чтобы предотвратить трафик с моста на этот mac-адрес, например:
ebtables -A ВЫХОД -d 00:05:68:02:68:dd -j ОТБРОС
Оно работает.
решение2
Может ли быть, что ebtables предназначен только для мостов, а не для любого интерфейса Ethernet?
ebtables - Администрирование таблиц кадров моста Ethernet