Je kunt IP-adressen, netwerkinterfaces en routeringsregels on-the-fly configureren met de Linux- ip
opdracht. We laten je zien hoe je deze moderne vervanging van de klassieker (en nu verouderde) kunt gebruiken ifconfig
.
Met de ip
opdracht kun je de manier aanpassen waarop een Linux-computer omgaat met IP-adressen, netwerkinterfacescontrollers (NIC's) en routeringsregels. De wijzigingen worden ook onmiddellijk van kracht - je hoeft niet opnieuw op te starten. De ip
opdracht kan veel meer dan we nu gaan behandelen.
De ip
opdracht heeft veel subopdrachten, die elk werken op een bepaald type object, zoals IP-adressen en routes. Voor elk van deze objecten zijn er weer vele opties. Het is deze rijkdom aan functionaliteit die de ip
opdracht de kracht geeft die je nodig hebt om wat delicate taken uit te voeren. Dit is geen bijlwerk - het vraagt om een set scalpels.
We kijken naar de volgende objecten:
addresses
via interfaces ( links
) wordt verzonden .Uiteraard moet je eerst de instellingen kennen waarmee je te maken hebt. Om te ontdekken welke IP-adressen je computer heeft, gebruik je de ip
opdracht bij het object address
. De standaardactie is show
, waarin de IP-adressen worden vermeld. Je kunt het ook weglaten show
en afkorten address
als "addr" of zelfs "a."
De volgende opdrachten zijn allemaal gelijkwaardig:
ip address show
ip addr show
ip addr
ip a
We zien twee IP-adressen, samen met veel andere informatie. IP-adressen zijn gekoppeld aan netwerkinterfacecontrollers (NIC's). De ip
opdracht probeert behulpzaam te zijn en biedt ook een heleboel informatie over de interface.
Het eerste IP-adres is het (interne) loopback-adres dat wordt gebruikt om binnen de computer te communiceren. De tweede is het daadwerkelijke (externe) IP-adres dat de computer heeft op het lokale netwerk (LAN).
Laten we alle informatie die we hebben ontvangen opsplitsen:
UP
, wat betekent dat het operationeel is. De fysieke netwerklaag (laag één) is ook actief.qdisc
is een wachtrijmechanisme. Het plant de verzending van pakketten. Er zijn verschillende wachtrijtechnieken die disciplines worden genoemd. De noqueue
discipline betekent "direct verzenden, niet in de rij staan". Dit is de standaarddiscipline qdisc
voor virtuele apparaten, zoals het loopback-adres.DOWN
(de netwerkinterface is niet operationeel), UNKNOWN
(de netwerkinterface is operationeel maar er is niets aangesloten), of UP
(het netwerk is operationeel en er is een verbinding)./
) is Classless Inter-Domain Routing Notation (CIDR) dat het subnetmasker vertegenwoordigt. valid_lft
waarde.scope
, valid_lft
, en preferred_lft
.De fysieke interface is interessanter, zoals we hieronder zullen laten zien:
UP
(operationeel en verbonden). De hardwarelaag van het netwerk (laag één) is ook UP
.scope
, valid_lft
, en preferred_lft
.Als je de uitvoer wilt beperken tot de IP-versie 4-adressen, kun je de -4
optie als volgt gebruiken:
ip -4 address
Als je de uitvoer wilt beperken tot de IP-versie 6-adressen, kunt je de -6
optie als volgt gebruiken:
ip -6 address
Als je het IP-adres informatie wilt zien voor een enkele interface, kun je show
en dev
opties gebruiken, en de naam van de interface, zoals hieronder weergegeven:
ip addr show dev lo
ip addr show dev ens33
Je kunt ook de vlag -4
of gebruiken -6
om de uitvoer verder te verfijnen, zodat je alleen datgene ziet waarin je geïnteresseerd bent.
Als je de IP-versie 4-informatie met betrekking tot de adressen op de interface wilt zien ens33
, typ je de volgende opdracht:
ip -4 addr show dev ens33
Je kunt de opties add
en dev
gebruiken om een IP-adres toe te voegen aan een interface. Je hoeft alleen maar de ip
opdracht te vertellen welk IP-adres je moet toevoegen en aan welke interface je het wilt toevoegen.
We gaan het IP-adres 192.168.182.150 toevoegen aan de ens33
interface. We moeten ook de CIDR-notatie voor het subnetmasker opgeven.
We typen het volgende:
sudo ip addr add 192.168.182.150/24 dev ens33
We typen het volgende om nog eens naar de IP-versie 4 IP-adressen op deze interface te kijken:
ip -4 addr show dev ens33
Het nieuwe IP-adres is aanwezig op deze netwerkinterface. We gaan op een andere computer (in dit voorbeeld Windows host) en gebruiken de volgende opdracht om te zien of we ping
het nieuwe IP-adres kunnen vinden:
ping 192.168.182.150
Om een IP-adres te verwijderen, is het commando bijna hetzelfde als het commando om er een toe te voegen, behalve dat je het vervangt add
door del
, zoals hieronder getoond:
sudo ip address del 192.168.182.150/24 dev ens33
Als we het volgende typen om te controleren, zien we dat het nieuwe IP-adres is verwijderd:
ip -4 addr show dev ens33
Je gebruikt het link
object om netwerkinterfaces te inspecteren en ermee te werken. Typ de volgende opdracht om de interfaces te zien die op je computer zijn geïnstalleerd:
ip link show
Om een enkele netwerkinterface te zien, voeg je de naam ervan toe aan de opdracht, zoals hieronder wordt weergegeven:
ip link show ens33
Je kunt de set
optie gebruiken met up
of down
om een netwerkinterface-optie te stoppen of te starten. Je moet sudo
gebruiken, zoals hieronder weergegeven:
sudo ip link set ens33 down
De staat van de netwerkinterface is DOWN
. We kunnen de up
optie gebruiken om een netwerkinterface opnieuw te starten, zoals hieronder weergegeven:
sudo ip link set ens33 up