The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"запретить транзитный трафик для mac адреса"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (Linux iptables, ipchains)
Изначальное сообщение [ Отслеживать ]

"запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 22-Янв-11, 19:14 
Здравствуйте.
Имеется роутер на asplinux 9.2. на нем два физических интрефейса, eth0 - интернет, eth1 локальная сеть. На eth1 много виланов. нужно запретить транзитный трафик с определенного mac-адреса в интернет и в локальную сеть.
iptables -I FORWARD -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP
работает только в плане трафика между eth0 и eth1, то есть из локальной сети в интернет, внутри локальной сети не работает. tcpdump-ом входящие/исходящие пакеты этой машины прекрасно видны. если логировать эту машину по IP-адресу -
iptables -I FORWARD -s XX.XX.XX.XX -j LOG --log-prefix "TEST "
лог выглядит таким образом -
Jan 22 17:57:45 asp kernel: TEST IN=eth1 OUT=eth1 SRC=XX.XX.XX.XX DST=XX.XX.XX.XX LEN=84 TOS=0x00 PREC=0x00 TTL=126 ID=32901 PROTO=ICMP TYPE=0 CODE=0 ID=1135 SEQ=3191
в цепочке INPUT все работает, и в логе присутствует mac-адрес.
всякие ухищрения с mark ведут себя точно так же.

ядро 2.4.22
iptables v1.4.10

заранее спасибо за ответ.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "запретить транзитный трафик для mac адреса"  +/
Сообщение от ДорогойДрук on 22-Янв-11, 19:35 
Дропайте двумя правилами: и в инпуте и в форварде.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 22-Янв-11, 19:41 
> Дропайте двумя правилами: и в инпуте и в форварде.

в INPUT дропается, в FORWARD нет.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 22-Янв-11, 19:44 
>> Дропайте двумя правилами: и в инпуте и в форварде.
> в INPUT дропается, в FORWARD нет.

точнее в FORWARD дропается только между локальной сетью и интернетом, между eth0 и eth1

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "запретить транзитный трафик для mac адреса"  +/
Сообщение от ДорогойДрук on 22-Янв-11, 22:36 
перечитал несколько раз, ничего не понял.
что нужно сделать?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 23-Янв-11, 09:40 
> перечитал несколько раз, ничего не понял.
> что нужно сделать?

запретить транзитный трафик с определенного мак-адреса в локальной сети, то есть в пределах eth1

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "запретить транзитный трафик для mac адреса"  +/
Сообщение от ДорогойДрук on 23-Янв-11, 10:30 
> запретить транзитный трафик с определенного мак-адреса в локальной сети, то есть в
> пределах eth1

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 23-Янв-11, 12:48 
>> запретить транзитный трафик с определенного мак-адреса в локальной сети, то есть в
>> пределах eth1
> Попробуйте дропать в прероутинге, хотя я все-равно не понимаю формулировку задачи.

не работает и в PREROUTING

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "запретить транзитный трафик для mac адреса"  +/
Сообщение от stels (ok) on 23-Янв-11, 16:46 

> запретить транзитный трафик с определенного мак-адреса в локальной сети, то есть в
> пределах eth1

Вы хотите дропать пакет который просто гуляет по сети подключенной к роутеру?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "запретить транзитный трафик для mac адреса"  +/
Сообщение от skeletor (ok) on 23-Янв-11, 16:50 
Вы не можете фильтровать трафик, адресованный не вам.
Если 2 компа общаются в локалке между собой, то третий в этой локалке
никак не может фильтровать трафик взаимодействия этих 2 компов.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 24-Янв-11, 13:04 
> Вы не можете фильтровать трафик, адресованный не вам.
> Если 2 компа общаются в локалке между собой, то третий в этой
> локалке
> никак не может фильтровать трафик взаимодействия этих 2 компов.

Почему? это какое-то ограничение ipchains? эти два компа общаются в сети через роутер.
есть трафик -
Jan 22 17:57:45 asp kernel: TEST IN=eth1 OUT=eth1 SRC=XX.XX.XX.XX DST=YY.YY.YY.YY LEN=84 TOS=0x00 PREC=0x00 TTL=126 ID=32901 PROTO=ICMP TYPE=0 CODE=0 ID=1135 SEQ=3191
если дропать его по ip-адресу - все работает, по mac-адресу нет.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "запретить транзитный трафик для mac адреса"  +/
Сообщение от skeletor email(ok) on 24-Янв-11, 13:14 
> Почему? это какое-то ограничение ipchains? эти два компа общаются в сети через
> роутер.
> есть трафик -
> Jan 22 17:57:45 asp kernel: TEST IN=eth1 OUT=eth1 SRC=XX.XX.XX.XX DST=YY.YY.YY.YY LEN=84
> TOS=0x00 PREC=0x00 TTL=126 ID=32901 PROTO=ICMP TYPE=0 CODE=0 ID=1135 SEQ=3191
> если дропать его по ip-адресу - все работает, по mac-адресу нет.

Локальная сеть в данном случае подразумивает прямое общение в пределах ОДНОЙ сети, без участия роутера, а не то, что вы подумали.
Если же компы общаются через роутер - то они уже находятся не в одной локальной сети, а в разных.

Вы видимо неправильно составляете правило для блокировки MAC-адресов. Вот пример:

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

Здесь ещё есть примеры
http://www.cyberciti.biz/tips/iptables-mac-address-filtering...
http://ru.wikipedia.org/wiki/Iptables#mac
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 25-Янв-11, 11:42 
>[оверквотинг удален]
>> если дропать его по ip-адресу - все работает, по mac-адресу нет.
> Локальная сеть в данном случае подразумивает прямое общение в пределах ОДНОЙ сети,
> без участия роутера, а не то, что вы подумали.
> Если же компы общаются через роутер - то они уже находятся не
> в одной локальной сети, а в разных.
> Вы видимо неправильно составляете правило для блокировки MAC-адресов. Вот пример:
>
/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

> Здесь ещё есть примеры
> http://www.cyberciti.biz/tips/iptables-mac-address-filtering...
> http://ru.wikipedia.org/wiki/Iptables#mac

так и делаю. работает между eth0 и eth1. если трафик как в примере выше, в пределах одной сетевой карты - не работает.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "запретить транзитный трафик для mac адреса"  +/
Сообщение от Andrey Mitrofanov on 25-Янв-11, 11:58 
А можно я повторю? А я всё равно повторю.

Пакеты не попадают туде, где ты их фильтруешь.
РацЫя на танке!

GOTO :BEGIN

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 05-Фев-11, 16:42 
> А можно я повторю? А я всё равно повторю.
> Пакеты не попадают туде, где ты их фильтруешь.
> РацЫя на танке!
> GOTO :BEGIN

да хоть на БТР-е. выражаясь твоей терминологией, если фильтровать по IP-адресу пакеты попадают, если фильтровать по mac-адресу не попадают.
на ядре 2.6.26 и iptables 1.4.2 тоже самое

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "запретить транзитный трафик для mac адреса"  +/
Сообщение от Andrey Mitrofanov on 05-Фев-11, 18:12 
>На eth1 много виланов.
> Jan 22 17:57:45 asp kernel: TEST IN=eth1 OUT=eth1 SRC=XX.XX.XX.XX DST=XX.XX.XX.XX LEN=84
> TOS=0x00 PREC=0x00 TTL=126 ID=32901 PROTO=ICMP TYPE=0 CODE=0 ID=1135 SEQ=3191

А то, что в логе про виланы ничего не видно, это нормально? (Я просто спросил-)

> в цепочке INPUT все работает, и в логе присутствует mac-адрес.
> всякие ухищрения с mark ведут себя точно так же.
> ядро 2.4.22

2._4_.22??
Может оно просто не умеет того, что ты хочешь?
Например, пакеты проходящие через мост с интерфейса на интерфейс стало можно фильтровать netfilter-ом только примерно с версии ядра 2.6.26 afair.

> iptables v1.4.10

Э, гм... и _такой (~2.6.36 ядра) новый iptables? Может, и ядро по-новее взять там же, где?...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 05-Фев-11, 18:44 
>> в цепочке INPUT все работает, и в логе присутствует mac-адрес.
>> всякие ухищрения с mark ведут себя точно так же.
>> ядро 2.4.22
> 2._4_.22??
> Может оно просто не умеет того, что ты хочешь?
> Например, пакеты проходящие через мост с интерфейса на интерфейс стало можно фильтровать
> netfilter-ом только примерно с версии ядра 2.6.26 afair.

не очень понял про мост, с физического интерфейса на физический работает и на 2.4. На одном физическом и нескольких виланах (уже попробовал - 2.6.26 (debian 5.0.8)) по mac-адресу не работает.

>> iptables v1.4.10
> Э, гм... и _такой (~2.6.36 ядра) новый iptables? Может, и ядро по-новее
> взять там же, где?...

попробовал на ядре 2.6.26
iptables v1.4.2

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "запретить транзитный трафик для mac адреса"  +/
Сообщение от Andrey Mitrofanov on 05-Фев-11, 22:38 
>>На eth1 много виланов.
>> Jan 22 17:57:45 asp kernel: TEST IN=eth1 OUT=eth1 SRC=XX.XX.XX.XX DST=XX.XX.XX.XX LEN=84
>> TOS=0x00 PREC=0x00 TTL=126 ID=32901 PROTO=ICMP TYPE=0 CODE=0 ID=1135 SEQ=3191
> А то, что в логе про виланы ничего не видно, это нормально?
> (Я просто спросил-)

Вот я у себя сделал vlan-интерфейс и "поймал" на нём исходящий ping:

IN= OUT=eth0.10 SRC=1.1.1.2 DST=1.1.1.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=24372 SEQ=2

Сравни название интерфейса в моей строчке и в своей?

Много vlan-ов точно есть? Мне отсюда плохо видно. Вот так примерно --

# ip l|grep UP
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
3: eth0.20@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
4: eth0.10@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "запретить транзитный трафик для mac адреса"  +/
Сообщение от lesta (ok) on 06-Фев-11, 12:47 
> IN= OUT=eth0.10 SRC=1.1.1.2 DST=1.1.1.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP
> TYPE=8 CODE=0 ID=24372 SEQ=2
> Сравни название интерфейса в моей строчке и в своей?

да это просто ошибка была, возможно случайно затер. вот так выглядит лог -
Feb  6 11:43:32 duc kernel: TEST IN=eth1 OUT=eth1.20 SRC=XX.XX.XX.XX DST=YY.YY.YY.YY LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=25110 SEQ=3

> Много vlan-ов точно есть? Мне отсюда плохо видно. Вот так примерно --

root@duc root~# ip l | grep UP
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc cbq qlen 1000
3: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc cbq qlen 1000
4: eth1.2: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
6: eth1.20: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
7: eth1.102: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
8: eth1.103: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
9: eth1.104: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
10: eth1.105: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
11: eth1.106: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
12: eth1.107: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
13: eth1.108: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
14: eth1.109: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
15: eth1.110: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
16: eth1.111: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
17: eth1.112: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
18: eth1.113: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
19: eth1.114: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
20: eth1.115: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
21: eth1.116: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
22: eth1.117: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
23: eth1.118: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
24: eth1.119: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
25: eth1.120: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
26: eth1.130: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue

ps. отказ от vlan1 тоже ни к чему не ведет.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру