Network Namespace
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
'n Netwerk naamruimte is 'n Linux-kernfunksie wat isolasie van die netwerkstapel bied, wat toelaat dat elke netwerk naamruimte sy eie onafhanklike netwerk konfigurasie, interfaces, IP adresse, routeringstabelle, en firewall reëls kan hê. Hierdie isolasie is nuttig in verskeie scenario's, soos containerisering, waar elke container sy eie netwerk konfigurasie moet hê, onafhanklik van ander containers en die gasheerstelsel.
Wanneer 'n nuwe netwerk naamruimte geskep word, begin dit met 'n heeltemal geïsoleerde netwerkstapel, met geen netwerkinterfaces behalwe vir die loopback interface (lo). Dit beteken dat prosesse wat in die nuwe netwerk naamruimte loop nie met prosesse in ander naamruimtes of die gasheerstelsel kan kommunikeer nie, behalwe as 'n standaard.
Virtuele netwerkinterfaces, soos veth pare, kan geskep en tussen netwerk naamruimtes beweeg word. Dit maak dit moontlik om netwerkverbinding te vestig tussen naamruimtes of tussen 'n naamruimte en die gasheerstelsel. Byvoorbeeld, een einde van 'n veth paar kan in 'n container se netwerk naamruimte geplaas word, en die ander einde kan aan 'n brug of 'n ander netwerkinterface in die gasheer naamruimte gekoppel word, wat netwerkverbinding aan die container bied.
Netwerkinterfaces binne 'n naamruimte kan hul eie IP adresse, routeringstabelle, en firewall reëls hê, onafhanklik van ander naamruimtes. Dit laat prosesse in verskillende netwerk naamruimtes toe om verskillende netwerk konfigurasies te hê en te werk asof hulle op aparte netwerkstelsels loop.
Prosesse kan tussen naamruimtes beweeg deur die setns()
stelselsoproep te gebruik, of nuwe naamruimtes te skep deur die unshare()
of clone()
stelselsoproep met die CLONE_NEWNET
vlag. Wanneer 'n proses na 'n nuwe naamruimte beweeg of een skep, sal dit begin om die netwerk konfigurasie en interfaces wat met daardie naamruimte geassosieer is, te gebruik.
Deur 'n nuwe instansie van die /proc
lêerstelsel te monteer as jy die parameter --mount-proc
gebruik, verseker jy dat die nuwe monteernaamruimte 'n akkurate en geïsoleerde siening van die prosesinligting spesifiek vir daardie naamruimte het.
Ook, jy kan slegs in 'n ander prosesnaamruimte ingaan as jy root is. En jy kan nie in 'n ander naamruimte ingaan sonder 'n beskrywer wat daarna verwys nie (soos /proc/self/ns/net
).
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)