Mikro Data Center w 7 krokach – cz. 6 (konfiguracja Mikrotik)
W dzisiejszym artykule dokończę konfigurację firewalla – tym razem w zakresie chain forward i output.
Na końcu zaprezentuję też jak można powielić takie reguły firewallowe na nowego routera. Skopiuję je i odpowiednio zmodyfikuję tak, aby działały prawidłowo w nowym miejscu. Zapraszam!
Instrukcję w formie video zobaczysz tutaj 🙂
Topologia
Jak zawsze pracuję na bazie tworzonej dotąd sieci. Tym razem w zakresie moich zainteresowań są reguły firewalla na jednym z mikrotików – MT1-DC-DMZ.

Na mikrotiku MT1-DC-DMZ mam obecnie 19 reguł firewallowych. Na końcu listy wymienione są te domyślne. Chain Input ma już status „drop”, bo ten element jest już dopracowany (patrz artykuł….).
Natomiast forward i output wymagają zagospodarowania.

Tą ostatnią regułę Output Default oznaczyłem prefiksem DC-FW-OUTPUT i logi. Dzięki temu na terminalu odszukam wpisy dotyczące tej właśnie reguły.

Konfiguracja reguł (output)
Po uruchomieniu na terminalu polecenia:
/log/print follow where message- "DC-FW-OUTPUT"
pojawiają mi się pakiety, które mnie interesują.

Widzę tutaj pakiety z protokołem 89. Dotyczą one działania OSPF.
Po przyjrzeniu widzimy, że z adresu 10.255.255.6 (jeden z interfejsów wireguarda) wysyłane są pakiety na adres multicastowy z końcówką 5.
Podobnie z drugiego interfejsu – 10.255.255.18.

Sformułuję zatem regułę zezwalającą na taki ruch.
Już wcześniej miałem zdefiniowany adres 224.0.0.5 jako OSPF-Multicast, więc i tu z tego skorzystam.

Po wyzerowaniu liczników widzę, że już po tej jednej regule, żadne nowe pakiety nie trafiają do reguły Output Default.

W związku z tym kolejnej domyślnej reguły mogę już zrezygnować. Logi na razie pozostawiam do ewentualnego dalszego śledzenia tej reguły…


Jednocześnie od razu widać, że przy regule w zakresie input pojawiły się jakieś pakiety – sprawdzam od razu zatem, co to takiego?
Uruchamiam
/log/print follow where message- "DC-FW-INPUT"
Okazuje się, że są to same broadcasty – mac adres: 00:50:00:00:10:00.

Wyłączę zatem od razu tego niepotrzebnego klienta DHCP.
Po tej operacji widzę, że kolejne pakiety już się nie pojawiły – ani na input, ani na output.

Konfiguracja reguł (forward)
Pozostają nam zatem jeszcze pakiety przechodzące. Zajmijmy się więc teraz pakietami forward.

Zapinguję z mojego serwera Linux-DC-DMZ (10.140.0.1) do VPC11 (10.0.10.11).


Jak widać, od strony hosta ruch również przechodzi.
Żeby dokładniej przyjrzeć się, jak przebiega ruch tych pakietów, na regule Forward Default włączę logi i nadam jej prefiks.

Po uruchomieniu polecenia
/log/print follow where message- "DC-FW-FORWARD"
pakiety pojawiły się:

Widzimy, że jest ruch od 10.0.10.11 do 10.140.0.1 protokołem ICMP.
Ten ostatni na liście wpis to ruch do internetu – Linux próbuje sobie zsynchronizować czas.
Chcę, aby oba te rodzaje ruchu przechodziły. Ustalmy zatem reguły.
W pierwszym przypadku – protokół ICMP – są do wyboru różne stopnie szczegółowości reguły. Można ją ograniczyć tylko do pingów (czyli tylko do ICMP) lub opisać ją per IP.
Ja tym razem wybiorę opcję wskazania konkretnego protokołu a w przyszłości będę dodawał najwyżej kolejne wpisy.
Tworzę dwie reguły – dla ruchu w obu kierunkach.
Oczywiście, jeśli jest potrzeba, można na bieżąco definiować kolejne adresy na potrzeby tworzenia reguł.
Ja dodałem sobie takowy dla Linux-DC-DMZ.


Do zdefiniowania pozostała nam kwestia ruchu z serwera Linux do internetu. Tutaj zezwolę na ruch z adresu 10.140.0.1 do dowolnego adresu.
Możemy ilość reguł pozostawić w takiej formie:

Możemy też usunąć pierwszą z listy, bo tak naprawdę dzięki ostatnio dodanej regule także ruch związany z pingowaniem będzie realizowany.
Po ponownym zapingowaniu między Linux-DC-DMZ a VPC11 żadne nowe pakiety nie wpadły do reguły Forward Default.
Tą także możemy już wyłączyć.

Po chwili warto ponowić restart liczników i sprawdzić czy faktycznie w regułach drop nic nowego się nie pojawia.
W razie potrzeby dokonujemy oczywiście zmian czy też dodajemy kolejne reguły zgodnie z naszym zamysłem.
Eksportowanie reguł do innego routera
W tym artykule chcę poruszyć jeszcze jeden wątek związany z firewallem. Jest to możliwość przeniesienia już stworzonych reguł na inny router.
Wykorzystuję tu polecenie:
/ip/firewall/filter/export

Takie reguły wystarczy teraz skopiować.
Analogicznie wyeksportuję i skopiuję także listę zdefiniowanych adresów.
/ip/firewall/address-list/export

W moim przypadku powielam reguły stworzone na MT1-DC-DMZ i będę je przenosił na MT2-DC-DMZ. Wykorzystam terminal.


Reguły te wymagają oczywiście dopasowania do specyfiki mikrotika MT2-DC-DMZ.
Dopasowywanie to i weryfikacja przebiega dokładnie tak samo, jak to było robione na MT1-DC-DMZ, czyli ologowanie, analiza ruchu i licznika pakietów.
Dlaczego robię niejako replikę reguł na drugim mikrotiku? Obecnie MT1-DC-DMZ pełni u mnie rolę mastera. W przypadku jego awarii zadanie to przejmie MT2-DC-DMZ (obecnie backup) a ja chcę, żeby w takiej sytuacji ruch był realizowany dokładnie w ten sam sposób.

Na tym etapie zakańczam prace nad zabezpieczeniem mojego mini data center.
Na dokładniejsze zapoznanie się z powyższymi krokami pozwala film na You Tube – 22T50 7 Kroków Utworzenia Mikro Data Center [konfiguracja Mikrotik] cz.6. do obejrzenia którego zachęcam.
