Šis ieraksts mēģina nedaudz paskaidrot, kā darbojas tīkli un kā pārvērst mūsu Linux aprīkojumu par maršrutētāju, kas nodrošina nedaudz vairāk mūsu tīkla neatkarīgi no tā, vai tas notiek mājās vai pat biznesā. Tātad ķeramies pie lietas:
Maršrutēšana un filtrēšana
Lai runātu un saprastu par maršrutēšanu, vispirms varam noteikt, kāda ir maršrutētāja funkcija? Par to mēs varam teikt, ka maršrutētājam papildus tīkla izveidošanai un savienojuma atļaušanai ar citām iekārtām (zinot, ka mēs to varam izdarīt ar AP, Switch, Hub vai citiem) ir iespēja savienot divus dažādus tīklus savā starpā.
Kā redzam attēlā, ir lokālais tīkls "10.0.1.0", kuru izveidojis maršrutētājs un kurš sasniedz vienu no diviem tā interfeisiem. Tad maršrutētājam citā saskarnē ir cits tīkls ar publisko IP, ar kuru tas var izveidot savienojumu ar internetu. Maršrutēšanas funkcija galvenokārt kalpo kā starpnieks starp šiem diviem tīkliem, lai tie varētu sazināties.
Linux kā maršrutētājs.
Protams, Linux kodolam jau ir iespēja veikt "pārsūtīšanu", taču pēc noklusējuma tas ir atspējots, tādēļ, ja mēs vēlamies, lai mūsu Linux veic šo darbu, mums jāiet uz failu.
/proc/sys/net/ipv4/ip_forward
Tur mēs atradīsim, ka tas ir fails, kurā ir tikai nulle "0". Mums ir jādara tas, lai mainītu to uz "1", lai aktivizētu šo uzvedību. Diemžēl tas tiek izdzēsts, restartējot datoru, lai pēc noklusējuma to aktivizētu, mums jāizmanto komanda:
sysctl net.ipv4.ip_forward=1
Vai arī rediģējiet to tieši failā /etc/sysctl.conf. Atkarībā no izplatīšanas šī konfigurācija var būt arī failā /etc/sysctl.d/.
Pēc noklusējuma mūsu Linux ir jābūt maršrutēšanas tabulai, kas parasti ir mūsu LAN tīkla konfigurācija un savienojums ar maršrutētāju. Ja mēs vēlamies redzēt šo maršrutu, mēs varam izmantot divas komandas:
route -n
o
netstat -nr
Abām komandām vajadzētu atgriezties vienādi.
Parasti šī konfigurācija ir pietiekama, lai Linux darbotos kā vārteja, un citi datori var pārvietoties pa mūsu datoru. Tagad, ja mēs vēlamies, lai mūsu Linux savieno divus vai vairākus tīklus, neatkarīgi no tā, vai tie ir lokāli, vai ne, mēs varam izmantot statiskos maršrutus.
Pieņemsim, ka manai Linux ir divas tīkla saskarnes, pirmajai ir interneta savienojums, kura tīkls ir 172.26.0.0, bet otrajā (10.0.0.0) ir datori no cita lokālā tīkla. Ja mēs vēlamies virzīt paketes uz citu tīklu, mēs varam izmantot:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8
Parasti tas ir:
route add -net REDDESTINO netmask MASCARA gw IPDELLINUX
ja dodam maršruts -n neatkarīgi no tā, vai šis tīkls pastāv, šī maršrutēšana tiks fiksēta mūsu tabulā.
Ja mēs vēlamies izslēgt minēto maršrutu, mēs varam to izmantot
route del -net 10.0.0.0 netmask 255.0.0.0
iptables.
Būtībā iptables izmanto pakešu, izejošo, ienākošo vai citu filtrēšanai, tāpēc tas ir lielisks rīks, lai pārvaldītu mūsu tīkla trafiku. Nu, iptables, tāpat kā tas ļauj mums filtrēt trafiku no tā paša datora, tas ļauj filtrēt arī trafiku, kas iet caur to. (Pārsūtīšana). Iptable var iedalīt tabulās, ķēdēs un darbībās.
- Dēļi: būtībā var būt divas tabulas, filtrs, filtrēt paketes un nat tulkot adreses, tas ir, pārvietoties no viena tīkla uz citu.
- Ķēdes: Ķēde attiecas uz datplūsmas veidu, kuru mēs vēlamies filtrēt vai peldēt, tas ir, kurai satiksmei mēs izmantosim tabulas? un tie var būt: INPUT: Ienākošā satiksme, REZULTĀTS: izejošā satiksme vai PIRMS: Satiksme, kas iet caur to, bet tas nav pareizs savienojums.
- Tas var arī parādīties PĒCĒŠANA, Izmanto, lai noteiktu paketi apstrādātu pēc tam, kad tā ir maršrutēta.
- Darbības: Darbības būtībā ir darbība, kas jāveic ar ķēdi. Šī darbība var būt PILINĀT, kas tikai iznīcina šo satiksmi vai PIEŅEMT. kas ļauj satiksmei veikt šo darbību.
IPTABLES kārtulas tiek saglabātas un izpildītas to izveidošanas secībā, un, ja kārtula izdzēš iepriekšējo kārtulu, vienmēr tiek lietota kārtulas pēdējā kārtula.
Ugunsmūra politikas.
Parasti ugunsmūri parasti darbojas divējādi:
- Atļaut visu datplūsmu, izņemot vai
- Neatļaut satiksmi, izņemot ...
Lai piemērotu politikas, izmantojiet IPTABLES - P RĪCĪBAS ĶĒDE
Ja virkne apzīmē datplūsmas veidu (INPUT, OUTPUT, FORWARD, POSTROUTING ...) un darbība ir PILA VAI PIEŅEMT.
Apskatīsim piemēru.
Šeit mēs redzam, ka sākumā es varēju pingēt, pēc tam es IPTABLES teicu, ka visa OUTPUT datplūsma ir DROP vai nav atļauta. Tad es teicu IPTABLES to pieņemt.
Ja mēs gatavojamies veidot ugunsmūri no nulles, mums vienmēr ir jāpiemēro noteikumi (Neatļaut trafiku, izņemot ... Lai to izdarītu, mēs piemērojam noteikumus
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Lai atgrieztos, mēs rakstām to pašu un aizstājam DROP ar ACCEPT.
Šajā brīdī, tā kā visa datplūsma ir liegta, mēs sākam IPTABLES pateikt, kāda trafika tai var būt.
Sintakse ir:
iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción
Kur:
Stīga = INPUT, Output vai FORWARD
izcelsme_ip = Pakešu izcelsme, tas var būt viens IP vai tīkls, un šajā gadījumā mums jānorāda maska).
galamērķis = uz kurieni iet paciņas. tas var būt viens IP vai tīkls, un šajā gadījumā mums jānorāda maska).
protokolu = norāda pakešu izmantoto protokolu (icmp, tcp, udp ...)
osta = satiksmes galamērķa osta.
darbība = PILIET vai PIEŅEMT.
piemērs:
Tiek piemērotas VISAS ierobežotās politikas.
Tad mēs pievienojam kārtulas, lai varētu veikt datplūsmu caur 80. portu HTTP un 443 HTTPS ar TCP protokolu. Tad ports 53 Tas tiek piemērots DNS klientam, lai atrisinātu domēnus, pretējā gadījumā jūs nepārvietosieties. Tas darbojas ar udp protokolu.
Līnija:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Tas notiek šādu iemeslu dēļ: Veicot, piemēram, HTTP pieprasījumu, izveidojat savienojumu ar servera 80. portu, bet serverim, lai atgrieztu informāciju, ir nepieciešams izveidot savienojumu ar jums, izmantojot jebkuru portu. (Parasti lielāks par 1024).
Tā kā visas mūsu ostas ir slēgtas, tas netiks sasniegts, ja neatvērsim visas ostas, kuru augstums pārsniedz 1024 (slikta ideja). Tas nozīmē, ka tiek pieņemta visa ienākošā trafika, kas nāk no savienojuma, kuru izveidoju pati. Es domāju savienojumu, kuru principā es aizsāku.
Es ceru, ka šī informācija jums patika. Nākamajā es runāšu par NAT, starpniekserveri un Firewal skriptiem.
Tas ir pamats, ko daudzi uzņēmēji ņem, lai ražotu paši savus ugunsmūrus, tāpēc tirgū ir tik daudz ugunsmūri ar iebūvētu linux, daži labi un citi ne tik daudz.
Izcils raksts. Ar nepacietību gaidu otro daļu.
Ļoti labs paskaidrojums, tas man palīdzēja saprast sava darba pilnvaras. Paldies
Labdien, Jlcmux,
Izcili, man ļoti patika, kad būs pieejama otra puse?
Sveiciens un paldies par dalīšanos
Paldies par komentāru.
Es nosūtīju otru daļu vakar, dienas laikā es domāju, ka viņi to publicēs.
Sveicieni.
Ļoti labs rakstu draugs @ Jlcmux, es patiešām mācījos kopā ar viņu, jo viņš noskaidroja dažas šaubas, kas man bija kādu laiku, starp citu, jūs neiebildīsit, ja dalīsities ar raksta avota grāmatu, Sebastjēna BOBILLIERA, labi slau2s un tagad skatiet 2. daļu, salu2s.
Sveiki Paldies par komentāriem Izraēla.
Izrādās, ka grāmata man ir fiziskā formā. Bet šo saiti atradu Google grāmatās. 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=
Es domāju, ka tas ir pabeigts.
Ļoti labs raksts, pievienoju jautājumu: Kāda būtu priekšrocība, izmantojot linux kā maršrutētāju, ja tāds ir, attiecībā uz tam veltītu aparatūru? Vai arī tas ir tikai vingrošanai? Es zinu, ka ir paredzēti īpaši distroni, bet es nezinu, vai tie ir domāti veco datoru glābšanai vai lielākai konfigurācijas elastībai.
Es domāju, ka priekšrocības un trūkumi ir atkarīgi no scenārija, kurā jūs to īstenosit. Kāpēc jūs noteikti nepirksiet savai mājai UTM vai kaut ko tamlīdzīgu? Un varbūt mazam biznesam, kas arī to nevar atļauties. Tas ir arī labs kā vingrinājums, jo tas palīdz jums izprast visu šī loģiku, un jūs varat labāk konfigurēt īpašu FWall. Papildus tam gandrīz visas šīs ierīces patiešām ir iegultā Linux.
Sveicieni.
Sveiki, jautājums, vai jūs varat ģenerēt "mākslīgu" saskarni linux līdzīgai maršrutēšanai starp tīkliem? (pakešu marķiera stils) darbam ar virtuālajām mašīnām? piemēram, ja man ir eth0 (jo man, protams, ir viena karte), vai es varu izveidot eth1, lai izveidotu citu tīklu? Ļoti labs audzinātājs!
Linux, protams, varat izveidot virtuālās saskarnes. Ja jums ir eth0, jums var būt eth0: 0, eth0: 1, eth0: 2 ... utt
Tik labi, paldies par dalīšanos