Network Namespace
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Mrežni namespace je funkcija Linux jezgra koja obezbeđuje izolaciju mrežnog steka, omogućavajući svakom mrežnom namespace-u da ima svoju nezavisnu mrežnu konfiguraciju, interfejse, IP adrese, tabele rutiranja i pravila vatrozida. Ova izolacija je korisna u raznim scenarijima, kao što je kontejnerizacija, gde svaki kontejner treba da ima svoju mrežnu konfiguraciju, nezavisno od drugih kontejnera i host sistema.
Kada se kreira novi mrežni namespace, počinje sa potpuno izolovanim mrežnim stekom, sa nema mrežnih interfejsa osim za loopback interfejs (lo). To znači da procesi koji se izvršavaju u novom mrežnom namespace-u ne mogu komunicirati sa procesima u drugim namespace-ima ili host sistemu po defaultu.
Virtuelni mrežni interfejsi, kao što su veth parovi, mogu se kreirati i premestiti između mrežnih namespace-a. To omogućava uspostavljanje mrežne povezanosti između namespace-a ili između namespace-a i host sistema. Na primer, jedan kraj veth para može biti postavljen u mrežni namespace kontejnera, a drugi kraj može biti povezan sa mostom ili drugim mrežnim interfejsom u host namespace-u, obezbeđujući mrežnu povezanost kontejneru.
Mrežni interfejsi unutar namespace-a mogu imati svoje vlastite IP adrese, tabele rutiranja i pravila vatrozida, nezavisno od drugih namespace-a. To omogućava procesima u različitim mrežnim namespace-ima da imaju različite mrežne konfiguracije i funkcionišu kao da se izvršavaju na odvojenim umreženim sistemima.
Procesi mogu prelaziti između namespace-a koristeći setns()
sistemski poziv, ili kreirati nove namespace-e koristeći unshare()
ili clone()
sistemske pozive sa CLONE_NEWNET
zastavicom. Kada proces pređe u novi namespace ili ga kreira, počeće da koristi mrežnu konfiguraciju i interfejse povezane sa tim namespace-om.
Montiranjem nove instance /proc
datotečnog sistema ako koristite parametar --mount-proc
, osiguravate da nova mount namespace ima tačan i izolovan prikaz informacija o procesima specifičnim za tu namespace.
Takođe, možete ući u drugi procesni prostor imena samo ako ste root. I ne možete ući u drugo ime prostora bez deskriptora koji na njega pokazuje (kao što je /proc/self/ns/net
).
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)