Använd nätverksverktyg traceroute, gräv i CentOS

Dynamic Host Configuration Protocol är ett nätverksprotokoll som används för att dynamiskt distribuera nätverkskonfigurationsparametrar, såsom IP-adresser, gateway och DNS för nätverksgränssnitt. DHCP-servern tilldelar IP-adresser automatiskt till alla system, så systemadministratören behöver inte tilldela IP-adresser manuellt till klientdatorer i nätverket. DHCP är det bästa alternativet för större miljöer, rymmer tusentals system.

Miljö

Se till att bara ha en DHCP-server i din miljö. Om du har en router/switch som ger DHCP-funktionaliteten måste du inaktivera den.

  1. CentOS 7 64bit Minimal server (DHCP Server) ELLER Ubuntu 18.04 /16.04 / Debian 9 64bit (DHCP Server)
  2. CentOS 7 64bit Minimal server (DHCP-klient) ELLER Ubuntu 18.04 / 16.04 Desktop (DHCP-klient)

Obs: Du måste tilldela en statisk IP-adress till din DHCP-server.

Installera och konfigurera DHCP-servern på CentOS 7

Låt oss först se hur man installerar och konfigurerar DHCP-servern på CentOS 7 64bit. Det ska även fungera på CentOS 6.x och andra äldre versioner.

# yum installera dhcp

När paketen är installerade, kopiera exempelkonfigurationsfilen till katalogen /etc/dhcp.

# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

Redigera nu filen dhcpd.conf.

# vi /etc/dhcp/dhcpd.conf

[...] # Ange domännamn#Huvudingång

192.168.12.110

# systemctl starta om dhcpd # systemctl aktivera dhcpd

Om du stöter på några problem med att starta om DHCP-tjänsten, överväg att uppdatera SELinux-kontexten eller .

/sbin/restorecon -v /etc/dhcp/dhcpd.conf

Det är allt. Hoppa nu till avsnittet ' ' och konfigurera dina klienter för att få IP-adresser automatiskt från DHCP-servern.

Installera och konfigurera DHCP-servern på Ubuntu 18.04 / 16.04 / Debian 9

Låt oss först se hur man installerar och konfigurerar DHCP-server på Ubuntu 14.04. Det ska även fungera på Ubuntu 15.04 / 14.10 / 13.04 / 13.10 och andra äldre versioner.

Installera DHCP-server och klient med kommandot nedan.

$ sudo apt-get installera isc-dhcp-server

När paketen är installerade måste vi tilldela vilka gränssnitt DHCP-servern ( dhcpd) betjäna DHCP-förfrågningar. I vårt fall har jag bara ett gränssnitt på mitt system ( eth0), så vi kommer att tilldela eth0.

Redigera fil /etc/default/isc-dhcp-server.

$ sudo nano /etc/default/isc-dhcp-server

Nämna eth0 i filen.

# Separera flera gränssnitt med mellanslag, t.ex. "eth0 eth1". INTERFACES="eth0"

Redigera nu filen dhcpd.conf,

$ sudo nano /etc/dhcp/dhcpd.conf

Gör ändringarna som visas nedan.

Definiera undernätet, intervallet för IP-adresser, domän- och domännamnsservrar enligt nedan:

[...] # Konfigurera subnät och iprange subnät 192.168.12.0 nätmask 255.255.255.0 (intervall 192.168.12.100 192.168.12.200; # Ange DNS-server-ip och ytterligare DNS-server-ip option domännamn-servrar 8.8.8.8, 8.8.4.4; # Ange domännamn option domännamn "itzgeek.local"; #Huvudingång option routrar 192.168.12.2; option broadcast-adress 192.168.12.255; # Ange Standard och Max leasingtid default-lease-time 600; max-lease-tid 7200; ) [...]

Om du vill tilldela en fast IP-adress till din klient måste du ange dess MAC-ID och IP-adressen i följande strof. Till exempel för att tilldela en fast IP-adress 192.168.12.110 för klienten kommer strofen att se ut som nedan.

[...] host mywindows-client ( hårdvara ethernet 00:0C:29:05:A7:CB; fast adress 192.168.12.110; ) [...]

Starta nu dhcpd-tjänsten och få den att starta automatiskt vid omstart av systemet.

# sudo-tjänsten isc-dhcp-server omstart

Konfigurera DHCP-klienter

Nu måste du konfigurera klientdatorerna för att få IP-adresser automatiskt från DHCP-servern. Du kan gå igenom nedanstående artiklar.

Nätverksinstallation i CentOS 7

Som beskrivs i motsvarande artikel måste du utföra ett antal grundläggande inställningar. En av dem är inställning nätverkskopplingar. Låt oss överväga denna operation i ordning.

För nybörjare Linux Svårigheter kan uppstå i det allra första skedet - det kommer inte att vara möjligt att kontrollera nätverkets nuvarande tillstånd med kommandot ifconfig(ett meddelande kommer att visas - kommandot hittades inte). Detta är inte ett problem, det här är en funktion för hur CentOS fungerar, så detta kommando måste köras som superanvändare (administratör) med kommandot:

Anledningen är att normala systemanvändare och rootanvändare har olika Miljövariabler PATH (du kan se användarens PATH med echo $PATH). Efter att ha kommit in Linux-kommandon, kommer skalet att söka efter användarens PATH för att försöka hitta ett kommando att köra. Den börjar söka i alla kataloger i PATH tills målet hittas. Lag vanliga användare vanligtvis placerad i /usr/local/bin, /usr/bin och /bin. Och lagen användarrot finns huvudsakligen i /usr/local/sbin, /usr/sbin, /sbin och roten PATH återspeglar detta. Så när du blir superanvändare med "su -" tar du också en ny PATH för dina huvudkommandon. Och genom att bara använda 'su', bevaras standardanvändaren PATH, därför, när du försöker köra ett program som finns i /usr/local/sbin, /usr/sbin, /sbin kommer det att ge resultatet: 'command hittades inte’ fel. För en mer detaljerad förklaring, se man bash-sidan, särskilt inloggningssektionen. Så du eller bör ange fullständig sökväg till kommandot (exempel - /sbin/ifconfig) när du använder 'su', eller använd 'su -' när du blir root.

För att kontrollera de aktuella nätverksinställningarna, använd kommandot:

När du arbetar i Linux OS-familjen måste du veta och förstå att alla hårdvaru- och mjukvaruenheter, såväl som olika parametrar i operativ system och program lagras i konfigurationsfiler. Således styr gränssnittets konfigurationsfiler mjukvarugränssnitt enskilda nätverksenheter. När operativsystemet startar läses dessa filer och information i det, på grundval av vilka de nödvändiga (använda och konfigurerade) gränssnitten bestäms, såväl som deras lansering.

Sådana filer brukar kallas ifcfg-<имя> , Var<имя>hänvisar till namnet på enheten som styrs av denna konfigurationsfil. Som nämnts ovan lagras alla gränssnitt och OS-parametrar i olika specialiserade filer, vilket ger administratören en bekväm och flexibel möjlighet att konfigurera OS- och hårdvaruparametrar.

Konfigurera nätverksgränssnittet

Låt oss konfigurera nätverksgränssnittet genom att redigera konfigurationsfilen, som finns i katalogen /etc/sysconfig/network-scripts/

I mitt fall är kabeln ansluten till den första (och enda) nätverksadaptern, som kallas i systemet eth0. Låt oss redigera motsvarande fil:

# vi /etc/sysconfig/network-scripts/ ifcfg-eth0

Jag påminner dig om att göra ändringar i innehållet i filen i editorn vi- nödvändigt:

  • tryck på "i" eller "Infoga".
  • för att avsluta redigeringsläget - "esc"
  • för att spara ändringarna - "Shift+:" sedan "wq" och tryck på "Enter"

För ett nätverk med en statisk IP-adress:

DEVICE=”eth0″
BOOTPROTO="ingen"
ONBOOT=”ja”
IPADDR="192.168.1.100"
NÄTMASK="255.255.255.0"
GATEWAY="192.168.1.1"

För ett nätverk som använder DHCP:

DEVICE=”eth0″
BOOTPROTO="dhcp"
ONBOOT=”ja”

Kommentarer om utförda åtgärder:

Nätverksinställningar

Vi redigerar nätverkskonfigurationsfilen:

# vi /etc/sysconfig/network

Ange följande data:

NÄTVERK = "ja"
HOSTNAME="Namn.på.din.server" eller arbetsstation

För att tillämpa inställningarna korrekt (så att de träder i kraft), starta om nätverket:

# /etc/init.d/nätverk starta om

Om ändringar i filen /etc/sysconfig/network inte krävs, kan endast gränssnittet startas om:

# ifdown eth0 && ifup eth0

Det är också värt att veta det Nätverksinstallation kan göras snabbare, kör dessa kommandon:

ifconfig eth0 192.168.Х.Х nätmask 255.255.255.0

Så här inaktiverar du nätverksgränssnittet:

Om du vill att inställningarna ska tas emot automatiskt via DHCP, kör sedan följande kommando:

I det här fallet, för att stoppa nätverksgränssnittet, måste du stänga av dhclient-programmet:

MEN!När du ställer in ett nätverk på detta sätt måste konfigurationen göras igen efter en omstart.

DNS-inställningar

Öppna filen 'resolv.conf':

I detta material kommer jag att beröra ett aktuellt ämne med vilket nästan alla inledande arbeten med servern börjar. Konfigurera grundläggande nätverksparametrar i CentOS 7 och 8 - ip-adress, dhcp, ipv6, dns, värdnamn, statiska rutter, nätverkskort och andra nätverksparametrar. Vi kommer att gå vidare på ämnet steg för steg från enkelt till komplext, analysera alla nyanser i ordning och svara på de mest populära frågorna.

  1. Berätta för mig hur man gör grunderna nätverksinställningar på en centos-server version 7 och 8.
  2. Visa ytterligare nätverkskonfigurationsalternativ.
  3. Använd några exempel för att förklara hur du löser typiska problem med nätverket.
  4. Visa några användbara nätverksverktyg.

Den här artikeln är en del av en enda serie artiklar om servern.

Nätverksinställningar på en CentOS-server

Första gången vi stöter på nätverksinställningarna för en CentOS 7- eller 8-server är när vi utför installationen. På skärmen första installationen Det finns en separat punkt för att ställa in nätverksgränssnitt:

Efter att ha angett den ser vi en lista över anslutna nätverkskort. Var och en av dem kan slås på med motsvarande reglage (punkt 1 i bilden). När gränssnittet är aktiverat tar det automatiskt emot inställningar via dhcp. Du kan se resultatet av dhcp-arbetet där. Om du inte är nöjd med dessa inställningar kan du redigera dem genom att klicka konfigurera(punkt 3 på bilden). Här kan du också ställa in värdnamn(punkt 2 på bilden):


Öppnar fönstret ytterligare inställningar Ehernet, du kan ändra namnet på nätverksgränssnittet, ange IP-inställningarna (objekt 1 i bilden), välj manuella inställningar (punkt 2 i bilden), tilldela IP-adress(punkt 3 på bilden), installera dns-server(punkt 4 i bilden) och spara nätverksinställningarna (punkt 5 i bilden):


När du har slutfört de återstående inställningarna börjar installationen. Efter installationen har du en server med de nätverksinställningar du angett.

Låt oss nu överväga en annan situation. Du skapade inte servern, och därför nätverkskonfigurationen, men nu måste du titta på den eller ändra den. Serverkonsolen står till ditt förfogande, och vi kommer att arbeta i den. Om du installerade från en distributionssats minimal, sedan när du försöker visa nätverksinställningarna med kommandot ifconfig i konsolen ser du följande:

Bash: ifconfig: kommandot hittades inte

eller i rysk version:

Bash: kommandot ifconfig hittades inte

För att arbeta med ifconfig och andra nätverksverktyg måste du installera paketet nät-verktyg. Vi gör det:

# yum installera net-tools

Nu kan du se nätverksinställningarna:

mtu 1500 inet 192.168.159.129 eter 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) RX-paket 319 byte 36709 (35,8 KiB) RX-fel 0 tappade 0 överskridningar 0 bildruta 0 TX-paket 256 byte 148817 överkörda TX 148817 0 överkörda TX-fel (0) 0 bärare 0 kollisioner 0 lo: flaggor=73 mtu 65536 inet 127.0.0.1 nätmask 255.0.0.0 inet6::1 prefixlen 128 scopeid 0x10 loop txqueuelen 0 (Local Loopback) RX-paket 6 byte 624 (624.0 B) RX-fel 0 tappade 0 överskridningar 0 ram 0 TX-paket 6 byte 624 (624.0 B) TX-fel 0 tappade 0 överskridanden 0 bärare 0 kollisioner

Om du inte vill installera ett extra paket kan du använda ett enklare kommando ip med parametrar:

# ip-adress 1: lo: mtu 65536 qdisc noqueue state OKÄND länk/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferet_lft:1/ inet 128 scope host valid_lft forever prefered_lft forever 2: eno16777728: mtu 1500 qdisc pfifo_fast state UP qlen 1000 länk/eter 00:0c:29:7d:59:3f brd ff:ff:ff:ff:ff:ff inet 192.168.159.129 /24 brd 192.168.159.255 scope global dynamic eno16777728 valid_lft 1709sec prefered_lft 1709sec inet6 fe80::20c:29ff:fe7d:593f/64 scope forever preferent_lftever

Vi har sett nätverkskonfigurationen, låt oss nu redigera den. Låt oss säga att vi måste ändra IP-adressen. För att göra detta, gå till katalogen och öppna filen för redigering ifcfg-eth0 eller ifcfg-ens18. Filnamnet beror på namnet på nätverksgränssnittet. Som standard tog Centos 8 bort stödet för att sätta upp ett nätverk genom konfigurationsskript, så installera nätverksskriptpaketet separat.

# yum installera nätverksskript

Ifcfg-eth0-filen har ungefär följande innehåll:

Med hjälp av inställningarna från denna fil får vi IP-adressen via dhcp. För att manuellt registrera en statisk IP tar vi filen till följande innehåll:

Vi har ändrat parametrarna:

För att ändringarna ska träda i kraft måste du läsa nätverksinställningarna igen:

Kontrollera om den nya nätverkskonfigurationen har tillämpats:

# ifconfig eth0: flaggor=4163 mtu 1500 inet 192.168.159.129 nätmask 255.255.255.0 broadcast 192.168.159.255 inet6 fe80::20c:29ff:fe7d:593f prefixlen 64 scopeid 0x20 eter 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) RX-paket 672 byte 71841 (70.1 KiB) RX-fel 0 tappade 0 överskridningar 0 bildruta 0 TX-paket 572 byte 290860 släppta 0 KiB-fel. 0 transportör 0 kollisioner 0

Allt är bra, de nya nätverksgränssnittsinställningarna är installerade.

Hur man får nätverksinställningar via DHCP

Låt oss nu överväga den motsatta situationen. Låt oss säga att du har LAN-kort har vissa inställningar manuellt. Men du vill att din dator ska ta emot nätverksinställningar via dhcp som klient. För att göra detta måste du utföra den motsatta operationen till vad vi gjorde tidigare. Det vill säga vi öppnar filen /etc/sysconfig/network-scripts/ifcfg-ens18 och radera där raderna med parametrarna DNS, IPADDR, PREFIX, GATEWAY och i parametern BOOTPROTO anger vi värdet "dhcp".

Spara filen och starta om nätverket:

# systemctl starta om nätverket

Sedan kontrollerar vi om vår klient har fått inställningarna via dhcp.

Hur man konfigurerar DNS på CentOS

De aktuella dns-serverinställningarna i CentOS kan ses på två ställen:

  1. I filen med inställningarna för nätverkskortet ifcfg-eth0, som vi tidigare har redigerat flera gånger.
  2. I filen /etc/resolv.conf

Varför de nu finns på två ställen vet jag inte, men tidigare indikerades DNS-serverinställningarna i vissa distributioner, jag minns inte exakt vilka, bara i resolv.conf, men vid något tillfälle ändrades detta. Och alla nätverksinställningar började lagras i en fil tillsammans med adress, gateway, mask och så vidare. Om du nu redigerar filen resolv.conf och lägger till några server-dns där, kommer de efter en omstart att ersättas med värdena från ifcfg-eth0-filen.

Så för att ställa in DNS-serverparametrarna måste du redigera ifcfg-eth0 nätverksinställningsfilen och lägga till så många servrar som krävs. Till exempel så här:

DNS1="192.168.159.2" DNS2="8.8.8.8" DNS3="8.8.4.4"

För att tillämpa inställningarna, spara filen och starta om nätverket, allt är som vanligt. Efter omstart av servern kommer dns-inställningarna att skrivas till filen resolv.conf

# cat /etc/resolv.conf # Genererad av NetworkManager namnserver 192.168.159.2 namnserver 8.8.8.8 namnserver 8.8.4.4

Hur man inaktiverar ipv6

Använder för närvarande protokollet aktivt ipv6 i Ryssland är det inte och i normalt arbete behövs det oftast inte. Även om vi i många år har varit rädda för att det praktiskt taget inte finns några lediga IP-adresser kvar, finns det i verkligheten fortfarande tillräckligt för alla. Så av praktiska skäl behövs för närvarande inte ipv6 på servern och kan inaktiveras.

Innan du inaktiverar ipv6 i centos, för säkerhets skull, måste du kontrollera vilka program som använder det i sitt arbete. Detta är nödvändigt för att undvika fel i deras funktion genom att först inaktivera ipv6 i konfigurationerna. För att se vilka program som hänger på ipv6-gränssnittet, använd kommandot netstat:

# netstat -tulnp Aktiva Internetanslutningar (endast servrar) Proto Recv-Q Send-Q Lokal adress Utländsk adress Status PID/Programnamn tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master tcp 0 0 0.0.0. :22 0.0.0.0:* LYSSNA 1333/sshd tcp6 0 0::1:25:::* LISTEN 2317/master tcp6 0 0:::22:::* LYSSNA 1333/sshd udp 0 0 0:490.025. 0.0.0.0:* 694/avahi-daemon: r udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/amon 0.0. 0 127.0.0.1:323 0.0.0.0:* 715/chronyd udp6 0 0:::123:::* 715/chronyd udp6 0 0::1:323:::* 715/chronyd

Alla rader med ::: är ipv6-protokoll. I mitt fall är det sshd, postfix och chronyd. Låt oss inaktivera ipv6 för dem och lämna bara ipv4.

Låt oss börja med sshd. Öppna inställningsfilen /etc/ssh/sshd_config och hitta raderna:

#AddressFamily any #ListenAddress 0.0.0.0

Låt oss avkommentera dem och ändra dem. Det ska se ut så här:

AddressFamily inet ListenAddress 0.0.0.0

Öppna nu postfix-inställningsfilen /etc/postfix/main.cf. Vi letar efter linjen där:

#inet_protocols = alla

Ändra till:

Inet_protocols = ipv4

Inaktivera ipv6 i chronyd. För att göra detta, skapa en fil /etc/sysconfig/ chronyd och lägg till raden:

ALTERNATIV=-4

Nu inaktiverar vi ipv6 i CentOS. Öppnar filen /etc/ sysctl.conf och lägg till raderna där:

Net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1

Redigera filen /etc/sysconfig/ nätverk , lägger till där:

NETWORKING_IPV6=ingen IPV6INIT=nr

Lägg till ett förbud mot ipv6 till grub-konfigurationen. Öppna konfigurationen /etc/default/grub och lägg till ytterligare ett värde till parametern GRUB_CMDLINE_LINUX ipv6.disable=1. Det borde se ut ungefär så här:

GRUB_CMDLINE_LINUX="rd.lvm.lv=cl_centos8/root rhgb tyst ipv6.disable=1"

Efter detta uppdaterar vi bootloader-konfigurationen.

# grub2-mkconfig -o /boot/grub2/grub.cfg

Starta om och kontrollera resultatet:

# starta om # ifconfig eno16777728: flaggor=4163 mtu 1500 inet 192.168.159.129 nätmask 255.255.255.0 broadcast 192.168.159.255 eter 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet 230X 230X paket) (320X) fel 0 tappade 0 överskrider 0 ram 0 TX-paket 2138 byte 1327955 (1,2 MiB) TX-fel 0 tappade 0 överskridanden 0 bärare 0 kollisioner 0 lo: flaggor=73 mtu 65536 inet 127.0.0.1 nätmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX-paket 0 byte 0 (0.0 B) RX-fel 0 tappade 0 överskridningar 0 ram 0 TX-paket 0 byte 0 (0.0.0 B) TX-paket 0 byte 0 (0.0 B) TX-överkörningar 0 transportör 0 kollisioner 0

Det nämns inget om adresser i inet6- och ipv6-format någonstans. Så allt är bra, vi har inaktiverat ipv6 i CentOS. Låt oss nu kolla listan över öppna portar:

# netstat -tulnp Aktiva Internetanslutningar (endast servrar) Proto Recv-Q Send-Q Lokal adress Utländsk adress Status PID/Programnamn tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master tcp 0 0 0.0.0. :22 0.0.0.0:* LYSSNA 1322/sshd udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/emon 0:va 0.0.0. 127.0.0.1:323 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon: r

Alla portar är ipv4. Allt är i sin ordning, vår uppgift är klar.

Hur man ändrar värdnamn i CentOS

Som standard, under CentOS-installationer sätter värdnamnet localhost.localdomain. Om du inte har ändrat det kan du göra det senare. Låt oss först kontrollera vilket värdnamn du har angett. Detta görs med kommandot i konsolen värdnamn, eller använder du namnger:

# värdnamn localhost.localdomain # uname -n localhost.localdomain

För att ändra värdnamnet i CentOS måste du redigera filen /etc/hostname. Låt oss kontrollera innehållet:

# cat /etc/hostname localhost.localdomin

Låt oss redigera den här filen för att ändra värdnamnet:

# mcedit /etc/hostname centos.localhost

Spara filen och kontrollera:

# värdnamn centos.localhost

Det finns ett färdigt kommando som omedelbart ställer in det nödvändiga servernamnet:

# hostnameectl set-hostname centos.localhost

Allt är ok, vi ändrade värdnamnet till centos.localhost

Ställ in standardgatewayen i CentOS

Om du av någon anledning inte ställde in standardgatewayen när du ställde in nätverksparametrar, kan du göra detta manuellt. Låt oss först kontrollera vilken standardgateway som är installerad i systemet det här ögonblicket:

# netstat -nr Kernel IP-routningstabell Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 149.154.71.254 0.0.0.0 UG 0 0 0 eth0 0.0.0 0 0 0 eth0 192.168.1.0 10.8.0.2 255.255 UG 0 0 tun0

Raden med Destination 0.0.0.0 anger gatewayadressen. Om du inte har det, eller om fel gateway är inställd i fältet Gateway, kan du ändra detta. Ställ in standardgateway:

# rutt lägg till standard gw 192.168.0.1

Eller samma sak med ip-kommandot.

# ip r standard via 10.20.1.1 dev ens18 proto dhcp metric 100 10.20.1.0/24 dev ens18 proto kernel scope link src 10.20.1.23 metric 100 # ip route add default 10.20.1.0/24 dev ens18

# ip-rutt lägg till standard via 10.20.1.1

Nätverkshanterare på CentOS

CentOS har som standard en tjänst som hanterar alla nätverksanslutningar - Nätverks chef. Den övervakar ständigt nätverksinställningar och, med hjälp av en konfigurationshanteringsdemon, gör den lämpliga ändringar av aktiva nätverksenheter. Den stöder standard ifcfg-konfigurationsfiler.

Lista över nätverksverktyg och applikationer:

Användare interagerar inte direkt med NetworkManager på CentOS de använder grafiska och kommandoradsverktyg för att göra det. Ett sådant verktyg är systemkonfiguration nätverk tui. I Centos 8 är NetworkManager som standard den rekommenderade metoden för att sätta upp ett nätverk. Alla andra metoder förklaras föråldrade.

Systemkonfiguration nätverk tui

För att hantera nätverksinställningar i CentOS kan du använda ett grafiskt verktyg nmtui. Det är mycket enkelt att kontrollera dess närvaro i systemet. Kör det bara i konsolen:

Om du inte har det installerat är det väldigt enkelt att fixa. Installera i CentOS systemconfig nätverk tui:

# yum installera NetworkManager-tui

Genom att använda tui du kan ange alla nätverksinställningar som vi gjorde tidigare via kommandorad och redigera nätverksskriptkonfigurationsfiler. Låt oss göra det. Ring programmet:

Välj det första objektet Redigera en anslutning, välj sedan nätverksgränssnittet och klicka på "Redigera":

Här kan vi ändra namnet på nätverkskortet, MAC-adress, ange typen av nätverksinställningar - manuell eller dhcp, ange IP-adress, gatewayadress, DNS-server manuellt, lägg till rutter och några andra inställningar:

När redigeringen är klar, spara inställningarna genom att klicka på OK.
Om du väljer objektet på den första skärmen i verktyget Ange systemvärdnamn, kan du snabbt ange värdnamnet. Resultatet blir detsamma som vi gjorde tidigare i konsolen.

Om du förbereder dig för att ta RHEL-certifieringen kommer du överallt att se en rekommendation att använda nmtui för att konfigurera nätverket. Summan av kardemumman är att tiden är begränsad under tentamen, och med hjälp av en nätverksansvarig kan och bör du spara den. Man tror att det går snabbare att sätta upp ett nätverk på detta sätt.

Hur man lägger till en statisk rutt på CentOS

För att styra routing på CentOS kan du behöva lägga till en statisk rutt. Detta kan göras helt enkelt med hjälp av konsolkommandot. Låt oss först kontrollera befintliga rutter med hjälp av netstat:

# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.159.0 5o 5.0 5o 16777728

I det här fallet har vi en rutt för adressen 0.0.0.0/0.0.0.0; gatewayen är 192.168.159.2, som också är standardgatewayen. Det vill säga, i huvudsak finns det inga statiska vägar. Låt oss lägga till en av dem.

Låt oss säga att vi har ett subnät 192.168.8.0 mask 255.255.255.0, trafik till detta subnät dirigeras av gatewayen 192.168.159.5 Lägg till en rutt:

# route add -net 192.168.8.0/24 gw 192.168.159.5

Kontrollera om den tillagda rutten har dykt upp i rutttabell:

# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.8.0 191.529 G.52. 0 0 0 eno16777728 192.168.159.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777728

Allt är ok, rutten har lagts till. Vi gör samma sak med hjälp av ip-verktyget.

# ip r # ip-rutt lägg till 192.168.8.0/24 via 192.168.159.5

Men efter omstart kommer denna statiska rutt att raderas. För att förhindra att detta händer och för att spara de tillagda rutterna måste du skriva dem till en speciell fil. I mapp /etc/sysconfig/network-scripts skapa en fil med namnet route-eth0 följande innehåll:

# mcedit /etc/sysconfig/network-scripts/route-eth0 192.168.8.0/24 via 192.168.159.5

Starta om och kontrollera om rutten är på plats:

# omstart # netstat -nr Kernel IP-routningstabell Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.251.5.5.5.5. 0 UG 0 0 0 eno16777728 192.168.159.0 0.0 .0.0 255.255.255.0 U 0 0 0 eno16777728

Allt är bra, den statiska rutten har lagts till.

Hur man konfigurerar 2 IP-adresser på ett gränssnitt

Om du behöver konfigurera 2 IP adresser på ett gränssnitt i CentOS, då är det ganska enkelt att göra detta. Låt oss använda kommandot ifconfig. Låt oss först kolla listan över nätverksgränssnitt:

# ifconfig eno16777728: flaggor=4163 mtu 1500 inet 192.168.159.129 nätmask 255.255.255.0 broadcast 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet 25.4X paket 254X) s 0 tappade 0 överskrider 0 bildruta 0 TX paket 204 byte 27658 (27,0 KiB) TX-fel 0 tappade 0 överskridanden 0 bärare 0 kollisioner 0 lo: flaggor=73

Låt oss lägga till en annan IP-adress 192.168.159.120 till eno16777728-gränssnittet:

# ifconfig eno16777728:1 192.168.159.120 upp

Låt oss kolla vad som hände:

# ifconfig eno16777728: flaggor=4163 mtu 1500 inet 192.168.159.129 nätmask 255.255.255.0 broadcast 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet 25.4X paket 254X) s 0 tappade 0 överskrider 0 bildruta 0 TX paket 204 byte 27658 (27,0 KiB) TX-fel 0 tappade 0 överskridanden 0 bärare 0 kollisioner 0 eno16777728:1: flaggor=4163 mtu 1500 inet 192.168.159.120 nätmask 255.255.255.0 broadcast 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet73 lo: flags=73 lo: flags mtu 65536 inet 127.0.0.1 nätmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX-paket 11 byte 940 (940.0 B) RX-fel 0 tappade 0 överskridningar 0 ramar 0 TX-paket 11 bytes 0 överkörda TX-paket 11 bytes 0 0 överkörda TX-paket 11 bytes. 0 transportör 0 kollisioner 0

Samma sak med ip.

# ip a add 192.168.159.120/24 dev eno16777728:1

Allt är bra, vi lade till en andra IP-adress till samma gränssnitt. Men efter en omstart kommer den extra adressen inte att sparas. För att spara den måste du skapa en fil för gränssnittsinställning i mappen /etc/sysconfig/network-scripts

# mcedit /etc/sysconfig/network-scripts/ ifcfg-eno16777728:1 DEVICE=eno16777728:1 BOOTPROTO=statisk IPADDR=192.168.159.120 NETMASK=255.255.255.0 ONBOOT=ja

Spara filen, starta om och kontrollera vad som hände. Den andra IP-adressen måste vara på plats.

Hur man startar om nätverket i CentOS

Jag har redan berört den här frågan tidigare, men för säkerhets skull kommer vi att upprepa den separat. Låt oss säga att du har gjort några ändringar i din nätverkskonfiguration. Hur kan jag tillämpa dessa inställningar utan att starta om servern? Väldigt enkelt. För att starta om nätverket i CentOS, använd bara kommandot systemd:

# systemctl starta om nätverket

Om du ser ett fel:

Det gick inte att starta om network.service: Unit network.service hittades inte.

Det betyder att du inte har nätverksskriptpaketet installerat och nätverket hanteras med NetworkManager, som själv startar om nätverket efter att ha ändrat inställningarna.

Om du har gammal version Centos utan systemd, och detta är version 6 och yngre, då startar nätverket om så här.

# /etc/init.d/nätverk starta om

Nätverkstjänsten läser alla nätverksinställningar igen och tillämpar ändringarna.

Hur man tar reda på IP-adressen i CentOS

För att snabbt ta reda på den aktuella IP-adressen i CentOS måste du använda följande kommandon:

# ifconfig | grep inet inet 192.168.159.129 nätmask 255.255.255.0 sändning 192.168.159.255 inet 127.0.0.1 nätmask 255.0.0.0

Eller det andra alternativet för att bestämma den lokala IP-adressen:

# ip-adress | grep inet inet 127.0.0.1/8 scope host lo inet 192.168.159.129 /24 brd 192.168.159.255 omfattning globalt eno16777728

Båda kommandona låter dig snabbt ta reda på din IP-adress.

Vad ska jag göra om CentOS inte ser nätverkskortet?

Du installerade servern, startade upp och upptäckte att det inte finns ett enda nätverkskort i systemet. Vad ska man göra i det här fallet? Först och främst, titta på utgången av kommandot dmesg och leta efter ett minne av ditt kort där. Kanske är det i systemet, bara inte aktiverat. Du kan aktivera den med nmtui, som jag berättade ovan.

Det finns ett menyalternativ Aktivera anslutning, måste du gå in i den och aktivera ditt nätverkskort. Efter detta kan du konfigurera det.

Om ditt nätverkskort inte finns i systemet måste du söka på Internet efter information om detta nätverkskort per modell. Kanske kommer det att finnas drivrutiner för det i arkiven. Detta är en ganska vanlig situation. Oftast kommer drivrutiner att hittas och de måste installeras korrekt.

Det finns fortfarande en möjlighet att du inte kommer att se ditt kort när ifconfig-kommandot matas ut om nätverkskabeln inte är ansluten till detta kort. För att vara säker på att se alla gränssnitt måste du använda omkopplaren -a:

# ifconfig -a

Det finns ett annat sätt att leta efter ett nätverkskort i systemet. Installera paketet pciutils:

# yum -y installera pciutils

Och titta på resultatet av kommandot:

#lspci | grep Ethernet

Om nätverkskortet ses av systemet bör det finnas något i stil med detta:

02:00.0 Ethernet-kontroller: Intel Corporation 82545EM Gigabit Ethernet-kontroller (koppar) (rev 01)

Om utgången är tom är nätverkskortet inte definierat.

Vad ska man göra om nätverket inte är tillgängligt på CentOS?

Låt oss säga att du försöker pinga någon adress, till exempel 8.8.8.8, och du får ett svar att nätverket inte är tillgängligt:

#ping 8.8.8.8

Och som svar får du:

Anslut: Nätverket är inte tillgängligt

Den här situationen kan uppstå om du inte har en standardgateway installerad. Du kan lägga till det med kommandot:

# rutt lägg till standard gw 192.168.0.1

Om problemet inte är med gatewayen måste du kontrollera inställningarna för nätverkskorten. Om det inte finns någon aktiv adapter får du också ett meddelande om att nätverket inte fungerar. Det är nödvändigt att minst en nätverksadapter är korrekt konfigurerad på systemet. Hur man gör detta är skrivet ovan.

Använd nätverksverktyg traceroute, gräv i CentOS

För att diagnostisera nätverksanslutningar i CentOS är det användbart att använda särskilda verktyg. Men om du använde den minimala installationen, kommer de troligen inte att finnas på systemet. Till exempel det populära verktyget traceroute När du försöker starta den visar den följande meddelande:

# traceroute ya.ru bash: traceroute: kommandot hittades inte

Det måste installeras separat från förvaret:

# yum installera traceroute

Samma sak med det populära programmet gräv för att arbeta med DNS-servrar och poster:

# dig ya.ru bash: dig: kommandot hittades inte

För att detta nätverksverktyg ska fungera måste du installera paketet bind-utils:

# yum installera bind-utils

Konfigurerar 802.1Q VLAN på CentOS

För att få upp ett taggat gränssnitt på CentOS måste du först kontrollera stödet för kärnan 8021q:

#modprobe8021q

Om det inte finns några felmeddelanden är allt i sin ordning, modulen har laddats. Om modulen inte hittas måste du bygga om kärnmodulerna, vilket möjliggör stöd för den nödvändiga modulen. Låt oss kontrollera, för säkerhets skull, om modulen har laddats:

# lsmod | grep 8021q 8021q 29022 0 garp 14384 1 8021q mrp 18542 1 8021q

Allt är bra, 8021q-modulen är laddad, låt oss lägga till den vid start:

# echo 8021q >> /etc/modules-load.d/8021q.conf

Nu skapar vi en konfigurationsfil för vlan in /etc/sysconfig/network-scripts:

# mcedit ifcfg-eth0.2000 VLAN=ja DEVICE=eth0.2000 BOOTPROTO=statisk ONBOOT=ja TYPE=Vlan IPADDR=192.168.100.2 NETMASK=255.255.255.0

Jag uppmärksammar er på det som är markerat i fetstil. I alla instruktioner på Internet som jag stötte på indikerades denna parameter som TYPE=Ethernet, men med den här inställningen ökade inte gränssnittet med vlan, ett fel uppstod:

Fel: ingen enhet hittades för anslutning "System eth0.2000".

Först efter att jag fixat det fungerade allt som det skulle. Så spara och aktivera gränssnittet:

# ifup eth0.2000 Anslutningen har aktiverats (aktiv D-Bus sökväg: /org/freedesktop/NetworkManager/ActiveConnection/7)

Kollar vårt vlan:

# ip l ls 1: lo: mtu 65536 qdisc noqueue state OKÄNT läge DEFAULT länk/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UPP-läge DEFAULT qlen 1000 länk/eter 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff 3: eth0.2000@eth0: mtu 1500 qdisc noqueue state UPP-läge DEFAULT länk/eter 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff

Allt är bra, det taggade gränssnittet är uppe. I analogi kan du skapa flera liknande gränssnitt, utan att glömma att ändra deras namn och adresser.

Slutsats

Detta avslutar mitt omfattande material om ämnet nätverksinstallation i CentOS. Jag tar mycket gärna emot kommentarer, kommentarer och korrigeringar. Det kommer de förmodligen att göra. Genom att skapa sådant material lär jag mig först och främst mig själv och förbättrar mina kunskaper inom ämnesområdet. Det kan finnas fel och stavfel här någonstans, även om jag kollar allt på livesystem när jag skriver manualer, men felaktigheter och stavfel är fortfarande möjliga.

Låt mig påminna dig om att den här artikeln är en del av en enda serie artiklar om servern.

Onlinekurs i Linux

Om du har en önskan om att lära dig bygga och underhålla högst tillgängliga och pålitliga system rekommenderar jag att du bekantar dig med onlinekurs "Linux Administrator" i OTUS. Kursen är inte för nybörjare för antagning behöver du grundläggande kunskaper om nätverk och Linux installation till den virtuella maskinen. Utbildningen varar i 5 månader, varefter framgångsrika kursutexaminerade kommer att kunna genomgå intervjuer med partners. Vad den här kursen ger dig:
  • Kunskaper om Linux-arkitektur.
  • Utveckling moderna metoder och verktyg för dataanalys och bearbetning.
  • Möjlighet att välja en konfiguration för de nödvändiga uppgifterna, hantera processer och säkerställa systemsäkerhet.
  • Kunskaper i de grundläggande arbetsverktygen för en systemadministratör.
  • Förståelse av detaljerna för att distribuera, konfigurera och underhålla nätverk byggda på Linux.
  • Förmågan att snabbt lösa uppkommande problem och säkerställa stabil och oavbruten drift av systemet.
Testa dig själv på antagningsprovet och se programmet för mer detaljer.

) är ett nätverksprotokoll som används för att tilldela IP-adresser till nätverksklienter dynamiskt från en fördefinierad IP-pool. Det är användbart för LAN-nätverk, men används vanligtvis inte för produktionsservrar. Den här artikeln hjälper dig att konfigurera DHCP-server på CentOS, Red Hat System. Läs mer om dhcp.

Installera DHCP-paketet

Installera först DHCP-paket med yum-pakethanteraren på CentOS, Red Hat-system. DHCP-rpm är tillgängliga under basförråd, så vi behöver inte lägga till ett extra förråd.

Yum installera dhcp

Uppdatera filen /etc/sysconfig/dhcpd

Först måste vi ställa in Ethernet-gränssnittsnamnet som DHCPDARGS i /etc/sysconfig/dhcpd fil. Redigera den här konfigurationsfilen och uppdatera Ethernet-namnet.

DHCPDARGS=eth1

Konfigurera DHCP-server

DHCP skapar en tom konfigurationsfil /etc/dhcp/dhcpd.conf. Det tillhandahåller också ett exempel på en konfigurationsfil på /usr/share/doc/dhcp*/dhcpd.conf.sample, vilket är mycket användbart för att konfigurera DHCP-servern.

Så som en första del, kopiera innehållet i exempelkonfigurationsfilen till huvudkonfigurationsfilen. Exempel på konfigurationsfilen kan ändras som perversion som du har installerat på ditt system.

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

3.1 – Parameterkonfiguration

Konfigurera först de grundläggande alternativen som är gemensamma för alla nätverk som stöds.

Webbplats, ns2.site; default-lease-time 600; max-lease-tid 7200; auktoritativ;

log-anläggning lokal7;

3.2 – IP-delnätsdeklaration 192.168.1.0/24 Redigera först DHCP-konfigurationsfilen och uppdatera undernätsdetaljer enligt ditt nätverk. För det här exemplet konfigurerar vi DHCP för

LAN-nätverk.

Subnet 192.168.1.0 nätmask 255.255.255.0 ( option routrar 192.168.1.254; option subnet-mask 255.255.255..168.1.1; option time-offset -18000; # Eastern Standard Time range 1.92 )

3.3 -Tilldela statisk IP-adress till värd

I vissa fall måste vi tilldela en fast IP till ett gränssnitt varje gång det begärs från dhcp. Vi kan också tilldela en fast IP baserad på MAC-adress (hårdvara ethernet) för det gränssnittet. Installationsvärdnamn är valfritt att ställa in.

Värdstation1 (alternativ värdnamn "station1.example.com"; hårdvara ethernet 00:11:1A:2B:3C:AB; fast adress 192.168.1.100; )

Starta DHCP-tjänsten

Efter att ha gjort alla ovanstående ändringar, låt oss starta dhcp-tjänsten med följande kommandon enligt din operativsystemversion.

För CentOS/RHEL 7 systemctl start dhcp För CentOS/RHEL 6/5 service dhcp start

För CentOS/RHEL 7 systemctl stop dhcp ystemctl omstart dhcp För CentOS/RHEL 6/5 service dhcp stop service dhcp omstart

Steg 5: Konfigurera klientsystemet

I det här skedet har vi en körande dhcp-server som är redo att acceptera förfrågningar och tilldela dem en riktig ip. men för att verifiera att jag har en annan CentOS-maskin som körs på samma LAN. Logga nu in på den klientdatorn och redigera Ethernet-konfigurationsfilen.

Vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=ja

Se till BOOTPROTOär satt till dhcp.

Låt oss starta om nätverkstjänster på klientdatorn. Du kommer att få den dhcp-servern tilldelad en ip-adress från det definierade subnätet. Om du har anslutit till klientdatorn från fjärrinloggning, kan din session kopplas bort.

För CentOS/RHEL 7 systemctl omstart nätverk För CentOS/RHEL 6/5 servicenätverk omstart

I denna anteckning vill jag titta på en enkel och snabbt alternativ gatewayinställningar för att organisera internetåtkomst från lokalt nätverk baserat på CentOS 7. Det kommer inte att finnas några ytterligare funktioner, bara det väsentliga för datorer bakom gatewayen för att komma åt Internet.

Den här artikeln är en del av en enda serie artiklar om servern.

Introduktion

Vi kommer att ha följande server till vårt förfogande för att konfigurera gatewayen:

# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core)

Preliminär serverinstallation

# yum -y uppdatering

Efter det installerar jag mc, eftersom jag är van vid det och använder det hela tiden:

# mcedit /etc/sysconfig/selinux

Vi reducerar raden med motsvarande parameter till följande form:

SELINUX=inaktiverad

För att tillämpa ändringarna, starta om servern:

# starta om # yum -y installera epel-release

Installera iftop på CentOS 7:

# yum -y installera iftop

Nu kan vi se nätverksbelastningen på gatewayen i realtid. För att se nätverksaktivitet, kör bara iftop:

Som standard lyssnar den på eth0-gränssnittet. Detta är det externa gränssnittet för gatewayen, på det kommer alla anslutningar att visas på uppdrag av själva gatewayen och vi kommer inte att kunna avgöra vem på nätverket som upptar kanalen. För att se detta måste du börja se nätverksaktivitet på det lokala gränssnittet. Detta är inte svårt att göra, kör bara iftop med parametern:

# iftop -i eth1 -P

I mitt fall är detta en användare med ip 192.168.10.98, på vilken jag körde en internethastighetskontroll från Yandex-servrar.

Om du inte har ett stort nätverk och inte många användare, så kan du med hjälp av detta enkla och effektiva verktyg enkelt avgöra vem som till exempel laddar ner torrents eller på annat sätt laddar kanalen.

Slutsats

Med hjälp av en gratis Linux-distribution kunde vi sätta upp en gateway på några minuter för att tillhandahålla Internetåtkomst för datorer från ett lokalt nätverk. Det tog mig cirka 10 minuter att konfigurera gatewayen med dessa instruktioner. Om du gör detta för första gången, så kommer det naturligtvis att ta dig mycket längre tid. Det kommer att vara nödvändigt att förstå nyanserna, och jag har gett många länkar till ytterligare material.

Låt oss titta på vad vi gjorde:

  1. Vi utförde en preliminär konfiguration av servern och förberedde den för drift.
  2. Routing har aktiverats.
  3. Konfigurera brandväggen.
  4. NAT aktiverat.
  5. Installerade och konfigurerade dnsmasq för organisationen dns tjänster och dhcp.
  6. Vi analyserade nätverksaktiviteten för gatewayen och fick reda på vem som laddar internetkanalen.

Detta är den minsta nödvändiga funktionaliteten för att organisera driften av gatewayen på CentOS 7. Nästa steg kan vara att konfigurera en proxyserver, en trafikformare, ställa in 2 eller fler leverantörer och mycket mer. Jag kommer att överväga en del av detta i mina framtida artiklar.

Låt mig påminna dig om att den här artikeln är en del av en enda serie artiklar om servern.

Onlinekurs i Linux

Om du har en önskan om att lära dig bygga och underhålla högst tillgängliga och pålitliga system rekommenderar jag att du bekantar dig med onlinekurs "Linux Administrator" i OTUS. Kursen är inte för nybörjare för att registrera dig behöver du grundläggande kunskaper om nätverk och installation av Linux på en virtuell maskin. Utbildningen varar i 5 månader, varefter framgångsrika kursutexaminerade kommer att kunna genomgå intervjuer med partners. Vad den här kursen ger dig:
  • Kunskaper om Linux-arkitektur.
  • Behärska moderna metoder och verktyg för dataanalys och bearbetning.
  • Möjlighet att välja en konfiguration för de nödvändiga uppgifterna, hantera processer och säkerställa systemsäkerhet.
  • Kunskaper i de grundläggande arbetsverktygen för en systemadministratör.
  • Förståelse av detaljerna för att distribuera, konfigurera och underhålla nätverk byggda på Linux.
  • Förmågan att snabbt lösa uppkommande problem och säkerställa stabil och oavbruten drift av systemet.
Testa dig själv på inträdesprovet och se programmet för mer detaljer.


Topp