Hvordan bruke Linux nettverksnavnområde

Hvordan bruke Linux nettverksnavnområde

Linux nettverksnavner er en Linux -kjernefunksjon som lar oss isolere nettverksmiljøer gjennom virtualisering. For eksempel ved hjelp av nettverksnavnområder kan du lage separate nettverksgrensesnitt og rutingstabeller som er isolert fra resten av systemet og opererer uavhengig.

For å forstå navneområder enkelt, er det verdt å si at Linux navnefelt er grunnlaget for containerteknologier som Docker eller Kubernetes.

Foreløpig inkluderer Linux 6 typer navneområder: PID, Net, UTS, MNT, IPC og bruker. Denne opplæringen fokuserer på Linux -nettverksnavner.

Hvis du kommanderer LSN -er, vil den vise alle eksisterende navnefelt i systemet ditt, som vist på bildet nedenfor.

LSNS

Merk: Navnområdet som brukes til denne opplæringen heter Linuxhint; Bytt det ut med navneområdet ditt.

Legge til et Linux -nettverksnavnområde:

Administrere nettverksnavner gjøres ved hjelp av IP NetNS -kommandoen etterfulgt av de riktige alternativene.

For å opprette et nettverksnavnområde i Linux, må du utføre IP -kommandoen etterfulgt av NetNS (Network Namespace) -alternativet, Legg til alternativet og det nye navneområdet, som vist i følgende skjermbilde. Deretter kan IP NetNS -kommandoen kjøres for bare å vise de eksisterende nettverksnavnene. Husk å erstatte Linuxhint med navnet på navneområdet ditt.

IP Netns Legg til Linuxhint
IP Netns

Som du ser ble et nytt navneområde opprettet som heter Linuxhint.

Nettverksnavner har egne grensesnitt, rutetabeller, loopback -grensesnitt, iptables regler, etc. Du må lage disse ressursene for navneområdet ditt.

Opprette loopback -grensesnitt for navneområdet:

For å kjøre kommandoer i et nettverksnavnområde, er syntaksen følgende.

IP Netns Exec

Som standard er loopback -grensesnittet nede. Du må utføre følgende kommando; Som tidligere forklart, utfører kommandoen nedenfor IP -koblingssettet.

ip netns exec linuxhint ip link set dev lo up

Du kan sjekke om Loopback -grensesnittet ditt ble lagt til riktig ved å kjøre følgende kommando:

IP Netns exec Linuxhint IP -adresse

Du kan også pinge navneområdet ditt.

IP Netns exec Linuxhint Ping 127.0.0.1

Legge til nettverksgrensesnitt til navneområdet ditt:

Du kan knytte et maskinvare nettverkskort til navneområdet ditt, eller du kan legge til virtuelle nettverksenheter. Ved å legge til virtuelle nettverksgrensesnitt, kan du tillate tilkobling mellom forskjellige navneområder. Virtuelle nettverksenheter heter Veth (Virtual Ethernet -enhet).

Hvis du vil opprette en virtuell nettverk Ethernet-enhet, kjører du følgende kommando, der enp2S0 er for den nye enheten og V-Peer1 det vilkårlige navnet, erstatt den med din.

IP-lenke Legg til V-ENP2S0 Type Veth Peer Name V-Eth0

Tilordne nå den virtuelle enheten til navneområdet ditt ved å kjøre kommandoen nedenfor.

IP Link Set V-Eth0 Netns Linuxhint

Tilordne en IP -adresse til den nye nettverksenheten som vist nedenfor.

ip -n linuxhint addr Legg til 10.0.1.0/24 Dev V-eth0

Som standard er nettverksenheten nede; du må sette den opp. For å sette opp den virtuelle nettverksenheten din, kjør følgende kommando.

ip -n linuxhint link set v -eth0 opp

Som du kan se på skjermbildet nedenfor, ble den virtuelle enheten lagt til riktig.

ip netns exec linuxhint sudo ifconfig

Eksemplet nedenfor viser hvordan du tilordner et fysisk nettverkskort til nettverksområdet ditt. I dette tilfellet er det fysiske nettverkskortet ENP2S0.

ip link set dev enp2s0 netns linuxhint

Som du kan se ved å kjøre eksemplet nedenfor, ble nettverkskortet lagt til ordentlig. Du kan tilordne en IP -adresse ved å bruke de samme kommandoene som er forklart tidligere.

ip netns exec linuxhint sudo ifconfig

Som forklart tidligere, har hvert navneområde sitt eget rutetabell, IP og mer, inkludert sine egne brannmurregler. Det er enkelt å legge til brannmurregler til navneområdet ditt; Bare kjør kommandoene etter IP Netns Exec Linuxhint, som vist nedenfor. Eksemplet nedenfor vil liste opp retningslinjer for iptables hvis eksisterende.

ip netns exec linuxhint sudo iptables -l

Følgende eksempel viser det samme, men ved å bruke UFW (ukomplisert brannmur) i stedet for iptables. I dette tilfellet rapporteres brannmuren som deaktivert.

ip netns exec linuxhint sudo ufw status

Fjerning av et Linux -nettverksnavnområde:

Å fjerne nettverksnavner er ganske enkelt, som når du legger til dem.

For å fjerne et navneområde, kjør kommandoen nedenfor, erstatt Linuxhint med navneområdet ditt.

IP Netns del Linuxhint

Som du kan se, etter å ha kjørt IP -netns, ble det ikke vist noe nettverksnavnområde; Det ble fjernet vellykket.

Konklusjon:

Linux -navnefelt er en formidabel metode for å isolere prosesser, filsystemer, nettverk og mer. Denne funksjonaliteten lar oss utføre forekomster uavhengig. Dette er ekstremt nyttig for sikkerhetsformål. Navnområder er containere hvis innhold er fullstendig isolert fra resten av systemet, inkludert fra andre navnefelt. På denne måten kan vi kjøre forskjellige tjenester i forskjellige containere. Hvis et navneområde blir kompromittert under et angrep, forblir resten av systemet trygt. Ved hjelp av Linux -navneområder kan du tilby flere klienter deres miljø; Denne funksjonen er også flott for testformål eller for å kjøre programvare hvis opprinnelse er mistenkelig; I tilfelle å utføre en ondsinnet kode, vil bare navneområdet bli berørt, slik at enheten din er trygg.

Jeg håper denne opplæringen om Linux -navnefelt var nyttig. Fortsett å følge Linux -hint for flere Linux -tips og opplæringsprogrammer.