Firewall w Mikrotiku

Hej, pogubiłem się trochę w regułach mikrotika :smiley: proszę was o pomoc i wyjaśnienie.

Otóż mam w sieci router 1 który robi tylko za dhcp i wifi jest wpięty do MT który jest połączony z ISP.
Co chce zrobić router 1 ma włączone DHCP z zakresu (192.168.1.2-192.168.1.50) i przydziela je urządzeniom statycznie (po macu zawsze tam sam adres otrzymuja)

Ja chce z pozycji MT zablokować cały ruch dla tej podsieci i wpuszczać tylko te urządzenia które w danej chwili chce na zasadzie włączam/wyłączam regułe w firewallu.

w zakładce NAT ustawiam - w moim rozumieniu chce przypisać odpowiednie adresy do interfejsu wyjściowego :

/ip firewall nat
add action=same chain=srcnat comment=KOMP1 out-interface=1-WAN \
    same-not-by-dst=no src-address=192.168.1.2 to-addresses=189.222.***.***
add action=same chain=srcnat comment=KOMP2 out-interface=1-WAN \
    same-not-by-dst=no src-address=192.168.1.3 to-addresses=189.222.***.***
add action=same chain=srcnat comment=KOMP3 out-interface=1-WAN \
    same-not-by-dst=no src-address=192.168.1.5 to-addresses=189.222.***.***
add action=same chain=srcnat comment=KOMP4 out-interface=1-WAN \
    same-not-by-dst=no src-address=192.168.1.8 to-addresses=189.222.***.***

oraz

/ip firewall filter
add action=accept chain=forward src-address=192.168.1.2
add action=accept chain=forward src-address=192.168.1.3
add action=drop chain=input src-address=192.168.1.0/24
add action=drop chain=forward src-address=192.168.1.0/24

i rozumiem że w tym przypadku ma puszczać mt ruch tylko dla 192.168.1.2 oraz 192.168.1.3 a reszte dropować?
Nie wiem też czy dobrze rozumiem “forward” - czyli blokada ruchu między urządzeniami podpiętymi do tego samego routera (w LAN) , oraz “input” czyli to co wpada od zewnątrz na router?? :smiley:

Podpowiedzcie i poprawcie :smiley:

Firewall to warstwa 3 ISO/OSI. Twój ruch odbywa się na warstwie drugiej, więc nawet nie dotyka firewalla. Jeśli chcesz filtrować ruch na L2, musisz użyć firewalla na bridge, o ile masz bridge.

Twojego NAT kompletnie nie rozumiem i nie wiem po co takie kombinacje alpejskie. Jeśli masz statyczny IP, zrób SNAT. Jeśli masz dynamiczne i/lub PPPoE, użyj maskarady na interfejs wychodzący.

Nie, źle rozumiesz. RouterOS Mikrotika bazuje ja kernelu Linux, co oznacza, że korzysta z linuksowego filtra pakietów. Aby to lepiej zrozumieć poczytaj o iptables.

W skrócie:

INPUT - wszystko co przychodzi do Mikrotika i jest do niego kierowane;
FORWARD - wszystko co przychodzi do Mikrotika, ale nie jest do niego kierowane
OUTPUT - wszystko co wychodzi z Mikrotika i jest przez niego generowane.

To oznacza, że jeśli podłączasz się Winboksem, to podłączasz się do Mikrotika - pakiety kierowane są do niego. Jeśli zrobisz drop na port 8291 - to nie dostaniesz się do niego po adresie IP.
Jeśli chcesz zrobić drop między podsieciami, używasz do tego forward. Jeśli robisz przekierowanie portów na jakiegoś hosta w sieci, też forward.

1lajk

Mam jednego bridge na wszystko, dziwne jest to o tyle że jeśli używam

/ip firewall filter

add action=drop chain=input src-address=192.168.1.0/24
add action=drop chain=forward src-address=192.168.1.0/24

i nie dodam tej reguły

add action=accept chain=forward src-address=192.168.1.2
add action=accept chain=forward src-address=192.168.1.3

To faktycznie nie przepuszcza mi tych urządzeń dalej w sensie do internetu, ale zrobię to jak karzesz ustawie to samo w firewallu na bridge (tylko że tam nie będę w stanie tego po adresie IP dropa zrobić więc jak to ustawić? )
A co w przypadku gdybym nie miał bridge tylko router zrobiony na zasadzie LAN, WAN wtedy tych reguł nie jestem w stanie ustawić?

Wracając jeszcze na chwile do input i forward jednym słowem forward używa się do tego co dzieje się w obrębie mikrotika i sieci wewnętrznej plus np jakieś ataki, a input na wszystko to co wychodzi poza niego do sieci w formie aplikacji które sa zainstalowane na komputerach etc… :smiley: przepraszam jeśli znowu coś omylnie zrozumiałem :smiley:

i dziekuje za wyrozumiałość !

To znaczy co jest w tym dziwnego Twoim zdaniem? Spoiler: te 4 reguły dają dokładnie taki efekt jaki opisaleś i nie jest to dziwne ani trochę.
Ograniczenie tych reguł do konkretnych interfejsów ma sens, bo w przyszłości będzie mniejsza szansa, że w daną regułę złapie Ci się coś czego nie chcesz łapać.

Jesteś w stanie ustawić.

Nie. Ani trochę nie.
Tu masz podgląd: http://linux-training.be/networking/images/iptables_filter.png
Prostymi słowami: ruch, który będzie rutowany przechodzi przez FORWARD, inny na INPUT. To oczywiście uproszczenie, bo są różne tabele i te scenariusze bywają znacznie bardziej skomplikowane, ale na początek wystarczy zrozumienie tego.

Nie, nie jest. To jest L3, nie L2. Pakiety firewall w ogóle nie dotkną. Filtrować trzeba na L2, aby to działało, a da się, ale gdy ma się bridge.

Tam jest tak specjalna opcja, aby filtrował na firewallu L3 - Bridge > Settings > Use IP Firewall.

Nie.

INPUT - wszystko co przychodzi do Mikrotik i tylko do niego;
FORWARD - wszystko co przychodzi do Mikrotika, ale jest kierowane do jakiegoś hosta w sieci za Mikrotikiem - w obie strony.
OUTPUT - wszystko co wychodzi tylko z Mikrotika.

https://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables
http://www.physd.amu.edu.pl/~m_jurga/pld/firewall/

Zdecydowanie może to zrobić. Zauważ, że konfiguracja “LAN”, “WAN” jest bardzo typowa i gdyby pakiety “nie dotykały” firewalla to NAT byłby niemożliwy. Przez firewall nie przejdzie tylko ruch wewnętrzny tej podsieci ale tutaj mówimy o przepuszczaniu/blokowaniu ruchu za router i to jest jak najbardziej możliwe.

1lajk

Tak zgadzam się, ale pytanie dotyczyło filtrowania ruchu w tej samej podsieci, np. między 192.168.1.101, a 192.168.1.102. Chyba że coś źle przeczytałem?

Okej, masz rację chyba źle zrozumiałem pierwszy post. Jeśli ruch wychodzący do WAN ma być filtrowany, to tak to zadziała. Ja zrozumiałem, że chodzi o ruch między hostami.

Ciesze się że upewniliście mnie w tym że robie dobrze. Początkowe posty @roobal mnie zaniepokoiły bo wydawało mi się że mi to działa, on twierdził że nie może działać :smiley: a jest moim autorytetem przeglądając to forum i tematy sieciowo-serwerowe.
Dzięki za pomoc wszystkim !

1lajk

Nie tylko Twoim :wink: Chyba dla dużej ilość ludzi tutaj na forum tak jest.

1lajk

Miło to słyszeć/czytać. Mnie też zdarzają się pomyłki, w końcu jestem tylko człowiekiem, nie robotem :smiley: