Raspberry Pi - firewall (2 ethernet porty)
Ahojte,
prosím o radu skúsenejších (LINUX) ako vyriešiť nasledovný problém:
potrebujem blokovať prístup z PC na určitú IP adresu, resp. blokovať určitý port, podľa situácie...
keďže okolnosti neumožňujú riešiť to priamo v routri, rozhodol som sa pre RPi. Problém, že RPi má len jeden ethernetový port som vyriešil USB-ethernet prevodníkom.
Teraz má RPi 2 LAN rozhrania: eth0=zabudovaný priamo a eth1=USB/LAN.
Náčrtok ako to mám zapojené:
PC -> eth1 (USB/LAN) -> RPi -> eth0 -> router -> internet
Dosiahol som fungujúceho stavu, že sa na Rpi ale aj priamo na PC (pripojené do eth1) sa dostanem vo svojej vnútornej LAN odkiaľkoľvek tým, že som spravil na Rpi bridge (br0)->eth0 eth1... Samozrejme aj PC aj samotné Rpi má prístup na internet, resp kdekoľvek... Toto nie je problém, viem si ošetriť aj IP adresy... DHCP funguje tiež, ale používam všade statické IP adresy...
Momentálne mám nastavenú statickú IP na PC aj na bridge = br0... Všetko funguje podľa predstáv.
Teraz sa pokúšam nastaviť firewall...keďže nie som v tomto zbehlý, je to pre mňa zložité, rozhodol som sa pre UFW - Uncomplicated Firewall....
Nastavil som ho, povolil/zakázal odchádzajúcu komunikáciu, ale funguje to len pre Rpi....Keď zakážem akúkoľvek komunikáciu smerom von, z RPi sa nikam nedostanem, ale PC sa dostane všade, firewall sa ho akoby ani netýka...
Určite niečo robím zle, alebo som niečo nenastavil, resp. tomu nerozumiem...
Nájde sa tu dobrá duša, ktorá mi pomôže, poradí ???
Na otázky rád odpoviem, ale prosím berte ohľad, že som odchovaný na WINDOWSE.
Nedal si sem pravidla, takze tazko sa ti poradi preco nefunguju....ale ja sipim, ze problem bude v tom, ze mas eth dane do bridggu a pouzivas forward na fw.
Pravidla fw? ak zakážem vo fw všetko čo ide in/out (je jedno aké rozhranie) funguje to len vo vnútri Rpi...ako som písal na PC to nemá absolútne žiadny vplyv...
Ešte upresním:
Rpi má len jedno LAN rozhranie, ak pridám USB/ethernet tak mám 2 LAN...Obidva porty môžem zapojiť do routra a obidva fungujú samostatne (buď cez DHCP, alebo s pevnými IP adresami). čiže môžem mať 2 LAN rozhrania a každé má vlastnú IP adresu - toto funguje, ale toto nepotrebujem....
Lenže ja 1 port eth0 mám zapojený z Rpi do routra a druhý port eth1 z RPi do PC...vtedy komunikácia PC-internet nefunguje...preto bridge...
Čiže som eth0 a eth1 Rpi zapojil do bridge (urobil som z neho vlastne switch). eth0 a eth1 nemajú IP adresu má ju len bridge..,.vtedy komunikácia PC - internet funguje.
Problém mám s firewallom - funguje len v Rpi (pre začiatok používam v RPI GUI, takže si to overujem cez webový prehliadač v RPi).
Ak nenastavím bridge ako sa dostane PC zapojené do Rpi na internet?
Ake pravidla pouzivas? Input, ouput, ci forward?
Tu mas vysvetlene ako funguju ipchains.
https://tldp.org/HOWTO/IPCHAINS-HOWTO-4.html
Pripadne este lepsie tu ako to funguje v bridge rezime.
http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html
Normalne routovanim.
Ďakujem za odkaz, študujem...
Zatiaľ nepoužívam nič konkrétne, keď bude fungovať, základ = blokovanie out pre všetko, potom sa budem hrať s IP/portom...
Nastavené môžem mať čokoľvek in/out/forward na PC to nemá vplyv, iba v rámci samotného RPi. Mne je jasné, že mám niečo zle, ale neviem čo...
Napíš mi čo presne potrebuješ, dodám výpisy všetkých nastavení, sedím u toho...
Prosím objasniť "Normálne routovaním"... ako ?
aktuálne to mám takto:
pi@raspberrypi:~ $ sudo ufw status verbose
Status: active
Logging: off
Default: deny (incoming), allow (outgoing), allow (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
Anywhere DENY IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
Anywhere (v6) DENY IN Anywhere (v6)
Anywhere DENY OUT Anywhere
Anywhere (v6) DENY OUT Anywhere (v6)
V skratke a v jednoduchosti...bridge sa neroutuje lebo tam nie je co routovat a tym padom na tom iptables nefunguju.
To sa zmenilo od kernelu 2.6, kedy sa zaviedla podpora ebtables br-nf, cize uz je to mozne, nicmenej s tym nemam skusenosti a je to navyse podla mna blbost...take male znasilnovanie iptables z mojho pohladu.
Ak chces s tym trapit tu mas vysvetlenu konfiguraciu.
https://www.sbarjatiya.com/notes_wiki/index.php/Basic_ebtables_configuration
Ja byt tebou spravim si routovanie, cize mas tam eth0 a eth1.
Kazdemu pridel inu ip z ineho rozsahu.
Nadradenemu routru bud oznamis tento dalsi ip rozsah, ktory by on inak nevidel spolu s branou kam to ma smerovat alebo spravis maskaradu na vystupe rpi.
Priklad
hlavny router 192.168.0.1/24
rpi eth0 192.168.0.254/24
rpi eth1 192.168.1.1/24
Rpi pozna obe siete, ale hlavny router len 0, takze mu pridas staticku routu 192.168.1.0/24 via 192.168.0.254.
Pripadne spravis maskarada na eth0 a potom to robit nemusis, kedze o vsetko sa postara rpi...ale zo siete 192.168.0.0/24 nebude siet 192.168.1.0/24 viditelna, takze neviem, ci to takto chces.
Na akejto sieti ti budu fungovat vsetky bezne pravdila na fw na rpi.
ďakujem za objasnenie a vysvetlenie. Idem sa na to pozrieť trošku inak, lebo moje znalosti sú evidentne zatiaľ veľmi slabé...
čo som ale zatiaľ pochopil, tak bridge funguje na L2 a tým pádom pravidlá môjho fw na to nemajú vplyv...
OK idem si to celé ešte raz poriadne premyslieť a celé to prekopem...
Takže som spravil z Rpi vlastne router a firewall funguje...Škoda, že musím mať oddelenú sieť pre PC pripojené do Rpi, ale to vyriešim presmerovaním portov...
ďakujem flegovi, už som zase kúsok múdrejší...
Nebudes musiet robit ziadne presmerovanie ak pridas staticku routu na hlavny router a zrusis NATko na rpi.
Asi by som nemusel, ale ako som písal v mojej prvej otázke: "keďže okolnosti neumožňujú riešiť to priamo v routri"...
Toto sa hrám u seba doma, kde si môžem robiť čo chcem a viem čo môžem a čo nie, ale nasadené to bude v ostrej prevádzke, kde už
je vybudovaná infraštruktúra a nemôžem si tam robiť hokusy-pokusy...
To len na vysvetlenie...
Potom je to aj dobre, ze to mas oddelene NATkom, ak nemas dosah na nadradenu siet.