Temat: Filtrowanie MAC adresów

Chciałbym zrobić filtrowanie maczków w TP-Link TL-WR1043ND.Wujek google wysypuje różne szczątkowe info i nie mogę tego sklecić hmm. Są w miarę opisy ale niestety dla broadcomm, madwifi, nic dla mac80211.Przydałby się jakiś manual nt. temat.
Pytania:
Jest możliwość sprzętowego filtrowania?
Pozostaje tylko iptabes?

2

Odp: Filtrowanie MAC adresów

Tylko iptables dla mac80211. Pod latarnią najciemniej smile http://eko.one.pl/?p=openwrt-konfiguracja#blokadadostpu

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Filtrowanie MAC adresów

Dzięki.Widziałem ten poradnik smile jak w takim razie wygląda składnia dla blokowania wszystkich a wyjątkiem ma być kilka maczków, czego nie napisałem w poprzednim poście.Jednym słowem konkretne adresy mają dostęp.

4

Odp: Filtrowanie MAC adresów

iptables -I FORWARD -s 192.168.1.100 -i br-lan -m mac --mac-source 01:02:03:04:05:06 -j ACCEPT
iptables -I FORWARD -s 192.168.1.100 -i br-lan -m mac --mac-source 01:02:03:04:05:07 -j ACCEPT
iptables -I FORWARD -s 192.168.1.100 -i br-lan -m mac --mac-source 01:02:03:04:05:08 -j ACCEPT
iptables -I FORWARD -s 192.168.1.100 -i br-lan -j DROP

Coś w ten deseń

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Filtrowanie MAC adresów

THX!!!
Rozumiem że ostatnia linijka blokuje resztę adresów.

6

Odp: Filtrowanie MAC adresów

Tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez Paco52327 2010-08-29 19:37:08)

Odp: Filtrowanie MAC adresów

Nie działa...
Oczywiście restart reload itp
Nie chcę śmiecić ale... może to coś pomoże
iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     all  --  anywhere             anywhere            
syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN 
input_rule  all  --  anywhere             anywhere            
input      all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         
zone_wan_MSSFIX  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
forwarding_rule  all  --  anywhere             anywhere            
forward    all  --  anywhere             anywhere            
reject     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     all  --  anywhere             anywhere            
output_rule  all  --  anywhere             anywhere            
output     all  --  anywhere             anywhere            

Chain forward (1 references)
target     prot opt source               destination         
zone_lan_forward  all  --  anywhere             anywhere            

Chain forwarding_3g (1 references)
target     prot opt source               destination         

Chain forwarding_lan (1 references)
target     prot opt source               destination         

Chain forwarding_rule (1 references)
target     prot opt source               destination         

Chain forwarding_wan (1 references)
target     prot opt source               destination         

Chain input (1 references)
target     prot opt source               destination         
zone_lan   all  --  anywhere             anywhere            

Chain input_3g (1 references)
target     prot opt source               destination         

Chain input_lan (1 references)
target     prot opt source               destination         

Chain input_rule (1 references)
target     prot opt source               destination         

Chain input_wan (1 references)
target     prot opt source               destination         

Chain output (1 references)
target     prot opt source               destination         
zone_lan_ACCEPT  all  --  anywhere             anywhere            
zone_wan_ACCEPT  all  --  anywhere             anywhere            
zone_3g_ACCEPT  all  --  anywhere             anywhere            

Chain output_rule (1 references)
target     prot opt source               destination         

Chain reject (3 references)
target     prot opt source               destination         
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset 
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 

Chain syn_flood (1 references)
target     prot opt source               destination         
RETURN     tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 
DROP       all  --  anywhere             anywhere            

Chain zone_3g (0 references)
target     prot opt source               destination         
input_3g   all  --  anywhere             anywhere            
zone_3g_REJECT  all  --  anywhere             anywhere            

Chain zone_3g_ACCEPT (2 references)
target     prot opt source               destination         

Chain zone_3g_DROP (0 references)
target     prot opt source               destination         

Chain zone_3g_MSSFIX (0 references)
target     prot opt source               destination         

Chain zone_3g_REJECT (2 references)
target     prot opt source               destination         

Chain zone_3g_forward (0 references)
target     prot opt source               destination         
forwarding_3g  all  --  anywhere             anywhere            
zone_3g_REJECT  all  --  anywhere             anywhere            

Chain zone_lan (1 references)
target     prot opt source               destination         
input_lan  all  --  anywhere             anywhere            
zone_lan_ACCEPT  all  --  anywhere             anywhere            

Chain zone_lan_ACCEPT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain zone_lan_DROP (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            

Chain zone_lan_MSSFIX (0 references)
target     prot opt source               destination         
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU 

Chain zone_lan_REJECT (1 references)
target     prot opt source               destination         
reject     all  --  anywhere             anywhere            
reject     all  --  anywhere             anywhere            

Chain zone_lan_forward (1 references)
target     prot opt source               destination         
zone_wan_ACCEPT  all  --  anywhere             anywhere            
zone_3g_ACCEPT  all  --  anywhere             anywhere            
forwarding_lan  all  --  anywhere             anywhere            
zone_lan_REJECT  all  --  anywhere             anywhere            

Chain zone_wan (0 references)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:68 
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request 
input_wan  all  --  anywhere             anywhere            
zone_wan_REJECT  all  --  anywhere             anywhere            

Chain zone_wan_ACCEPT (2 references)
target     prot opt source               destination         

Chain zone_wan_DROP (0 references)
target     prot opt source               destination         

Chain zone_wan_MSSFIX (1 references)
target     prot opt source               destination         

Chain zone_wan_REJECT (2 references)
target     prot opt source               destination         

Chain zone_wan_forward (0 references)
target     prot opt source               destination         
forwarding_wan  all  --  anywhere             anywhere            
zone_wan_REJECT  all  --  anywhere             anywhere 

8

Odp: Filtrowanie MAC adresów

Widzisz gdzieś w tym jakiekolwiek reguły z mac dodane przez Ciebie? smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Filtrowanie MAC adresów

No właśnie smile pytanie dlaczego!?

10

Odp: Filtrowanie MAC adresów

Albo nie włączyłeś tego do reguł firewalla, albo one się po prostu nie wykonują. Próbowałeś je wykonać z palca?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Filtrowanie MAC adresów

Dokładnie wpisałem co radziłeś, z palca oczywiście ze zmianami mac i ip.

12

Odp: Filtrowanie MAC adresów

Ale gdzie? Jak w konsoli i zrestartowałeś firewall to przecież przepadło. Do /etc/firewall.user to wpisz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Filtrowanie MAC adresów

@cezary:
tak się już kiedyś zastanawiałem. W hostapd jest wsparcie dla MAC. Czy przypadkiem po małej modyfikacji skryptów nie mielibyśmy filtrowania po MAC adresach ?
nie było mi to nigdy potrzebne więc nie sprawdzałem tego nigdy.

# Station MAC address -based authentication
# Please note that this kind of access control requires a driver that uses
# hostapd to take care of management frame processing and as such, this can be
# used with driver=hostap or driver=nl80211, but not with driver=madwifi.
# 0 = accept unless in deny list
# 1 = deny unless in accept list
# 2 = use external RADIUS server (accept/deny lists are searched first)
macaddr_acl=0

# Accept/deny lists are read from separate files (containing list of
# MAC addresses, one per line). Use absolute path name to make sure that the
# files can be read on SIGHUP configuration reloads.
#accept_mac_file=/etc/hostapd.accept
#deny_mac_file=/etc/hostapd.deny

14

Odp: Filtrowanie MAC adresów

@Paco52327: poczytaj może Ci się coś przyda z tego

http://rpc.one.pl/index.php/lista-artyk … -w-openwrt

15

Odp: Filtrowanie MAC adresów

@rpc: pytanie tylko czy mac80211 będzie chciał tak gadać z hostap. Trzeba by sprawdzić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Filtrowanie MAC adresów

@cezary: dlatego napisałem że się nad tym zastanawiałem. Nigdy nie sprawdzałem bo nie było i nie jest  mi to do niczego potrzebne. Ale z ciekawości w sumie to można. Lekka zmiana skryptów nawet na sztywno na początek i będzie wiadomo czy łyknie. Chociaż powiem Ci, że większość rzeczy, które robiłem na podstawie hostapd.conf na wr1043nd zadziałało w 100% smile Dlatego jestem dobrej myśli choć gwarancji jak zawsze nie ma.

17 (edytowany przez Paco52327 2010-08-29 20:53:00)

Odp: Filtrowanie MAC adresów

Tak konsola.Teraz jest w pliku i w regułach też ale nadal nie ma problemu z łączeniem się innych urządzeń których mac nie jest podany w wyjątkach.Tu jest wycinek który o tym traktuje.

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DROP       all  --  192.168.1.254        anywhere            
ACCEPT     all  --  192.168.1.254        anywhere            MAC xx:xx:xx:xx:xx:xx 
zone_wan_MSSFIX  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
forwarding_rule  all  --  anywhere             anywhere            
forward    all  --  anywhere             anywhere            
reject     all  --  anywhere             anywhere            
 

@rpc przetestuje i dam znać.THX

18

Odp: Filtrowanie MAC adresów

To jest na forward. wiec dotyczy dostępu do internetu przez router.

I zmień kolejność  - ten drop nie może być na pierwszym miejscu bo wytnie wszystko. Wiec w pliku powinien być na pierwszym miejscu (tak, dobrze napisałem), żeby następne weszły przed niego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: Filtrowanie MAC adresów

Cezary napisał/a:

To jest na forward. wiec dotyczy dostępu do internetu przez router.

Czyli zmieniamy na INPUT?
A kolejność została zmieniona DROP względem ACCEPT smile

20

Odp: Filtrowanie MAC adresów

A do czego dążysz? żeby klienci nie widzieli się między sobą czy nie mieli dostępu do rutera czy do internetu?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Filtrowanie MAC adresów

Ci których adresy MAC nie są w wyjątkach nie mają mieć nigdzie dostępu jak w przypadku sprzętowego filtrowania.

Cezary napisał/a:

To jest na forward. wiec dotyczy dostępu do internetu przez router

- nie bardzo rozumiałem to było jednak stwierdzenie smile

22

Odp: Filtrowanie MAC adresów

http://upload.wikimedia.org/wikipedia/c … t-flow.svg

Tu masz zgrabny schemacik jak płyną pakiety. Zobacz więc co chcesz zablokować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Filtrowanie MAC adresów

fajny schemacik smile

24 (edytowany przez rpc 2010-08-30 23:17:20)

Odp: Filtrowanie MAC adresów

No Panowie działa smile Przed chwilą przetestowałem. Nie wiem jak ze stabilnością bo to świerzonka ale działa na WR1043ND filtrowanie po MAC - tak jak sprzętowe. Wszystko wykonuje hostapd

Dzisiaj jest za późno aby to opisać na mojej stronie ale po skrócie maznę

@Paco52327: zrób tak podmień na mój plik od uci od wifi

cp /lib/wifi/hostapd.sh /root
rm /lib/wifi/hostapd.sh
wget http://rpc.one.pl/pliki/openwrt/backfire/10.03.x/atheros/hostapd/hostapd.sh -O /lib/wifi/hostapd.sh
chmod +x /lib/wifi/hostapd.sh

Potem utwórz plik /etc/hostapd.accept w który wpiszesz adresy MAC które mogą się logować do routera - patrz plik:
http://rpc.one.pl/pliki/openwrt/backfir … apd.accept

Zmodyfikuj plik /etc/config/wireless i dodaj dwie nowe opcje do sekcji AP
    option 'macaddr_acl' '1'
    option 'accept_mac_file' '/etc/hostapd.accept'
patrz poniżej jak przykładowo to może wyglądać. Oczywiście można to przez uci załatwić

config 'wifi-device' 'radio0'
    option 'type' 'mac80211'
    option 'channel' '5'
    option 'macaddr' '00:22:ca:37:b3:bc'
    option 'hwmode' '11ng'
    option 'htmode' 'HT20'
    option 'ht_capab' 'HT40- HT40+ SHORT-GI-40 DSSS_CCK-40'
    option 'disabled' '0'
    option 'country' 'PL'

config 'wifi-iface'
    option 'device' 'radio0'
    option 'network' 'lan'
    option 'ssid' 'moje_wifi'
    option 'mode' 'ap'
    option 'encryption' 'psk2'
    option 'key' 'xxxxxxxxx'
    option 'macaddr_acl' '1'
    option 'accept_mac_file' '/etc/hostapd.accept'

i to tyle
wykonaj komendę

wifi

i już. Router wpuści TYLKO komputery z adresami MAC z listy w pliku hostapd.accept - o to Ci chodziło smile

Mała uwaga.
Jak będziesz dodawał kolejne adresy MAC to aby zaakceptować zmiany musisz przeładować wifi (komenda wifi)

i to na razie tyle.
W wolnej chwili to opiszę

Ps. opisane.
Pliki zostały zmodyfikowane i w/w opis już nie obowiązuje. Proszę trzymać się nowego artykułu
http://rpc.one.pl/index.php/lista-artyk … -z-openwrt

25

Odp: Filtrowanie MAC adresów

To już doprowadź to do postaci kompatybilnej z resztą. Niech to będzie w sekcji wifo-device (nie interface!) i niech obsługuje macfilter oraz maclist, przynajmniej będzie jednolite.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.