Firewall na wirtualnej maszynie


(hosti) #1

Cześć wszystkim,
przychodzę do Was po małą poradę/pomoc. Mianowicie, na moim serwerze HP N54L, chciałbym w końcu zrobić domowego laba. Główne założenie aby stał się bramą z firewallem dla wszystkich urządzeń w domu. Pokrótce aktualny stan, i pomysł na zmiany.

Aktualny stan i przyczyna zmian.
Zmieniłem łącze na 250/62 - światło. Router WRT54GL na tomato niestety nie przekracza 30-tki, w związku z tym stał się wąskim gardłem na świat. Dlatego potrzebuję zmian.

Pomysł na zmiany.
Ów serwer w chwili obecnej pracuje w sieci jako typowy NAS z OpenMediaVault (niewspierany już 2.2.14 Stone burner z Seafile) na pokładzie. A więc i tak za chwilę do zaorania i postawienia systemu na nowo.
Moje założenie jest takie aby wykorzystać jego moc i maksymalnie wykorzystać jako:

  • Firewall (chciałbym postawić pfsense lub OPNsense, skłaniam się bardziej ku drugiemu - wg mnie lepszy dashboard - wymagany 1GB ramu - byłby też serwerem RADIUS-a dla sieci WiFi + domena z DynDNSa)
  • Serwer NAS (OMV lub coś innego - 2GB ramu)
  • Seafile jako chmura dla plików (nie chcę OwnCloud ani NexCloud)

Sprzęt w domu

  • HP Microserver N54L (Firewall/NAS/Cloud | RAM 4GB + planuję dokupić NIC 1Ge dwa lub cztery porty, na pokładzie mdadm z RAID5 - 3 HDD 2TB WD RED + 250GB Samsung z systemem)
  • 2 laptopy
  • 3 telefony
  • Raspberry pi 1 model b+ (z OSMC do oglądania)
  • Dekoder NC+
  • Amplituner
  • WRT54GL (jako AP dla ww. komórek ew. laptopów + switch dla Rpi, dekodera i amplitunera )
  • TP-Link TP-WR740N
  • w planach zakup Zyxela GS-108B 8 portowego gigabit (do kupienia 2 sztuki drugi 5portów za 70zł) lub Netgear GS105 około 80zł (5 portowy dla laptopów, które w zasadzie są jak stacjonarne).

Wirtualizować czy nie wirtualizować, oto jest pytanie.
I tu stoję przed dylematem. Jeżeli wirtualizacja to jaka? Uruchamiać kilka jajek na domowe potrzeby (OMV, OPNSense i system podstawowy)? Jest sens? Jak z przepuszczeniem całego ruchu do wirtualnej maszyny aby OPNsense był firewallem dla wszystkich urządzeń? Co w takim przypadku z systemem hostem? Byłby narażony jako pierwszy system bez ochrony lub mała ochrona przez ufw+clamav? Chyba, że się mylę.

Może ogarnąć wszystko na jednym systemie (Debian 9)? Jeżeli pójść tą drogą, to myślę że potrzebowałbym zmian w HP-ku. Przenosząc dysk 250GB z systemem w wolne SATA zamiast CD zamieniłbym go na 500GB + jeszcze jeden taki dysk w wolnej zatoce i zrobić go w RAID 1. Kolejne trzy zatoki pozostałby RAID5. Dałoby się ogarnąć skryptami + cronem aby backup ważnych plików był krzyżowy? Chodzi mi tu że dane z Raid 1 kopiowałyby się na RAID 5 i na odwrót. Takie małe bezpieczeństwo w razie padu któregoś z dysków. Niejestem zbyt biegły w linuksach i większość chciałbym po łatwej lini oporu (kliku), z tąd też poniekąd OPNsense zamiast np. OpenWRT czy VyOS. Webmin byłby chyba dobrą opcją dla takiego rozwiązania?

Czy może zostawić dysk z systemem jak jest i w wolną zatokę dołożyć 2TB i zrobić go jako hotspare?

Do wykorzystania jest jeszcze wolne USB na płycie gdzie mógłbym dać pendrive 32GB na system, dwa dyski na RAID1 a dane na RAID5? Tylko ponoć stawianie systemu na pendraku jest dość karkołomnym pomysłem w przypadku uszkodzenia go, wszystko leży.

Pytań dużo ale może ktoś podbpowie/dopomoże którą drogę wybrać. Może macie jakieś podobne rozwiązania u siebie i możecie się podzielić doświadczeniem? Chciałbym aby było bezpiecznie, ale też niestrzelać z armaty do muchy :slight_smile:
Z góry dzięki za każdą ewentualną pomoc.


(eskimosek) #2

Możesz to wszystko zrobić na 1 systemie,wirtualizacja tutaj nie wiem po co. Na takim debianie wszystko będzie działać. Co do firewall to na debianie prosty i łatwo skonfigurować firewalla moim skryptem http://frog.certik.pl/ipfirewall który wszystko upraszcza do minimum.


(hosti) #3

To, że idzie wszystko zrobić na jednym systemie to zdaję sobie z tego sprawę, ale… tak jak napisałem. Niejestem zbyt biegły w linuksach i większość chciałbym po łatwej lini oporu (kliku), z tąd też chcę OPNsense zamiast np. OpenWRT czy VyOS. Dzięki za skrypt, napewno go przejżę aczkolwiek żadko kiedy od tak wrzucam skrypty do systemu prosto z neta :slight_smile: Różne różności mogą się tam znaleźć :wink:


(eskimosek) #4

Ty wiesz najlepiej czego potrzebujesz,skrypt nawet w nim jest napisane żeby przetestować najpierw ale jest prosty jak konstrukcja cepa i nie ma tam żadnych świństw.


(MatX_) #5

Ale co to za skrypt kolego?
Zamiast bez namysłu proponować te skrypty na forum może wytłumaczyłbyś co one właściwie robią?
Bo wiesz, może się okazać, że to co tam stworzyłeś nijak ma się do potrzeb ludzi którzy proszą o pomoc.


(eskimosek) #6

Przecież nikomu nie każe z tego korzystać.C o on robi … ustawia regułki dostępu na podstawie dzialacych usług i ma dodatkowe opcje jak blokady zakresów ip,kasowanie zbędnych reguł ,instalacja openvpn itd itd.


(roobal) #7

@eskimosek często pisze coś bez namysłu, a później nie potrafi tego wyjaśnić :wink:

Wirtualizacja jak najbardziej ma sens. Wygodnie przenosi się VMki pomiędzy fizycznymi maszynami. Na pewno wygodniej, niż klonowanie macierzystego systemu.

Do wirtualizacji polecam KVM, szczególnie do jakichś gotowych rozwiązań typu pFsense czy OMV. Linuksy, które chciałbyś stawiać sam od zera, np. do Samby, FTP itp. możesz stawiać w kontenerach LXD obok KVM.

Jeśli router ma być na VMce, robisz dwa bridge: 1. Jako WAN z pierwszą kartą sieciową; 2. Jako LAN pozostałe karty. Na VMce z programowym routerem spinasz oba bridge, resztę VMek z drugim bridge i hosty wpinasz w pozostałe karty sieciowe. To jest najprostsze rozwiązanie.

Backup krzyżowy raczej nie ma sensu. Backupuj wszystko na RAID5 lub dokup zewnętrzny dysk twardy lub zrob z RAID5 RAID1 i 3 dysk wykorzystaj na backup obu macierzy. RAID już chroni Cię przed uszkodzeniem dysku i małoprawdopodobne jest, aby nagle padły Ci 2 dyski. Monitoruj SMARTEM, możesz napisać skrypt, który wyśle Ci maila, gdy kondycja dysku będzie wskazywała na jego wymianę. Wówczas będziesz wiedział, że coś się dzieje i należy wymienić dysk. Zresztą, gdy któryś z dysków Ci padnie, zauważysz szybko, gdy spadnie Ci wydajność do takiego momentu, gdzie VMki przestaną sie uruchamiać. Wymieniasz dysk, odbudowujesz RAID i działasz dalej.


(MatX_) #8

Od siebie do wirtualizacji polecę Proxmox, środowisko do zarządzania VMkami, bazujące debianie i umożliwiające uruchomienie KVM I LXC.
Proste do wdrożenia praktycznie bez znajomości linuxa.


(bachus) #9

@eskimosek Kiedy przestaniesz pisać, że to Twój skrypt? Mieliśmy już o tym dyskusję. Jedyne co ma wspólnego że Twój- wgrałeś na swój hosting i dopisałeś 2-3 linijki i skleiłeś min. dwa inne skrypty.


(eskimosek) #10

XD no ba ,nie róbmy offtopa ,“moim” tzn ze tym co podałem.Przecież nie ukrywam tego że to jest poskładane z innych skryptów ale dodałem tam pare rzeczy żeby było najprościej jak się da.
Ad rem : nie wiem po co robić VM na storage skoro można to zrobić bez VM. VM sie nie sprawdza w przypadku przechowywania dużej ilości danych bo tworzy komplikacje i zwiększa awaryjność.W przypadku np. problemu z systemem plików wystarczy zalogowac sie na chroot i podmontowac odpowiednie partycje żeby mieć dostęp do wszystkiego. VM to siee tworzy bardziej pod aplikacje a nie pod storage czyli na jednej vm np. baza danych ,na drugiej serwer www ,na 3 inny serwer jakiś tam.Ale VM na storage to jakby jechać z Poznania do Warszawy przez Gdańsk czyli dużó wiecej czasu i mniejsza efektywność i ogólnie mało sensowne.,bo jakie są korzyści z trzymania VM typu storage jak można na hoście znacznie wygodniej.


(MatX_) #11

Przecież on nie chce tylko przechowywać plików ale wykorzystwywać jeden serwer do wielu celów więc kontenery nadają się idealnie. Zwłaszcza, że jak pójdzie coś nie tak to wystarczy skasować VMke i utworzyć nową co trwa znacznie mniej czasu niż stawianie całego systemu i konfiguracja wszystkich usług.


(bachus) #12

To ten G7? Tam chyba dwa sloty RAM? Fajnie by jednak było mieć te 8GB, większe możliwości zabawy… Tak jak mówisz, hypervisor spokojnie możesz na pendrive - próbowałeś VMware (ESX)? Nie ma b. dużego narzutu na swój OS, duże możliwości, ciekawe możliwości backupu (warto jednak zrzucać maszyny na bok co jakiś czas, jak masz backup to w przypadku awarii prosto odpalić taką VM nawet na prostym laptopie). Firewall spokojnie możesz na VM, miałem tak pfSense - tylko rzeczywiście dodatkowa k. sieciowa się przyda, żeby nie robić ‘routera na patyku’. Storage - tu może być ciekawie. Ja ogólnie na Twoim miejscu dorzucił bym SSD na OSy - chociaż jakiś nieduży. I/O dysków to podstawa, potem pamięć i na końcu CPU. Same przechowywanie plików (filmy itd.) na poziomie ESXa jeden z dysków może jako RAW właśnie na te dane (serwer NAS do tego podpięty jako VM) i backup.


(roobal) #13

Ktoś tu już pisał o braku wsparcia dla mdraid. Genaralnie proxmox jest słaby. Do zarządzania KVM polecam Archipel. oferuje zarządzenie kilkoma serwerami z jednego panelu i jest czytelniejszy.

Ktoś jeszcze korzysta z LXC? Nie warto się już w to pchać, gdy LXD obecnie mocno się rozwija i zdecydowanie bardziej nadaje się do stawiania VM.


(roobal) #14

Lol, a na VM nie można zalogować się na chroot? Pomyśl zanim coś napiszesz. Co do storage, to w dużych środowiskach, owszem, nie ma to sensu, ponieważ duże środowiska inwestują w storage w postaci serwerów NAS, do których można dopinać półki dyskowe. Do VM przypina się tylko iSCSI.


(eskimosek) #15

Można sie zalogować tylko jest taka różnica że trzeba ją najpierw uruchomić a w przypadku problemu z file systemem może to być bardziej problematyczne niż normalnie ponieważ takie pliki dysków VM uzywanych do storage muszą być dośc spore.I co w przypadku kiedy sie nie uda ,cała VMka z wszystkimi danymi idzie w p***du.Wiec napewno takie rozwiazania są troche z kosmosu. Co do proxmox … kurcze nie wiem czy ty masz jakieś uprzedzenie do proxmox … proxmox jest naprawdę super i nie wiem jak można psioczyć na proxmox zwłaszcza że jest za darmo.Archipel którego tak polecasz nie ma nawet dokumentacji,moze napisz do dev archipela żeby ogarnęli taka dokumentacje jaka ma proxmox i później polecaj.
BTW to jest dokumentacja proxmoxa https://pve.proxmox.com/wiki/Documentation
a to Archipela https://github.com/ArchipelProject/Archipel/wiki


(roobal) #16

Nie mam uprzedzenia, po prostu proxmox jest słaby. To już virtmanager jest lepszy. Czym różni się filesystem na qcow od dysku fizycznego? Wytłumaczysz?

Archipel to tylko panel, nie całe srodowisko uruchomieniowe, więc do czego chcesz dokumentację jak do proxmoksa? Człowieku Ty nie ogarniasz takich rzeczy i wypisujesz farmazony. To tak jakbyś pisał, że w dokumentacji pidgina nie ma tego co jest w dokumentacji ejabberd. Czujesz różnicę?

Proxmox to cały system wraz z hypervisorem. Archipel to tylko panel zarządzania, do ktorego podpinasz wszystkie hyperwizory kvm jakie masz i jest wg mnie lepszy. Wszystko masz na centralnym serwerze. Jak masz 1 lub 2 serwery to stawiaj sobie proxmoksa. Gdy masz 20, 50, 100, 200 serwerów, to życzę powodzenia logować się do kazdego, zamiast centralnie tym zarządzać.


(eskimosek) #17

Mozna przez network block device podmontowac dysk VM typu qcow ale weź sobie taka hipotetyczna sytuacje ze brakuje miejsca na dysku i czesc danych jest utrzymywana na swap i taki jeden dysk jest plikiem na 2 partycjach.Jak nie umiesz sobie wyobrazić że takie coś może prowadzić do utraty danych to niewiem.
Z tego co mi sie obilo o uszy to Archipel dziala w oparciu o protokol Jabbera czy czegos takiego ,na srodowiskach produkcyujnych ten protokol moze byc najslabszym punktem calej wirtualizacji.Ze nie wspomne o takich przypadkach ze ktos znalazl jakis bug i usunal kilkaset tys stron z internetu wiec trzeba miec ograniczone zaufanie do zarzadzania przez zcentralizowany protokol.Przesledz sobie jak shakowano vaserv.com to moze ci to cos rozjasni.Wlasnie przez wiare w takie rozwiazania niesprawdzone od wirtualizacji.
https://www.theregister.co.uk/2009/06/08/webhost_attack/


(bachus) #18

Ten MicroServer ma ogólnie bardzo cienki RAID, to taki pecet od HP… Ja tam bym pewnie poszukał na OLX/Allegro NASa bez dysków, tam przełożył obecne dyski a serwer uruchamiał z pendrive (na płycie głównej też jest port USB).


(hosti) #19

Dzięki Wam za informacje. Postanowiłem i zrobię to tak:
W pierwszej kolejności hardware - dokupię RAM-y bo faktycznie podliczając wszystko 4GB będzie “na styk” więc a znalazłem dość tanie (i tu właśnie włącza się czerwona lampka - bo chyba za tanie http://allegro.pl/samsung-4gb-pc10600-ddr3-1333mhz-via-sis-amd-i5085200408.html) ale są DDR3 1333 UDIMM więc powinny chodzić. W razie czego jest 14 dni na odesłanie. Choć alegrowicz nie odpowiada na pytania.
Do tego karta NIC dwu portowa.

System Debian 9 jak pisałem wyżej z KVM-em + VirtManager na jakimś lekkim środowisku (LXDE lub XFCE).

@MatX1 - największy problem proxmoxa w moim wydaniu to RAID na mdadm. Zgodnie z ich dokumentacją, jest niewspierany, dlatego odpada. Choć patrząc na YouT jakiś niemiec dał radę. W internecie wszystko można :smiley:

@roobal - dzięki za wyjaśnienie z przerzuceniem rucho, jedno pytanie tylko mi się nasuwa na myśl. Jak w takim przypadku będzie chroniony host (w tym przypadku debian)? Bo przecież nie wepnę go w wirtualny LAN ani tymbarziej w port na karcie. Chyba, że czegoś nie łapię.

@bachus - tak, ten G7 tak jak pisałeś, ma tylko dwa banki. Według dokumentacji HPE możliwość jest rozbidowania tylko do 8GB. Ponoć są BIOS MODy do niego, które dają możliwość podpięcia do 16GB. Niestety na dzień dzisiejszy nie znalazłem nigdzie opisu + aktywnych liknów do pobrania ów modów.
Dotałem jeszcze jedną informację odnośnie G7.
G7 to jest zwykły komputer desktop-grade i w wypadku awarii RAM-u tak samo po prostu zatrzyma się cały system, a w BIOS-ie i tak nie będzie żadnej informacji o wadliwym module. Dopiero w G8 stosowanie ECC ma realny sens. To tak dla kogoś gdyby szukał informacji.


(bachus) #20

Tak, dokładnie - ten mikroserwer to taki pecet z nazwą “serwer”. RAID jest bardzo ubogi a jak napisałeś - ten pecet w razie awarii sprzętowej nie podtrzymuje ‘produkcji’, nawet ten RAID w przypadku wysypania dysku potrafi zawiesić cały OS/zrestartować. Awaria dysku też wymaga wyłączęnia serwera (to nie są przecież hot-swapowe dyski SAS).