LINUX.ORG.RU
решено ФорумAdmin

MAC Filter


0

0

Как настроить фильтр по мак-адресу по определенному интерфейсу?

iptables -A INPUT -i wlan0 -m mac --mac-source 00:21:19:61:FB:DA -j ACCEPT
iptables -A INPUT -i wlan0 -j DROP

Не работает к сожалению (прекрасно работает устройство с другим маком)

★★

Значит, мак неправильный. Или логика неправильная.

Включи логгирование входящих пакетов, чтобы узнать правильные маки (iptables -I INPUT -j LOG).

nnz ★★★★
()
Ответ на: комментарий от nnz

Значит, мак неправильный.

К сожелению правильный

Или логика неправильная.

Вот это наверно ближе к истине

И все равно в логах:

IN=wlan0 OUT= MAC=00:0e:2e:90:5d:2a:00:21:19:61:fb:_(!!!)_dc_(!!!)__:08:00 SRC=192.168.1.2 DST=192.168.1.1 LEN=71 TOS=0x00 PREC=0x00 TTL=128 ID=4421 PROTO=UDP SPT=32476 DPT=53 LEN=51 

P.S.

iptables настраивал через firehol:

version 5

mac 192.168.1.2 00:21:19:61:fb:dc
mac 192.168.1.3 00:19:d2:71:aa:18

interface eth0 lan
        policy accept

interface ppp+  internet
        policy accept

interface wlan0 wifi
        policy accept

router wifi2inet inface wlan0 outface ppp+
        masquerade
        route all accept
vadv ★★
() автор топика
Ответ на: комментарий от vadv

iptables -L -v -n:

Chain INPUT (policy DROP 0 packets, 0 bytes)                                                                         
 pkts bytes target     prot opt in     out     source               destination                                      
   38  4209 LOG        all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4          
   23   667 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0                                        
    0     0 WRONGMAC   all  --  *      *       192.168.1.2          0.0.0.0/0           MAC ! 00:21:19:61:FB:DC      
    0     0 WRONGMAC   all  --  *      *       192.168.1.3          0.0.0.0/0           MAC ! 00:19:D2:71:AA:18      
 4542 2301K in_lan     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0                                        
 1159  738K in_internet  all  --  ppp+   *       0.0.0.0/0            0.0.0.0/0                                      
   47  5517 in_wifi    all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0                                        
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED                
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 1/sec burst 5 LOG flags 0 level 4 prefix `'IN-unknown:''                                                                                                                               
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                
    0     0 ACCEPT     all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0           MAC 00:21:19:61:FB:DA                                
    0     0 DROP       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0                                                                

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 WRONGMAC   all  --  *      *       192.168.1.2          0.0.0.0/0           MAC ! 00:21:19:61:FB:DC 
    0     0 WRONGMAC   all  --  *      *       192.168.1.3          0.0.0.0/0           MAC ! 00:19:D2:71:AA:18 
 1156 61252 in_wifi2inet  all  --  wlan0  ppp+    0.0.0.0/0            0.0.0.0/0                                
 1057 1254K out_wifi2inet  all  --  ppp+   wlan0   0.0.0.0/0            0.0.0.0/0                               
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED           
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 1/sec burst 5 LOG flags 0 level 4 prefix `'PASS-unknown:''                                                                                                                             
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   23   667 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
 3301  383K out_lan    all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
 1281  195K out_internet  all  --  *      ppp+    0.0.0.0/0            0.0.0.0/0           
   45  6068 out_wifi   all  --  *      wlan0   0.0.0.0/0            0.0.0.0/0              
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 1/sec burst 5 LOG flags 0 level 4 prefix `'OUT-unknown:''                                                                                                                              
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                

Chain WRONGMAC (4 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 1/sec burst 5 LOG flags 0 level 4 prefix `'MAC MISSMATCH:''                                                                                                                            
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                

Chain in_internet (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    3   489 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 
 1156  738K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0                         

Chain in_lan (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 
 4542 2301K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0                         

Chain in_wifi (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 
   47  5517 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0                         

Chain in_wifi2inet (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 1156 61252 in_wifi2inet_all_s1  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 in_wifi2inet_irc_s2  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 in_wifi2inet_ftp_s3  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 

Chain in_wifi2inet_all_s1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 1156 61252 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED 

Chain in_wifi2inet_ftp_s3 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:21 state NEW,ESTABLISHED 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:20 state ESTABLISHED     
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpts:1024:65535 state RELATED,ESTABLISHED                                                  

vadv ★★
() автор топика
Ответ на: комментарий от vadv
Chain in_wifi2inet_irc_s2 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:6667 state NEW,ESTABLISHED 

Chain out_internet (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   16  2568 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED 
 1265  193K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0                         

Chain out_lan (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED
 3301  383K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain out_wifi (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED
   45  6068 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain out_wifi2inet (1 references)
 pkts bytes target     prot opt in     out     source               destination
 1057 1254K out_wifi2inet_all_s1  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    3   477 out_wifi2inet_irc_s2  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    3   477 out_wifi2inet_ftp_s3  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    3   477 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED

Chain out_wifi2inet_all_s1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
 1054 1253K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state ESTABLISHED

Chain out_wifi2inet_ftp_s3 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:21 dpts:1024:65535 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:20 dpts:1024:65535 state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpts:1024:65535 state ESTABLISHED

Chain out_wifi2inet_irc_s2 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:6667 dpts:1024:65535 state ESTABLISHED
vadv ★★
() автор топика
Ответ на: комментарий от vadv

Странный набор правил, сначала DROP, а потом уже ACCEPT:

    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 1/sec burst 5 LOG flags 0 level 4 prefix `'IN-unknown:''                                                                                                                                
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                 
    0     0 ACCEPT     all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0           MAC 00:21:19:61:FB:DA                                 
    0     0 DROP       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0 

А к правилам -j LOG неплохо бы добавлять --log-prefix, чтобы было понятно, от какого правила в iptables появилась данная строчка в log-файле.

Непонятно, почему у вас не срабатывает правило:

    0     0 WRONGMAC   all  --  *      *       192.168.1.2          0.0.0.0/0           MAC ! 00:21:19:61:FB:DC       
mky ★★★★★
()
Ответ на: комментарий от vadv

Да, как тут справедливо заметили выше, добавлять перед этими правилами -j DROP для всех пакетов было совсем необязательно. Да и после тоже.

nnz ★★★★
()

00:21:19:61:FB:DA


Буквы на маленькие исправьте. И объясните, чего хотели добиться?

zgen ★★★★★
()
Ответ на: комментарий от zgen

Все работает, спасибо mky.

Все банально - запрещающее правило после разрешающего. Задача была в раздаче интернета с wifi, с mac фильтром.

Сгенерировал правила с помощью firehol, ручками вставил недостающие правила, профит:)

vadv ★★
() автор топика
Ответ на: комментарий от Tok

>Можно определить нужный мак по ARP таблице...
дык приколочено, в dnsmasq

vadv ★★
() автор топика
Ответ на: комментарий от nnz

>Не лишай человека последних иллюзий ;)
Я отлично понимаю, что можно сменить мак и все такое. Одно дело - точка раздает по dhcp и пускает в инет, другое дело надо повозится - посканить, подобрать мак и так далее... И второе, как быть с девайсами которые не держат шифрование?

vadv ★★
() автор топика
Ответ на: комментарий от dimon555

>а что mac на wifi уже и подменить нельзя?
Речь идет о квартире в панельном доме, с мощностью передатчика 8 dBm, я не думаю, что сосед, который занимается строительным бизнесом будет сидеть и подбирать маки.

vadv ★★
() автор топика
Ответ на: комментарий от vadv

Я бы посоветовал использовать openvpn. Вайфай можно даже не защищать, разве что скрытым сделать. Но все подключившиеся ничего не могут (фаерволы на шлюзе и клиентах), кроме подключения к VPN-серверу.

nnz ★★★★
()
Ответ на: комментарий от nnz

openvpn -отличное решение, на работе все именно так.
Но дома есть устройства на WinMobile, WinCE закорачиваться не хочется :)

vadv ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.