Konfiguriranje mrežnih sučelja u CentOS 8/7

U ovom ćemo članku pogledati načine konfiguriranja mreže na Linux sustavima. CentOS 7/8, pokazati kako konfigurirati mrežna sučelja putem konfiguracijskih datoteka, osnovne alate za konfiguraciju mreže i još mnogo toga. Ovo je relevantna tema, jer početna konfiguracija bilo kojeg poslužitelja započinje mrežnim postavljanjem na njemu.

U članku ćemo pokazati značajke mrežne konfiguracije u CentOS 7 koristeći standardnu ​​mrežnu uslugu. Pogledajmo kako koristiti za konfiguriranje mreže NetworkManager (NM), koji se nudi po zadanom u CentOS 8.

sadržaj:

  • Imenovanje mrežnog sučelja u CentOS-u
  • Početna postavljanje mreže prilikom instaliranja CentOS-a
  • Ručna konfiguracija konfiguracijske datoteke mrežnog sučelja u CentOS-u
  • Kako onemogućiti IPv6 u CentOS-u?
  • Kako odrediti DNS poslužitelj za mrežno sučelje u CentOS-u?
  • Kako konfigurirati više IP adresa na jednom CentOS mrežnom sučelju?
  • Konfiguriranje VLAN-a (802.1Q) na CentOS-u
  • Konfiguriranje više mrežnih sučelja u CentOS-u
  • Korisne naredbe za umrežavanje CentOS-a
  • Uslužni programi mrežnog upravljanja na CentOS-u
  • Upravljanje mrežom s NetworkManager-om u CentOS-u 8

Imenovanje mrežnog sučelja u CentOS-u

Klasično Linux mrežno sučelje imenovanja shema imenovanja eth0, eth1 i tako redom. Ali ta imena nisu čvrsto vezana za sučelja, a nakon ponovnog pokretanja ako postoji nekoliko mrežnih sučelja, ta se imena mogu promijeniti. To može uzrokovati neke probleme prilikom konfiguriranja, na primjer, vatrozida kroz firewalld ili iptables. S tim u vezi, počevši od RedHat 7 i CentOS 7, odlučeno je dodijeliti nazive mrežnog sučelja na temelju hijerarhije različitih shema imenovanja. Sustav će prema zadanim postavkama primjenjivati ​​jedan po jedan plan imenovanja, usredotočujući se na prvi dostupni i primjenjivi. Imena se dodjeljuju u automatskom načinu rada, ostaju nepromijenjena čak i ako je hardver dodan ili promijenjen. S druge strane, takva su imena, primjerice, manje čitljiva, enp5s0 ili ens3, nego tradicionalni eth0 i eth1.

Možete se vratiti na zadani naziv Linux sučelja pomoću sljedećih koraka.

Uređivanje datoteke / etc / default / grub:

# nano / etc / default / grub

U redu GRUB_CMDLINE_LINUX treba dodati:

net.ifnames = 0 biosdevname = 0

Primjer punog retka:

GRUB_CMDLINE_LINUX = "consoleblank = 0 fsck.repair = da crashkernel = auto nompath selinux = 0 rhgb tiho net.ifnames = 0 biosdevname = 0"

Ažuriraj konfiguraciju klopa:

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

Preimenovanje konfiguracijske datoteke mrežnog sučelja:

# mv / etc / sysconfig / network-skripts / ifcfg-ens3 / etc / sysconfig / network-scriptpts / ifcfg-eth0

I zamijenite vrijednost UREĐAJ:

Spremite datoteku, ponovno pokrenite poslužitelj i provjerite je li sve u redu:

# ip a

Sada se zove sučelje eth0.

Početna postavljanje mreže prilikom instaliranja CentOS-a

U početku, prilikom instaliranja CentOS Linuxa, možete konfigurirati mrežno sučelje u grafičkom obliku u stavci izbornika "Mreža i naziv domaćina". U ovom odlomku odredite naziv poslužitelja, dodajte željeno IP adresa i pristupnik, DNS i još mnogo toga. Detaljnije postavke u ovom koraku možete vidjeti u članku na poveznici iznad.

Ručna konfiguracija konfiguracijske datoteke mrežnog sučelja u CentOS-u

Navodimo dostupna mrežna sučelja u sustavu:

# ip a

Mrežne konfiguracijske datoteke vašeg poslužitelja pohranjuju se u direktorij / etc / sysconfig / network-skripte. Ove datoteke kreira demon NetworkManager za svako mrežno sučelje. U našem slučaju zove se konfiguracijska datoteka ifcfg-eth0 (može se razlikovati ovisno o shemi imenovanja mrežnog sučelja).

Razmotrite glavne parametre:

  • UREĐAJ - naziv mrežnog adaptera, isti je kao i naziv u sustavu, imamo eht0
  • BOOTPROTO - metoda za dodjelu IP adrese (statička - statička vrijednost, navesti ručno. Dhcp - automatski dobiti adresu)
  • IPADDR - IP adresa
  • NETMASK - maska ​​podmreže
  • GATEWAY - zadani pristupnik
  • DNS1 - primarni DNS poslužitelj
  • DNS2 - zamjenski DNS poslužitelj
  • ONBOOT - način za pokretanje mrežnog sučelja (da - automatski, ne - ručno)
  • UUID je jedinstveni identifikator mrežnog sučelja. Možete ih sami generirati pomoću uuidgen naredbe.
  • IPV4_FAILURE_FATAL - onemogućite mrežno sučelje s IP adresom v4, ako ima pogrešnu konfiguraciju (da - onemogući, ne - ne onemogući)
  • IPV6_FAILURE_FATAL - onemogućite mrežno sučelje s IP adresom v6, ako ima pogrešnu konfiguraciju (da - onemogući, ne - ne onemogući)
  • IPV6_AUTOCONF - Omogućuje ili onemogućuje automatsku konfiguraciju IPv6 pomoću protokola
  • IPV6_INIT - omogućiti upotrebu IPv6 adrese (da - adresa se može koristiti, ne - ne koristi se)
  • PEERROUTES - postavlja zadani prioritet konfiguracije pristupnika kad koristite DHCP
  • IPV6_PEERROUTES - postavlja zadani prioritet konfiguracije pristupnika kad koristite DHCP za IPv6

Na temelju tih podataka konfigurirajte mrežno sučelje.

Konfigurirajte statičku IP adresu na CentOS-u

Otvorite datoteku za uređivanje:

# mcedit / etc / sysconfig / network-scriptpts / ifcfg-eth0

U ovom primjeru odredio sam statičku IP adresu, masku podmreže, gateway i nekoliko DNS poslužitelja. Uključite sučelje za automatsko pokretanje:

ONBOOT = "da"

Nakon svih izmjena, trebate ponovo pokrenuti uslugu mreža. Ako je sve u redu, dobit ćete popis poput ovog:

[root @ server network skripts] ponovno pokretanje # servisne mreže

Ponovno pokretanje mreže (putem systemctl-a): [OK]

Možete jednostavno ponovo pokrenuti sve profile povezivanja:

Ponovno učitavanje veze nmcli

Dobijanje dinamičke IP adrese za sučelje putem DHCP-a

Ako bi vaš poslužitelj trebao dobiti IP adresu od DHCP Sjever, otvorite konfiguracijsku datoteku sučelja i promijenite postavke:

Odnosno, uklonili smo sve postavke povezane s IP adresama i maskom, a također promijenili način dodjeljivanja IP adrese DHCP (BOOTPROTO = "dhcp"). Nakon svih promjena, ne zaboravite ponovno pokrenuti mrežu.

Kako onemogućiti IPv6 u CentOS-u?

U vrijeme pisanja članka o aktivnoj uporabi IPv6 u Rusiji, ne, a često ako postoji takva mogućnost, administratori više vole protokol IPv4. Stoga, ako i dalje ne koristite ovaj protokol, morate ga onemogućiti na poslužitelju. Ako ste sigurni da nijedna usluga nije konfigurirana za rad s ipv6, možete odmah nastaviti s konfiguriranjem mrežnog sučelja, ako ne, a zatim počnite provjerom. Moramo provjeriti koje usluge koriste ipv6 i onemogućiti ovaj protokol u konfiguraciji usluge. Pokrenite naredbu:

# netstat -tulnp

Imam testni poslužitelj, pa IPv6 Koristi se samo za sshd i cronyd. To se može odrediti ":::".

Da biste izbjegli probleme nakon onemogućivanja ipv6 u mrežnoj konfiguraciji, onemogućite ovaj protokol u uslugama u kojima se koriste na vašem poslužitelju. Na primjer, za sshd morate otvoriti konfiguracijsku datoteku:

# mcedit / etc / ssh / sshd_config

I komentirajte linije:

#Address Obitelj bilo koja #ListenAddress 0.0.0.0

Zatim ponovno pokrenite uslugu:

Kao što vidite, za sshd protokol IPv6 sada nedostupna. Izvršite iste postavke sa svim uslugama..

Okrenimo se onemogućavanju ipv6 protokola u mrežnim postavkama. Otvori datoteku /etc/sysctl.conf:

# nano /etc/sysctl.conf I tamo dodajte sljedeće retke:

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

Spremite datoteku i primijenite putem:

[root @ server ~] # sysctl -p

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

Prijeđimo na datoteku / etc / sysconfig / mreža. Dodajte mu sljedeću konfiguraciju:

NETWORKING_IPV6 = ne IPV6INIT = ne

Iz konfiguracijske datoteke mrežnog sučelja / etc / sysconfig / network-skripte / ifcfg-eth0 izbriši liniju:

IPV6INIT = "da"

Na kraju dodajte zabranu rada IPv6 u žaru:

# nano / etc / default / grub

Na kraju retka GRUB_CMDLINE_LINUX dodajte:

ipv6.disable = 1

Nakon svih postavki spremite datoteku i ažurirajte grubu:

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

Ponovno pokrenite poslužitelj i provjerite mrežnu konfiguraciju:

[root @ server ~] # ifconfig

eth0: zastave = 4163 mtu 1500 inet 185. *. *. * mrežna maska ​​255.255.255.0 emitirana 185. *. *. 255 eter 52: 54: 00: d3: 1c: 3e txqueuelen 1000 (Ethernet) RX paketi 10068 bajta 613092 ( 598,7 KiB) RX pogreške 0 ispušteno 0 prekoračenja 0 okvira 0 TX paketi 32 bajta 5399 (5,2 KiB) TX pogreške 0 ispušteno 0 prekoračenje 0 nosač 0 sudara 0 lo: zastave = 73 mtu 65536 inet 127,0,0,1 mrežna maska ​​255,0,0,0 petlja txqueuelen 1000 (Lokalna povratna veza) RX paketi 0 bajtova 0 (0,0 B) RX pogreške 0 ispušteno 0 prekoračenja 0 okvira 0 TX paketi 0 bajtova 0 (0,0 B) TX pogreške 0 ispušteno 0 prekoračenja 0 nosač 0 sudara 0

protokol IPv6 onemogućeno na poslužitelju.

Kako odrediti DNS poslužitelj za mrežno sučelje u CentOS-u?

Možete konfigurirati DNS poslužitelj za vaš poslužitelj pomoću datoteke /etc/resolv.conf ili ih odredite u postavkama mrežnog sučelja. Pri konfiguriranju statičke konfiguracije za mrežno sučelje već smo odredili DNS poslužitelj kroz parametre:

DNS1 = DNS2 = DNS3 =

Instalirajte potrebne DNS poslužitelje i ponovno pokrenite mrežnu uslugu.

Za podnošenje /etc/resolv.conf, DNS poslužitelji se automatski registriraju nakon ponovnog pokretanja poslužitelja, uzimajući ih iz mrežne konfiguracijske datoteke. Ako prilikom postavljanja mreže niste naveli DNS poslužitelj, ručno ih registrirajte u datoteci /etc/resolv.conf:

nameserver 77.88.8.8 nameserver 8.8.8.8 nameserver 8.8.4.4

Kako konfigurirati više IP adresa na jednom CentOS mrežnom sučelju?

Ako trebate koristiti nekoliko IP adresa na istom mrežnom sučelju, možete ga konfigurirati putem pseudonime sučelja ili dodavanjem dodatne IP adrese glavnoj konfiguracijskoj datoteci.

# nano / etc / sysconfig / network-scriptpts / ifcfg-eth0

I promijenite ga ovako:

# Generirano od parse-kickstart UUID = "b8bccd4c-fb1b-4d36-9d45-044c7c0194eb" IPADDR1 = "*. *. *. *" IPADDR2 = "*. *. *. *" GATEWAY = "*. *. * * "NETMASK =" 255.255.255.0 "BOOTPROTO =" statički "DEVICE =" eth0 "ONBOOT =" da "DNS1 = 77.88.8.8 DNS2 = 8.8.8.8 DNS3 = 8.8.4.4 

gdje je:

IPADDR1 - prva IP adresa

IPADDR2 - druga IP adresa

GATEWAY - glavni ulaz

Ili stvoriti pseudonim u vašu glavnu konfiguracijsku datoteku:

# nano / etc / sysconfig / network-scriptpts / ifcfg-eth0: 1

I dodajte nekoliko redaka, bez glavnog prolaza:

Nakon svih postavki, trebate ponovno pokrenuti mrežu:

[root @ server network skripts] ponovno pokretanje # servisne mreže

Ponovno pokretanje mreže (putem systemctl-a): [OK]
U sustavu Windows također možete konfigurirati više IP adresa (pseudonime) na jednom sučelju.

Konfiguriranje VLAN-a (802.1Q) na CentOS-u

Za više informacija o konfiguriranju više VLAN-ova za jedno mrežno sučelje u CentOS-u, pogledajte: Konfiguriranje VLAN-ova na mrežnom sučelju u CentOS-u.

Konfiguriranje više mrežnih sučelja u CentOS-u

Ako na poslužitelju imate nekoliko mrežnih sučelja, možete odrediti različite IP adrese za njih. Let's shvatiti kako to učiniti Ako na poslužitelju imate više mrežnih sučelja, odjeljak "ip a"Trebali bi prikazati ove podatke:

[root @ server ~] # ip a

1: lo: mtu 65536 qdisc noqueue stanje NEZAVISNO grupa zadano qlen 1000 veza / povratna veza 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 opseg host lo valid_lft zauvijek prednost_lft zauvijek 2: eth0: mtu 1500 qdisc pfifo_fast stanje UP grupa zadana qlen 1000 veza / eter 52: 54: 00: d3: 1c: 3e brd ff: ff: ff: ff: ff: ff: ff inet 185. *. *. * / 16 brd 185. *. *. 255 opseg globalnog eth0 valid_lft zauvijek preferirano_lft zauvijek 3: eth1: mtu 1500 qdisc noop state DOWN grupa zadana qlen 1000 veza / eter 52: 54: 00: 5f: f3: b8 brd ff: ff : ff: ff: ff: f

Za konfiguriranje drugog sučelja potrebno je stvoriti datoteku za to:

# nano / etc / sysconfig / network-scriptpts / ifcfg-eth1

I dodajte sljedeću konfiguraciju:

IPADDR = "*. *. *. *" GATEWAY = "*. *. *. *" NETMASK = "255.255.255.0" BOOTPROTO = "statički" DEVICE = "eth1" ONBOOT = "da"

Nakon toga, poslužitelj mora instalirati zadani gateway. Provjerit ćemo koji je gateway trenutno instaliran i po potrebi ga promijeniti:

[root @ server ~] # netstat -nr

Kernel IP tabla za usmjeravanje Destination Gateway Genmask zastave MSS Window irtt Iface 0.0.0.0 185. *. *. 1 0.0.0.0 UG 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 185. *. 0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 185. *. *. 0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

Kao glavni gateway, imamo sučelje eth1. Želim koristiti eth0, za to to mijenjamo:

# route add default gw *. *. *. * - zamijenite gateway s onim koji je naveden u mrežnom sučelju eth0

# route delete default gw *. *. *. * - izbriši gateway sučelja eth1

Ako želite da ova postavka ostane nakon ponovnog pokretanja poslužitelja, dodajte ove naredbe rc.local (pogledajte članak o uslugama pokretanja u CentOS-u).

Korisne naredbe za umrežavanje CentOS-a

  • ifdown eth1 - onemogući određeno mrežno sučelje.
  • ifup eth1 - podići specificirano mrežno sučelje.
  • ifconfig - provjerite podatke o svim sučeljima.
  • ifconfig -a | grep eter | gawk 'print $ 2' - naredba za ispis MAC adresa sučelja
  • ip a | grep eter | gawk 'print $ 2' - ista stvar, samo preko uslužnog programa ip
  • ponovno pokretanje servisne mreže ili ponovno pokretanje mreže systemctl - ponovno pokrenite mrežni servis koristeći systemctl
  • ponovno pokrenuti sustav NetworkManager.service - ponovno pokrenite NM
  • ip ruta ili ip route show - prikaz tablice usmjeravanja
  • domaćin pinga - ping navedenog domaćina
  • Whois domena - dobiti informacije o whoisu za domenu
  • kopati domenu - dobiti podatke o DNS domeni

Uslužni programi mrežnog upravljanja na CentOS-u

Ako poslužitelj radi neko vrijeme ili ga uopće niste postavljali, prvi korak je otkriti koja su sučelja prisutna na poslužitelju. Radi praktičnosti instalirajte potrebne alate iz osnovnog spremišta:

# yum instalirajte mrežne alate -y

Nakon instalacije možete koristiti uslužni program ifconfig:

[root @ server ~] # ifconfig

eth0: zastave = 4163 mtu 1500 inet 185. *. *. * mrežna maska ​​255.255.255.0 emitirana 185. *. *. 255 inet6 fe80 :: 5054: ff: fed3: 1c3e prefiks 64 obseg 0x20 eter 52: 54: 00: d3 : 1c: 3e txqueuelen 1000 (Ethernet) RX paketi 2189424 bajta 144208326 (137,5 MiB) RX pogreške 0 ispušteno 0 prekoračenje 0 okvir 0 TX paketi 2350 bajta 260486 (254,3 KiB) TX pogreške 0 pad 0 prekoračenja 0 nosač 0 sudara 0

Kao što vidite, naziv našeg mrežnog sučelja eth0.

Bez instaliranja paketa neto alati, možete testirati svoja sučelja pomoću sljedeće naredbe:

# ip a

Rezultat će biti gotovo isti:

Upravljanje mrežom s NetworkManager-om u CentOS-u 8

U CentOS 8 preporučuje se samo upotreba NetworkManager. Ova usluga upravljanja mrežnom vezom nadzire postavke i primjenjuje promjene na mrežnim adapterima.

Za provjeru statusa NM, koristite naredbu:

# systemctl status NetworkManager.service

CentOS predlaže korištenje naredbene konzole za konfiguriranje mreže nmcli ili grafički uslužni program nmtui.

Za ulazak u način mrežnih postavki unesite naredbu:

# nmtui

Kad odaberete prvu stavku, vidjet ćete prozor s mrežnim sučeljem za uređivanje:

Odaberite sučelje koje nam treba i uredite:

Možemo urediti ime, IP adresu, Gateway, DNS servere. Također u interaktivnom izborniku NM možemo promijeniti način dodjeljivanja IP adrese DHCP:

Zamijeni "priručnik"On"automatski"

Zatim spremite postavke. Koristeći nmtui u grafičkom načinu možete izvesti bilo koje postavke koje ručno izvodite kroz konfiguracijske datoteke. Ako za konfiguraciju sučelja radije koristite naredbeni redak, možete koristiti nmcli. Na primjer, sljedeće naredbe promijenit će IP adresu, gateway i DNS poslužitelj za eth1 sučelje.

# nmcli con mod eth1 ipv4.addresses 192.168.10.14/24
# nmcli con mod eth1 ipv4.gateway 192.168.10.1
# nmcli con mod eth1 ipv4.dns "8.8.8.8"

Da biste primijenili promjene, ponovno učitajte sučelje:

# nmcli con et eth1

Ako vam je prikladnije raditi s konfiguracijskim datotekama, instalirajte zaseban paket putem yum mreža skripte (CentOS 8 ga po defaultu nema):

# yum instalirajte mrežne skripte -y

Nadograđeno: initscripts-10.00.1-1.el8_0.1.x86_64 Instalirano: network-script-10.00.1-1.el8_0.1.x86_64 network-scriptpts-team-1.27-10.el8.x86_64 Complete!

Nakon instaliranja ovog paketa, možete urediti mrežne postavke, kako smo ranije opisali, putem konfiguracijskih datoteka: