Ez a bejegyzés megpróbál egy kicsit tisztázni, hogyan működnek a hálózatok, és hogyan lehet Linux-berendezésünket olyan routerré változtatni, amely egy kicsit biztonságosabbá teszi hálózatunkat, akár otthon, akár üzletben. Szóval kezdjük a dolgot:
Útválasztás és szűrés
Az útválasztásról való beszélgetéshez és megértéshez először meghatározhatjuk, mi a szerepe az útválasztónak? Erre azt mondhatjuk, hogy egy útválasztó a hálózat létrehozása és a más berendezésekkel való kapcsolat lehetővé tétele mellett (tudva, hogy ezt AP-vel, Switch-el, Hub-tal vagy másokkal is megtehetjük) képes két különböző hálózatot összekapcsolni egymással.
Amint a képen láthatjuk, van egy helyi "10.0.1.0" hálózat, amelyet az útválasztó hoz létre, és eléri két interfészének egyikét. Ezután a másik interfész routerének van egy másik hálózata, amelynek nyilvános IP-jével csatlakozhat az internethez. Az útválasztási funkció alapvetően a két hálózat közötti közvetítőként szolgál, hogy kommunikálni tudjanak.
Linux mint router.
Természetes, hogy a Linux kernel már képes az "továbbításra", de alapértelmezés szerint le van tiltva, így ha azt akarjuk, hogy Linuxunk ezt a munkát végezze, akkor át kell mennünk a fájlba.
/proc/sys/net/ipv4/ip_forward
Meg fogjuk találni, hogy ez egy fájl, amely csak nulla "0" -t tartalmaz, ezért ezt a viselkedés aktiválásához meg kell változtatnunk egy "1" -re. Ez sajnos törlődik, amikor újraindítjuk a számítógépet, hogy alapértelmezés szerint aktiválva hagyjuk, a következő parancsot kell használnunk:
sysctl net.ipv4.ip_forward=1
Vagy szerkesztheti közvetlenül a fájlban /etc/sysctl.conf. A terjesztéstől függően ez a konfiguráció a /etc/sysctl.d/.
Alapértelmezés szerint Linuxunknak rendelkeznie kell útválasztási táblával, amely általában a LAN hálózatunk konfigurációja és az útválasztóval való kapcsolat. Ha ezt az útvonalat szeretnénk látni, két parancsot használhatunk:
route -n
o
netstat -nr
Mindkét parancsnak ugyanazt kell visszaadnia.
Általában ez a konfiguráció elegendő ahhoz, hogy a Linux átjáróként szolgáljon, és más számítógépek navigálhatnak a számítógépünkön. Most, ha azt akarjuk, hogy Linuxunk két vagy több hálózatot kapcsoljon össze, legyen szó akár helyi, akár nem, használhatunk statikus útvonalakat.
Tegyük fel, hogy a Linuxomnak két hálózati interfésze van, az elsőnek van egy internetkapcsolata, amelynek hálózata 172.26.0.0, a másodikban (10.0.0.0) pedig van néhány számítógép egy másik helyi hálózatról. Ha csomagokat akarunk átirányítani a másik hálózatra, használhatjuk:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8
Általában ez:
route add -net REDDESTINO netmask MASCARA gw IPDELLINUX
ha adunk útvonal -n függetlenül attól, hogy létezik-e ez a hálózat, vagy sem, ez az útválasztás rögzítésre kerül a táblázatunkban.
Ha meg akarjuk szüntetni az említett útválasztást, használhatjuk
route del -net 10.0.0.0 netmask 255.0.0.0
Iptable-k.
Alapvetően az iptables csomagok, kimenő, bejövő vagy mások szűrésére szolgál, ez nagyszerű eszköz a hálózati forgalom kezelésére. Nos, az iptables, ahogyan lehetővé teszi számunkra ugyanazon számítógép forgalmának szűrését, lehetővé teszi az azon áthaladó forgalom szűrését is. (Szállítmányozás). Az Iptable táblákra, karakterláncokra és műveletekre osztható.
- Táblák: alapvetően két asztal lehet, szűrő, a csomagok szűrésére és nat címek fordítására, vagyis egyik hálózatról a másikra való áttéréshez.
- Láncok: A lánc a forgalom típusára utal, amelyet szűrni vagy úszni akarunk, vagyis melyik forgalomra fogjuk alkalmazni a táblázatokat? és lehetnek: INPUT: Bejövő forgalom, OUTPUT: kimenő forgalom vagy ELŐRE: Forgalom, amely áthalad rajta, de ez nem a saját kapcsolata.
- Megjelenhet UTOLSÓ, amelyet a csomag elirányítása után egy bizonyos módon kezelnek.
- tevékenységek: A cselekvések alapvetően a lánccal végrehajtandó műveletek. Ez a cselekvés lehet CSEPP, hogy csak tönkreteszi azt a forgalmat vagy ELFOGAD. amely lehetővé teszi a forgalom számára egy ilyen művelet végrehajtását.
Az IPTABLES szabályok mentése és végrehajtása a létrehozásuk sorrendjében történik, és ha egy szabály töröl egy korábbi szabályt, akkor a sorrendben mindig az utolsó szabály kerül alkalmazásra.
Tűzfal irányelvek.
A tűzfalak általában kétféleképpen működnek:
- Engedélyezze az összes forgalmat, kivéve, vagy
- Ne engedjen forgalmat, kivéve ...
Az irányelvek alkalmazásához használja IPTÁBLÁK - P AKCIÓS LÁNC
Ahol a karaktersorozat a forgalom típusát jelöli (INPUT, OUTPUT, FORWARD, POSTROUTING ...), és a művelet DROP OR CONCEPT.
Nézzünk meg egy példát.
Itt látjuk, hogy először pingelni tudtam, majd elmondtam az IPTABLES-nak, hogy az összes OUTPUT forgalom DROP vagy nem engedélyezett. Aztán megmondtam az IPTABLES-nak, hogy fogadja el.
Ha a semmiből tűzfalat fogunk építeni, akkor mindig be kell tartanunk a (Nem engedélyezhetünk forgalmat, kivéve ... Ehhez akkor a szabályokat
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
A visszatéréshez ugyanazt írjuk, és a DROP-t az ACCEPT-re cseréljük.
Ezen a ponton, mivel az összes forgalom megtagadva, elkezdjük elmondani az IPTABLES-nak, hogy milyen forgalmat bonyolíthat.
A szintaxis a következő:
iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción
ahol:
Karakterlánc = BEMENET, KIMENET vagy ELŐRE
eredet_ip = A csomagok eredete, ez lehet egyetlen IP vagy hálózat, és ebben az esetben meg kell adnunk a maszkot).
cél_IP = merre tartanak a csomagok. ez lehet egyetlen IP vagy hálózat, és ebben az esetben meg kell adnunk a maszkot).
protokoll = a csomagok által használt protokollt jelöli (icmp, tcp, udp ...)
port = a forgalom célkikötője.
cselekvés = DROP vagy ELFOGADÁS.
Példa:
MINDEN korlátozott irányelv vonatkozik.
Ezután hozzáadjuk a szabályokat, hogy a 80-as porton HTTP és 443 HTTPS keresztül lehessen forgalmat bonyolítani, a TCP protokollal. Ezután az 53-as portot kell alkalmazni a DNS-ügyfél számára a tartományok feloldására, különben nem fog navigálni. Ez az udp protokollal működik.
A vonal:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Ennek oka a következő: Ha például HTTP-kérést küld, akkor csatlakozik a szerver 80-as portjához, de a kiszolgálónak az információk visszaküldéséhez bármelyik porton keresztül csatlakoznia kell hozzád. (Általában nagyobb, mint 1024).
Mivel minden portunk zárva van, ez csak akkor érhető el, ha megnyitunk minden 1024-nél magasabb portot (Rossz ötlet). Ez azt mondja, hogy az összes bejövő forgalmat, amely egy olyan kapcsolatból származik, amelyet magam hoztam létre, elfogadják. Mármint egy kapcsolat, amelyet elvileg én kezdtem el.
Remélem tetszett ez az információ. A következőben a NAT-ról, a Proxy-ról és a Firewal parancsfájljairól fogok beszélni.
Ez az az alap, amelyet sok vállalkozó vesz igénybe saját tűzfalainak gyártásához, ezért van a piacon olyan sok márkájú, beágyazott linuxos tűzfal, némelyik jó, mások pedig nem annyira.
Kiváló cikk. Várom a második részt.
Nagyon jó magyarázat, segített megérteni munkám proxyt. Köszönöm
Szia Jlcmux
Kiváló, nagyon tetszett, mikor lesz elérhető a másik fél?
Üdvözlet és köszönet a megosztásért
Köszönöm a megjegyzést.
Tegnap elküldtem a másik részt, a nap folyamán azt hiszem, hogy közzéteszik.
Üdvözlet.
Nagyon jó cikkbarát @ Jlcmux, igazán tanultam vele, mivel tisztázott néhány kétséget, amelyek egy ideje vannak bennem. Egyébként nem bánja, ha megosztja a cikk forrásának könyvét, Sébastien BOBILLIER könyvét, a slau2s-t és most lásd a 2. részt, salu2s.
Helló Köszönöm, hogy kommentálta Izraelt.
Kiderült, hogy a könyv fizikai formában van. De megtaláltam ezt a linket a Google Könyvekben. http://books.google.com.co/books?id=zxASM3ii4GYC&pg=PA356&lpg=PA356&dq=S%C3%A9bastien+BOBILLIER+Linux+%E2%80%93+Administraci%C3%B3n+del+sistema+y+explotaci%C3%B3n+de+los+servicios+de+red#v=onepage&q=
Szerintem teljes.
Nagyon jó cikk, hozzáadok egy lekérdezést: Mi lenne az előnye, ha a linuxot routerként használnánk, ha van ilyen, a neki dedikált hardver vonatkozásában? Vagy csak testmozgásra szolgál? Tudom, hogy vannak dedikált disztrók, de nem tudom, hogy megmentik-e a régi PC-ket, vagy nagyobb rugalmasságot biztosítanak-e a konfigurációban.
Nos, azt gondolom, hogy az előnyök és hátrányok attól a forgatókönyvetől függenek, ahol ezt megvalósítani kívánja. Miért nem veszel biztosan UTM-et vagy hasonlót a házadhoz? És talán egy kisvállalkozás számára, amely ezt sem engedheti meg magának. Gyakorlatként is jó, mivel segít megérteni ennek logikáját, és jobban konfigurálhatja a dedikált FWall-t. Emellett ezeknek az eszközöknek szinte mindegyike rendelkezik beágyazott Linux-tal.
Üdvözlet.
Helló, kérdés, tudna létrehozni egy "mesterséges" interfészt a linuxban a hálózatok közötti hasonló útvonalhoz? (csomagkövető stílus) virtuális gépekkel való együttműködésre? pl. ha eth0-m van (mert természetesen egyetlen kártyám van) létrehozhatok eth1-et egy másik hálózat létrehozásához? Nagyon jó oktató!
Linux alatt természetesen virtuális interfészeket is létrehozhat. Ha van eth0, akkor lehet eth0: 0, eth0: 1, eth0: 2 ... stb
Nagyon jó, köszönöm a megosztást