Portál AbcLinuxu, 11. května 2024 04:15


Dotaz: Nastavení firewallu = filtrování blokování podle MAC adresy

23.2.2018 09:10 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Nastavení firewallu = filtrování blokování podle MAC adresy
Přečteno: 1846×
Odpovědět | Admin
Zdravím,

mám domácí "server" a na něm tento firewall.

INET_ADR=`ifconfig enp3s0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1 }'`
echo $INET_ADR

#enp3s0 - venkovni sit enx0050b608da65
#enp2s0 - vnitrni sit
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A POSTROUTING -t nat -o enp3s0 -j SNAT --to $INET_ADR

iptables -A INPUT -i tap0 -j ACCEPT
iptables -A FORWARD -i tap0 -j ACCEPT
iptables -A POSTROUTING -t nat -o tap0 -j SNAT --to $INET_ADR

iptables -A INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i enp3s0 -p icmp -j ACCEPT

iptables -A INPUT -i enp2s0 -j ACCEPT

iptables -A INPUT -i enp3s0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 65022 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 22 -j ACCEPT

#minecraft
iptables -A INPUT -i enp3s0 -p tcp --dport 25565 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 25560 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 25550 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 25555 -j ACCEPT
iptables -A INPUT -i enp3s0 -p tcp --dport 25500 -j ACCEPT


iptables -A FORWARD -i enp3s0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i enp2s0 -j ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward

Vše mi funguje jak potřebuju, teď jsem ale narazil na nový požadavek ze strany manželky - blokovat určitá zařízení. Snažil jsem se to vyřešit pomocí řádku:

iptables -A INPUT -i enp2s0 -m mac --mac-source mac_adresa -j REJECT

který jsem strčil před #minecraft. Bohužel po reloadu script se nic nestalo a zařízení si komunikuje vesele dál.

Zkusil jsem na jiném stroji použít ufw, povolil jsem všem přístup na port 80 a pak zkusil zařízení s určitou mac přístup zakázat. Zase se nic nestalo :-(. Jde to vůbec řešit nějak operativně abych nemusel vždy reloadnout celý script pro firewall? Kdyby náhodou někdo něco stahoval, asi se mu stahování přeruší.

Do budoucna plánuji takto blokovat přístup pro určitá zařízení podle složitějších podmínek (denní doba, přístup jen v určitém časovém období atd.), proto bych potřeboval řešit nastavování pravidel bez restartu celého firewallu. Jde to? Jak? Možná jsem práci s iptables pochopil úplně blbě :-(, googloval jsem jako šílený, ale žádné příklady mi nefungovaly :-(.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.2.2018 09:36 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Blokování dle MAC je hovadina.

MAC se mění a bude vždy odpovídat poslednímu zařízení před serverem (předpokládám že tam je nějaký router a před ním jsou ty zařízení).

Trochu se to dá v vlastní síti řešit pomocí DHCP serveru že budeš dle MAC přidělovat IP a pak blokovat příslušné IP.

Možná kdyby jsi napsal proč to chceš dělat trochu podrobněji - co je účelem tak by možná někdo poradil něco lepšího.
23.2.2018 09:51 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Tomu rozumím. Za serverem už je jen switch a pak nějaký TP link v bridge módu, nebo jak se to jmenuje. Na serveru běží DHCP server, který přiděluje IP adresy všem zařízením, včetně těch, která jsou na WiFi. Když si vypíšu z logu dhcp serveru přidělené adresy, vidím je včetně správných MAC adres daných zařízení.

Proč to chci? Chtěl bych synátorům zablokovat přístup k Internetu na určitou dobu, případně jen k Minecraftu, časem třeba jen na YouTube a tak. To mohu i teď vytažením kabelu, ale omezí to i mě s manželkou, což je poněkud nežádoucí stav :-).
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
23.2.2018 10:15 MP
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Dejte je do jine site. Vycvicte manzelku. Problem solved :-)
23.2.2018 11:59 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Manželka už vycvičená docela je, na notebooku dlouhé roky používá Ubuntu a kouzlí v Gimpu :-). Do jiné sítě je dát mohu, ale tím nevyřeším zakazování přístupu jednotlivě a na určitou dobu. Nějak to s IP tables jít musí, jen nevím jak :-(.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
23.2.2018 13:00 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
INPUT pravidlo je pravidlo pro pakety, které "končí" v zařízení. Předpokládam, že jde o pravidlo pro router, který pakety dále předává do internetu. Pak je potřeba použít pravidlo FORWARD
23.2.2018 14:34 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Pro začátek by mi stačilo i to, kdy končí v zařízení. Potřeboval bych pravidla nastavovat za běhu bez restartu firewallu :-(. Určitě nejsem sám, kdo něco takového řešil, jen se googlu asi špatně ptám :-(.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
23.2.2018 18:49 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Použijte ipset, pokud ten blacklist bude trochu větší, poznáte to i na efektivitě.
Pavel 'TIGER' Růžička avatar 23.2.2018 14:22 Pavel 'TIGER' Růžička | skóre: 53
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Já osobně na serveru virtualizuji IPFire. Ale existuje plno jiných distribucí k těmto účelům. Ano, zpohodlněl jsem. :-D
24.2.2018 08:51 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Jak říkám pomocí MAC adres to nebude fungovat pokud tam kde to nastavuješ není i ta wifi - jak paket projde přes router/switch tak bude mít MAC toho routeru/switchu.

Co nechápeš na tom aby tvůj DHCP server přiděloval IP svázané s MAC pak budou mít konkrétní zařízení konkrétní IP a můžeš je na routeru zablokovat.

Ale prostě toto dělat je na hlavu.....to ti stejně nepomůže, vše se dá lehce obejít.

Podle mě zbytečná práce.
24.2.2018 11:55 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Jak říkám pomocí MAC adres to nebude fungovat pokud tam kde to nastavuješ není i ta wifi - jak paket projde přes router/switch tak bude mít MAC toho routeru/switchu.

Citace ze včerejšího komentáře zazatele:

Na serveru běží DHCP server, který přiděluje IP adresy všem zařízením, včetně těch, která jsou na WiFi. Když si vypíšu z logu dhcp serveru přidělené adresy, vidím je včetně správných MAC adres daných zařízení.

Takže tam asi žádný router mezi nimi není (switch by MAC adresu nezměnil - pomineme-li, že některé firmy pro zmatení zákazníků routerům říkají "L3 switch").

24.2.2018 12:20 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Navíc domácí prostředí není nijak moc dynamické a může tazatel mít všechny zařízení mít v DHCP zaneseny staticky a nepovolit dynamické přiřazení. Obejít to samozřejmě jde, ale ukáže se jak jsou dítka znalé sítí.
26.2.2018 09:22 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Beru to tak - když budou umět blokování obejít, už nebude třeba. Nic složitejšího neplánuju. Původně jsem si říkal, že je budu blokovat podle IP adresy, ale musel bych řešit pevné přidělování adres podle MAC, nebo DHCP serveru nastavit delší timeout na změnu IP adresy.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
23.2.2018 18:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kromě toho, že budete potřebovat ošetřit INPUT i FORWARD, bych asi zkusil místo REJECT použít spíš DROP. Ono není moc jasné, jak přesně by se v tomhle případě (v kombinaci s podmínkou, která testuje linkovou hlavičku) ten REJECT vlastně měl chovat (to bych se musel podívat do zdrojáků a tolik času se mi nad tím trávit nechce).
26.2.2018 09:26 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Děkuji, zkusím a dám vědět jak jsem dopadl.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
vencour avatar 24.2.2018 12:40 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle jsem doma vyřešil Mikrotikem, umí access-listy na MAC adresu pro wifi a u něj i "od kdy do kdy co platí".
Konkrétně: v managementu Mikrotiku vidím, kdo je na wifi, jakou má MAC adresu a pro ni přímo můžu aplikovat pravidlo, u pravidla můžu mít i description pro přehled. Pro přehlednost můžu i v oněch klientech nastavit natvrdo IP adresu a i takhle je identifikovat. Pro wifi lze zadat i zda se bude uživatel autentikovat (komunikovat s AP) a zda bude mít stav forward (dostane se dál ze svého zařízení).
Umí to už ten snad nejlevnější Mikrotik.
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
26.2.2018 09:25 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
To by teoreticky taky šlo. Původní idea byla udělat jednoduché klikátko, kdy se manželka připojí k serveru přes VNC, případně si otevře webovou stránku, a tam si jednoduše nakliká co potřebuje. Nebude muset nic vědět o MAC, uvidí tam jen název zařízení, které tam zadám a nastaví si čas, případně blokne některé weby.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
26.2.2018 10:34 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Nastavení firewallu = filtrování blokování podle MAC adresy
Samozrejme ze by to išlo, veď presne toto sa montuje do moderných domácich routerov.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.