Üdv!
Mivel nem igazán vagyok járatos az iptables terén ezért fordulok ide.
Adott 4 db VLAN: 10,20,30,100. A 10,20,30-as vlan a diákoké, itt találhatóak a kliensek (tartományi számítógépek, 3 vlan - 3 tanterem). A 100-as vlanba találhatóak a szerverek (Két tartományvezérlő stb.)
Adott egy Debian átjáró két interfésszel (eth0, eth1). Az eth1 megy az internet fele, az eth0-án pedig a belső gépek lógnak (eth0.10, eth0.20, eth0.30, eth0.100)
A következőket szeretném megvalósítani, és ehhez kérném a segítséget:
- A különböző vlanok között ne tudjanak kommunikálni, kivéve a 100-assal (Tehát 10-20, 20-30, 10-30 vlan ne tudja egymást elérni, megelőzve ezzel a Call of Duty lan partykat :) )
- Az internetet a diákok ne tudják elérni (ip alapon) csak transzparens vagy normál proxyval kivédve ezzel annak kikerülését. (Squid már működik)
- NAT (Túlterheléses)
- A szerverek normálisan tudjanak kommunikálni a külvilággal.
- Az internet felől ne lehessen elérni a belső hálót
Update:
DC1: AD, DNS, DHCP, IIS stb
DC2: AD, DNS, DHCP, IIS, WSUS, WDS stb
VLAN 10: 10.10.20.0/27
VLAN 20: 10.10.20.32/27
VLAN 30: 10.10.20.64/27
VLAN 100: 10.10.20.96/29
Ui.: Esetleg tudna valaki ajánlani hasznos leírást, ami alapján meglehet tanulni a tűzfalazást?
Előre is köszönöm!
Hozzászólások
tegyel fel valami tuzfal cuccot (pl shorewall), abban beallitod hogy mit merre _engedsz_, aztan az general majd neked iptables szabalyokat.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Nem is rossz ötlet, köszönöm!
olyan switch nélkül, ami tud dot1q -t, ad absurdum nincs értelme feltenni a vlan csomagot, remélem ebben a helyzetben van megfelelő switch; itt egy leírás ciscohoz http://www.techonia.com/1227/create-vlan-on-linux-with-cisco-catalyst-s…
--
>'The time has come,' the Walrus said<
D-link DGS1224T switch van használva. Ezt a leírást ismerem :)
akkor bocsi, nem szóltam ^^
--
>'The time has come,' the Walrus said<
de, így, ha a gyerkőcök átírják az ip-t, simán garázdálkodhatnak (+ vlanon nem is tudsz dhcpzni, bridge kell hozzá minimum, legalábbis, én azzal próbálkoztam anno)
--
>'The time has come,' the Walrus said<
Ha a switch porthoz hozzárendeli a VLAN tag-et, akkor szerintem IP átírással nem lehet megkerülni a VLAN-t.
Tévedek?
de, ez a switch amit említett, nem tud ilyet ahogy nézem :S
--
>'The time has come,' the Walrus said<
"de, ez a switch amit említett, nem tud ilyet ahogy nézem"
Konkrétan milyen dolgot kerestél amit nem tud, és szükséges lenne? Mert van "Configuration > 802.1Q VLAN fejezet. (Illetve ha más elv szerint szeretné rendezni, akkor a "Configuration > Asymmetric VLAN" is ide tartozhat.). DGS-1216T/1224T/1224TP/1248T Manual Web Smart Switch Version 3.20.
"vlanon nem is tudsz dhcpzni"
Mármint azt állítod, hogy a Debianon nem futtatható több (logikai) interfészen figyelő DHCP szerver? Vagy hogy a 802.1Q tagelt ethernet frame-ben nem megy át a DHCP kommunikáció? Alá tudnád ezt támasztani? Vagy arra gondoltál, hogy ha a DHCP szerver nem a Debianon, hanem a 100-as VLAN-ban lévő egyik szerveren futna? Akkor ugye a Debianon DHCP relayt állítasz be, és már kész is. Szóval nem értem, mire utaltál.
"ha a gyerkőcök átírják az ip-t, simán garázdálkodhatnak"
Két, egymástól L2-ben elszeparált hálózat között L3 gateway nélkül - azaz csak a DGS-1224T-n keresztül - miként lesz lehetséges az L3 kommunikáció, ha az L3 címet megváltoztatod? Tudnál erre példát adni? A szóban forgó DGS-1224T L2 switch, így a Debian feladata a két hálózat közötti routing és szűrés.
Ahogy 1soproni leírta, a jelenlegi topológia szerint a Debianon tűzfalszabályokkal lehet megfogni a forgalmat. Ezt a kérdező is jól sejtette.
forgive me, elsőre nem bökte ki a szemem a 802.1q
a vlanon való dhcp-zésre azt értettem, hogy pl eth0.10 -en nekem nem volt hajlandó, csak ha felhúztam rá egy bridzset
utolsó mondat meg tárgytalan a fent írtak miatt
--
>'The time has come,' the Walrus said<
Rendben.
A DHCP szerver működik VLAN interfészen is, természetesen kell hogy legyen IP-je, illetve a DHCP szerver hallgasson ezen az interfészen is, továbbá a konfigban legyen megadva a network is.
A DHCP szerver a vlan 100-ba van (debian gw-n isc-dhcp-relay-el)
100-as vlanba tartományvezérlők vannak + egyéb szerverek
> vlanon nem is tudsz dhcpzni, bridge kell hozzá minimum
érdekes, nekem megy Debian alatt vlan-on... :)
sejtem már hogy nálam mi lehetett a baj, ígérem kipróbálom ha lesz lehetőség
--
>'The time has come,' the Walrus said<
iptables -P FORWARD DROP
majd engedélyezed, ami mehet.
A proxy úgyis az INPUT láncba fut bele, tehát azt sem kell felvenni FORWARD-ba.
Debiannak semmi köze az egészhez.
Az adott switchportokat tagged VLANra állítod, és rendre hozzárendeled a megfelelő fizikai portokhoz a 10 és 100, 20 és 100, 30 és 100 VLAN ID-ket. (Illetve amin a szerverek vannak, azokra 10,20,30,100-at.)
Tsókolom.
(Praktikusan a 100-ra nincs is szükség, csak abban az esetben, ha akarsz olyan forgalmat (is), ami sem a 10 sem a 20 sem a 30-ból ne legyen látható.)
De mivel a debian az átjáró, ezért ha a forward-ba accept van, akkor ugyanúgy átlátnak a gépek másik vlanokba, mintha nem is lennének.
Na ez az amit szeretnék megakadályozni :)
Egyik korábbi hozzászólásod alapján a DHCP szerver a 100-as VLAN-ban van...
Csak kérdezem, hogy honnan fogja tudni a DHCP szerver, hogy honnan jött a kérés?
--
Debian Linux rulez... :D
( Dudu94 | 2013. május 2., csütörtök - 10:36 )
A DHCP szerver a vlan 100-ba van (debian gw-n isc-dhcp-relay-el)
100-as vlanba tartományvezérlők vannak + egyéb szerverek
A Debian átjáró is megkapja a kérést aztán az isc-dhcp-relay tovább dobja az általam megadottnak.
Ez olyasmi, mint cisco router-en az ip-helper parancs.
Ok... Még mindig nem értem az értelmét...
Adott egyik oldalon 3 VLAN: 10,20,30 Ezekben a kliens gépek, amik IP címet a másik oldalról kapnak...
A másik oldalon a 100-as VLAN, ahol a DHCP szerver is van... (A gw-en meg a relay.)
Milyen IP címeket tudsz kiosztani a 10-es, 20-as, 30-as hálóknak, amikből mind látja a túloldalt?
Miért nem lehet a GW-en DHCP-zni?
--
Debian Linux rulez... :D
"Milyen IP címeket tudsz kiosztani a 10-es, 20-as, 30-as hálóknak, amikből mind látja a túloldalt?"
A VLAN10-ben lévő klienseknek a 10-es VLAN-ban lévő címtartományból, a VLAN20-ban lévő klienseknek a 20-as VLAN címtartományából, a VLAN30-ban lévő klienseknek a 30-as VLAN címtartományából. (Lásd még: giaddr). Nincs semmi mágia, mindenki a neki megfelelő poolból fog címet kapni.
"Miért nem lehet a GW-en DHCP-zni?"
Lehetne, de nem feltétlen szükséges. A relay segítségével is elérhető ugyanaz az eredmény - mármint tisztán a DHCP-s szempontokat figyelembe véve. Elképzelhető, hogy a DHCP szerver mást is csinál, vagy csak egyszerűen adminisztrációs szempontból a konkrét esetben célszerűbb a VLAN100-ban lévő szerveren futtatni a DHCP szervert.
A kérdezőnek nem DHCP-s problémája van, az működik neki jelenleg is. Tűzfalazási kérdése volt, amire megkapta a megerősítést, hogy az iptables a megfelelő eszköz a problémára. Konkrét tűzfalszabályt nem tudunk írni neki, mivel nincs a pontos igényre vonatkozó adat. A szokásos módon tud írni szabályokat.
Lenne egy kérdésem.
Ha van egy switch amin lóg 2db gép mégpedig ugyanabban a VLAN-ban. Akkor ahhoz hogy őket meggátold abban, hogy egymást lássák hiába teszel tűzfalat a GW-re vagy a VLAN-okat routoló eszközre, mert a switchen lezajlik a forgalom. Ahhoz hogy egymást lássák nincs szükség GW-re.
A tűzfalon azokat a csomagokat tudod szűrni amik kilépnek vlanból. Vagyis ha a switchen a két gép két külön vlanban van akkor áthalad a tűzfalon a csomag.
Tehát ahhoz hogy egymást se lássák, a korlátozásokat a switchen kellene ACl-el beállítani.
Rosszul gondolom?
Teljesen jól gondolod, hogy alapesetben az ugyanabban a VLAN-ban lévő eszközök közötti kommunikációhoz (itt most L2-ről beszélünk) nincs szükség gatewayre és routingra, az azonos VLAN-ba tartozó eszközök látják egymást. L3-ban azonos VLAN-ban lévő gépek esetén is szükséges (lehet) a gateway, ha a két host külön IP subnetben van.
"Tehát ahhoz hogy egymást se lássák, a korlátozásokat a switchen kellene ACl-el beállítani."
Így van (nem feltétlen ACL, de a rendes switchekben van ilyen jellegű funkció). Cisco switchekben ez protected port néven fut.
Viszont az eredeti kérdező nem ezt szeretné ("Tehát 10-20, 20-30, 10-30 vlan ne tudja egymást elérni"), hanem csak a különböző VLAN-ok közötti forgalmat szeretné korlátozni, amit célszerűen a gatewayen tűzfal segítségével tehet meg. Tehát a te felvetésed önmagában igaz, de nem vonatkozik az eredeti kérdésre.
Igazad van.
Feltételeztem, hogy "A diákok ne tudják egymást elérni" -be beletartozik az összes diák.
Bár így a tantermen belül mehet a party, csak a tantermek között nem.
Megpróbáltam egy kicsit konkrétabban, érhetőbben megfogalmazni :) (UPDATE)
szábszkrájb :) a végeredményhez vezető infókat publikálhatnád majd ^^
--
>'The time has come,' the Walrus said<
Publikálni fogom!
"ami alapján meglehet tanulni a tűzfalazást"
Az első lépés legyen az, hogy össze tudd szedni, milyen forgalomtípusok fordulnak illetve fordulhatnak elő a hálózatodban. Ez igényli a telepített rendszerek által generált forgalmak ismeretét. Ezután meghatározod, hogy ezek közül melyek a szabályozandók, tehát milyen forgalmat akarsz engedélyezni illetve tiltani, milyen módon és milyen okból. Ennek megfelelően fel tudod írni a szabályokat a logikai sorrend betartása mellett. Végül ezeket a szabályokat a megfelelő eszköznek (Linux rendszerek alatt ez elsősorban az iptables) megfelelő formába öntöd.
És most a konkrét kérdéseidre:
0.) Ahogy 1soproni is javasolta, alapesetben mindent tiltunk, valamint stateful tűzfalat próbálunk írni, és az egyszerűség kedvéért ezt most egyben kezeljük:
1.) "A különböző vlanok között ne tudjanak kommunikálni, kivéve a 100-assal (Tehát 10-20, 20-30, 10-30 vlan ne tudja egymást elérni, megelőzve ezzel a Call of Duty lan partykat :) )"
(Ezt a jelenlegi információk szerint meg lehetne oldani egyetlen sorral is, de így szebb, tisztább.)
2.) "Az internetet a diákok ne tudják elérni (ip alapon) csak transzparens vagy normál proxyval kivédve ezzel annak kikerülését. (Squid már működik)"
A default policy DROP, így ha explicite nem engeded ki, akkor nem fog kijutni.
3.) "NAT (Túlterheléses)"
4.) "A szerverek normálisan tudjanak kommunikálni a külvilággal."
A natolást a 3.) pontban elintéztük.
5.) "Az internet felől ne lehessen elérni a belső hálót"
Lásd a 2. ponthoz írt megjegyzést.
Ne csak bemásold, hanem értsd is meg. Ebben segítség a man iptables, illetve a netfilter honlapján található leírások, beleértve a HOWTO, FAQ és Tutorial részeket is. A fenti sorok csak a vázát adják a tűzfaladnak, fontos hogy az igényeknek megfelelően bővítsd. Amiért nem lehet teljes a fenti szabályrendszer az az, hogy a VLAN ID-kon kívül nem ismerjük az IP subneteket, a szerverek által nyújtott szolgáltatásokat stb.
Köszönöm, ez nagy segítség!
DC1: AD, DNS, DHCP, IIS stb
DC2: AD, DNS, DHCP, IIS, WSUS, WDS stb
VLAN 10: 10.10.20.0/27
VLAN 20: 10.10.20.32/27
VLAN 30: 10.10.20.64/27
VLAN 100: 10.10.20.96/29
Alapvetően iránymutatás volt az előző hozzászólásom, és egy figyelmeztetés arra vonatkozóan, hogy a leírt iptables sorokat át kell szerkesztened. Most leírtad, hogy milyen hálózatok vannak a Debian VLAN interfészein. Ezeket értelemszerűen helyettesítsd be az általam írt 192.168.x.0/24-ek helyére.
A futtattott szolgáltatásokra vonatkozóan pedig arra utaltam, hogy a fenti hozzászólás szabálya a VLAN 100 felé a VLAN 10, 20, 30 felől mindent átenged. Ha ezt szigorítani akarod, akkor a futtatott szolgálatásoknak megfelelően szűkíts (pl.: DNS UDP/53, TCP/53; IIS web: TCP/80 és/vagy TCP/443 stb.).
Írd meg a szabályaidat, és ha valami nem működik, olvass utána egy kicsit, majd ezután kérdezz, válaszolni fogunk. De ne azt várd, hogy valaki távolról a te rendszeredre szabott, részletekig kidolgozott szabályrendszert írjon, amit csak be kell másolnod.
Rendben, köszönöm a segítséget!
Nem azt vártam, hogy valaki megírja helyettem. Természetesen a megoldást majd leírom ide!
Ok, úgy látom nem voltam egyértelmű...
Gondoltam, hogy megfelelő tartományban lévő IP címeket oszt ki... :D És erre a giaddr nagyon jó segítség. Viszont:
1. SZERINTEM egy SMB-s hálózatban nem kellemetlen, ha a szerver ugyanabban a szubnetben van, mint a kliens... (broadcast-ek, stb.) És ha VLAN10 szubnetjében van a szerver (ami a VLAN100-ban van), akkor már nem lehet VLAN20-ban is... Azaz a VLAN10, VLAN20, VLAN30 és VLAN100 mind különböző szubnetek...
2. A jelenlegi felállásban a gateway szerintem felesleges feladatokat végez: route-ol, csomagokat továbbít... ha ez megáll, akkor az egész rendszer áll meg. De elég, ha csak leterheled... Mindenki lassulni fog...
Én csak a három felhasználói VLAN-t tartanám meg és a szervereket tenném bele mindháromba... Természetesen alapból (tudtommal) a szerverek nem forwardolnak a hálók között...
A gateway pedig megmaradna monjduk DHCP, DNS, proxy és tűzfal szervernek...
Ha ez leáll, attól még a hálók valamilyen szinten működhetnek maguktól... (Főleg ha DHCP és DNS marad a szervereken)
--
Debian Linux rulez... :D
+1
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/
De mi a baj a lanpartykkal? :)
--
#conf t
#int world
#no shut
En csak annyit tennek hozza, hogy en biztos nem igy alakitanam ki a vlan beli ip-ket.
Hanem igy:
VLAN 10: 10.10.10.0/24
VLAN 20: 10.10.20.0/24
VLAN 30: 10.10.30.0/24
VLAN 100: 10.10.100.00/24
Hiba kereses eseten csak megnezed az IP-t es mar tudod melyik VLAN-hoz tartozik, nem pedig szamolgatsz, hogy ez most akkor VLAN10 vagy VLAN20 estleg VLAN100