I den här guiden kommer vi att diskutera två väsentliga nätverksbegrepp som är överbryggande och bindning. Vi kommer att se hur man ställer in, modifierar och tar bort broar och obligationer i Linux-systemet. Vi kommer att demonstrera proceduren den Linux Mint 20 Ulyana-system. Du kan dock också implementera samma procedur på Ubuntu eller Debian.
Förutsättningar:
- Linux-system med minst två nätverksgränssnitt
- Sudo-användare
Broar
Överbryggning är att skapa en bro mellan två eller flera nätverksgränssnitt för att skicka trafik mellan dem. Det låter dig dela ditt systems internetanslutning med andra system. Tänk på ett scenario där system A (utan internetanslutning) vill ansluta till ett annat systems B-internetanslutning. Allt du behöver är att ansluta båda systemen med en Ethernet-kabel och skapa en brygga mellan dem. För att göra det behöver du dock två gränssnitt på ditt system B. Ett gränssnitt kommer att anslutas till internet och det andra kommer att anslutas till system A.
Ställ in Bridge
I vårt exempel kommer vi att ställa in en bro br0 mellan två gränssnitt, ens33 och ens39. De enss33 gränssnitt ansluter till internet medan ens39 ansluter till det andra systemet (som behöver en internetanslutning). Vi sätter upp bron via DHCP.
Först måste du installera de nödvändiga programbro-verktygen för att skapa en bro. Utfärda kommandot nedan i Terminal för att installera bridge-utils:
$ sudo apt installera bridge-utilsSkapa ett bryggnätverksgränssnitt med kommandot nedan i Terminal:
$ brctl addbr br0Detta kommando skapar en bro med namnet br0. Du kan namnge det vad du vill.
Lägg nu till båda gränssnitten du vill överbrygga (ett som ansluter till internet och det andra som ansluter till det andra systemet) med hjälp av nedanstående syntax:
$ sudo brctl addifI vårt fall skulle det till exempel vara:
$ sudo brctl addif br0 ens33 ens39Ovanstående kommando kommer att läggas till enss33 och ens39 till bron br0.
Ta nu upp brogränssnittet:
$ ip-länkuppsättning devI vårt fall skulle det vara:
$ ip länk ställa in dev br0 uppDu kan också köra kommandot nedan för att få gränssnittet igång (i fallet med DHCP).
$ sudo dhclient br0Redigera nu / etc / nätverk / gränssnittsfil och lägg till följande rader:
auto br0iface br0 inet dhcp
bridge_ports ens33 ens39
Starta nu om nätverkstjänsterna med kommandot nedan:
$ sudo systemctl starta om nätverk. serviceNu har bron ställts in och förhoppningsvis kommer du att kunna komma åt internet från ditt andra system.
Visa bro
Du kan använda kommandot nedan för att visa alla konfigurerade broar på ditt system och de gränssnitt som är kopplade till dem.
$ Brctl-show
Ändra Bridge
Lägg till ett gränssnitt för att överbrygga
Du kan lägga till ett gränssnitt till en redan befintlig bro enligt följande:
$ sudo brctl addif bridge_name interface_nameTill exempel för att lägga till ett gränssnitt med namnet ens38 till den redan befintliga bron som heter br0, kommandot skulle vara:
$ sudo brctl addif br0 ens38Ta bort gränssnitt från bryggan
Du kan också ta bort ett gränssnitt från en brygga enligt följande:
$ sudo brctl delifter bronamn gränssnittsnamnTill exempel för att ta bort ett gränssnitt med namnet ens38 från namnet på bron br0, kommandot skulle vara:
$ sudo brctl delif br0 ens38Ta bort en bro
För att radera en bro från ditt system måste du först ta ner den. Använd följande kommando för att göra det:
$ sudo ip-länk ställer ner dev bridge_nameTill exempel för att ta bort en bro med namnet br0, ta först ner den:
$ sudo ip länk ställa in dev br0 nerAnvänd följande kommando för att ta bort bron:
$ sudo brctl delbr bridge_nameI vårt exempel skulle kommandot vara:
$ sudo brctl delbr br0Nätverksbindning
Nätverksbindning kombinerar flera nätverksgränssnitt för att presentera dem som ett enda gränssnitt, vilket i själva verket kombinerar deras bandbredd i en enda anslutning. Bonding-nätverksgränssnitt ökar genomströmningen, ger hög tillgänglighet och redundans i situationer där ett av gränssnitten misslyckas.
Det finns olika lägen för nätverksbindning som är följande:
- mode = 0 (Balance Round Robin)
- läge = 1 (Aktiv säkerhetskopiering)
- läge = 2 (Balans XOR)
- läge = 3 (Broadcast)
- läge = 4 (802.3ad)
- läge = 5 (Balansera TLB)
- läge = 6 (Balans ALB)
Konfigurera nätverksbindning
I den här guiden kommer vi att ställa in läge 1 (Aktivt backup-läge). Vi kommer att binda två gränssnitt, ens33 och ens38. De ens33 kommer att vara vårt aktiva gränssnitt, medan ens38 kommer att vara backupgränssnittet.
Först måste du installera ifenslave på ditt system. För att göra det, utfärda kommandot nedan i Terminal:
$ apt installera ifenslave
Ladda sedan kärnmodulen med kommandot nedan:
$ sudo modprob bondingOvanstående kommando lägger till ytterligare funktioner i Linux-kärnan.
Ta reda på dina nätverksgränssnitt. Du kan använda kommandot nedan för att göra det:
$ ip-länkFöljande utdata visar att det finns två nätverksgränssnitt ens33 och ens38 annat än loopback-gränssnittet. Vi kommer att binda de två gränssnitten, ens33 och ens38, i ett band som heter bond0.
Redigera nu nätverksgränssnittsfilerna med hjälp av kommandot nedan i Terminal:
$ sudo nano / etc / nätverk / gränssnittÄndra filen enligt följande:
Se till att ersätta gränssnittsnamnet med ditt.
auto ens33iface ens33 inet manual
bond-master bond0
bond-primär ens33 ens38
auto ens38
iface ens38 inet manual
bond-master bond0
bond-primär ens33 ens38
automatisk bindning0
iface bond0 inet dhcp
bond-slavar ingen
bindningsläge 1
bond-miimon 100
Spara och stäng nu gränssnittskonfigurationsfilen.
Starta nu om nätverkstjänsten med kommandot nedan:
$ sudo systemctl starta om nätverk.serviceKör kommandot “ifconfig” eller “ip a”, och den här gången ser du kommandot bond0 som ett separat gränssnitt med en IP-adress tilldelad den. Du kan också se att det inte finns någon IP-adress tilldelad ens33 och ens38 gränssnitt.
Testa limning
För att verifiera om bindning fungerar, utfärda kommandot nedan:
$ cat / proc / netto / bonding / bond0Följande utdata visar att bindningsläget är aktiv säkerhetskopiering, och både den primära och för närvarande aktiva slaven är ens33.
Nu för att testa aktivt backup-läge, köra en kontinuerlig pingning från ett annat system i nätverket till bondingserverns IP-adress (vilket i vårt fall är 192.168.72.179). Din ping ska fungera framgångsrikt. Försök sedan stänga av det aktiva gränssnittet och se om ping fortsätter eller slutar. Om ping fortsätter betyder detta att bindningen har konfigurerats framgångsrikt.
Om du kör kommandot nedan kan du också se att den primära slaven ens33 är nere medan den för närvarande aktiva slaven nu är ens38.
Ändra limning
Ändra aktivt slavgränssnitt
Du kan också ändra det aktiva slavgränssnittet vid limning med -c alternativ enligt följande:
$ sudo ifenslave -c bond active_interfaceTill exempel i vårt scenario har vi ens33 som ett aktivt gränssnitt medan ens38 som ett reservgränssnitt. Att sätta ens38 som ett aktivt slavgränssnitt skulle kommandot vara:
$ sudo ifenslave -c bond0 ens38För att bekräfta om det aktiva gränssnittet har ändrats framgångsrikt, utfärda kommandot nedan i Terminal:
$ cat / proc / netto / bonding / bond0I nedanstående utgång kan du se att det aktiva slavgränssnittet har ändrats till ens38.
Ändra bindningsläge
Om du vill ändra bindningsläget redigerar du / etc / nätverk / gränssnittsfil och ändra obligationsläget. Till exempel för att ändra bindningsläge att runda-robin, ändra värdet på bindningsläge till 0.
bindningsläge 0För att bekräfta om bindningsläget har ändrats framgångsrikt, utfärda kommandot nedan i Terminal:
$ cat / proc / netto / bonding / bond0I nedanstående utdata är det tydligt att obligationsläget har ändrats till round-robin.
Att fästa slav
För att bifoga ett nytt slavgränssnitt till en redan existerande obligation, använd följande syntax:
$ sudo ifenslave -v bond interface_nameDe -v används här för detaljerad produktion.
Till exempel för att lägga till ett nytt slavgränssnitt ens33 till en redan existerande bond0 skulle kommandot vara:
$ sudo ifenslave -v bond0 ens33
Demontera slav
För att lossa ett slavgränssnitt från en obligation, använd -d alternativ enligt följande:
$ sudo ifenslave -v bond interface_name-V används här för detaljerad produktion.
Till exempel för att koppla bort ett slavgränssnitt ens33 från bond0, kommandot skulle vara:
$ sudo ifenslave -d -v bond0 ens33
Ta bort Bonding
För att radera limning, redigera / etc / nätverk.gränssnittsfil, och ta bort konfigurationerna relaterade till limning. Lämna bara gränssnittskonfigurationen så här:
auto ens33iface ens33 inet dhcp
auto ens38
iface ens38 inet dhcp
Spara och stäng sedan konfigurationsfilen för gränssnitt.
Ta bort bindningen med kommandot nedan:
$ sudo rmmod bindningStarta sedan om nätverkstjänsten:
$ sudo systemctl starta om nätverk.serviceDet är allt som finns i det! I den här artikeln har vi först visat hur man ställer in en nätverksbro för att dela internetanslutningen med andra system. Sedan har vi visat hur man ändrar broarna genom att lägga till eller ta bort ett gränssnitt från bron. Därefter har vi visat hur man ställer in nätverksobligationer för att öka genomströmningen, hög tillgänglighet och failover. Sedan har vi visat hur man ändrar en bindning genom att ändra dess aktiva slavar, fästa / lossa slavar och ändra bindningslägen. Vi har också visat hur du tar bort broar och obligationer om du inte längre behöver dem.