Konfigurace síťových rozhraní v CentOS 8/7

V tomto článku se podíváme na způsoby konfigurace sítě v systémech Linux. CentOS 7/8, ukazují, jak konfigurovat síťová rozhraní prostřednictvím konfiguračních souborů, základních nástrojů pro konfiguraci sítě a mnoho dalšího. Toto je relevantní téma, protože počáteční konfigurace jakéhokoli serveru začíná nastavením sítě na něm.

V článku si ukážeme funkce konfigurace sítě v CentOS 7 pomocí standardní síťové služby. Podívejme se, jak použít ke konfiguraci sítě NetworkManager (NM), který je standardně nabízen v CentOS 8.

Obsah:

  • Pojmenování síťového rozhraní v CentOS
  • Počáteční nastavení sítě při instalaci CentOS
  • Ruční konfigurace konfiguračního souboru síťového rozhraní v CentOS
  • Jak zakázat IPv6 v CentOS?
  • Jak určit server DNS pro síťové rozhraní v CentOS?
  • Jak nakonfigurovat více IP adres na jednom síťovém rozhraní CentOS?
  • Konfigurace VLAN (802.1Q) na CentOS
  • Konfigurace více síťových rozhraní v CentOS
  • Užitečné síťové příkazy CentOS
  • Nástroje pro správu sítě na CentOS
  • Správa sítě pomocí NetworkManageru v CentOS 8

Pojmenování síťového rozhraní v CentOS

Klasické pojmenování schématu síťového rozhraní systému Linux eth0, eth1 atd. v pořádku. Tato jména však nejsou pevně svázána s rozhraními a po restartu, pokud existuje několik síťových rozhraní, se tato jména mohou změnit. To může způsobit některé problémy při konfiguraci, například, brány firewall pomocí brány firewall nebo iptables. V tomto ohledu, počínaje RedHat 7 a CentOS 7, bylo rozhodnuto o přiřazení názvů síťových rozhraní na základě hierarchie různých schémat pojmenování. Ve výchozím nastavení bude systémd používat schémata pojmenování po jednom se zaměřením na první dostupné a použitelné. Názvy jsou přiřazeny v automatickém režimu, zůstávají nezměněny, i když je přidán nebo změněn hardware. Na druhé straně jsou takové názvy rozhraní například méně čitelné, enp5s0 nebo ens3, než tradiční eth0 a eth1.

K výchozímu názvu rozhraní Linux se můžete vrátit pomocí následujících kroků.

Upravit soubor / etc / default / grub:

# nano / etc / default / grub

Ve frontě GRUB_CMDLINE_LINUX potřeba přidat:

net.ifnames = 0 biosdevname = 0

Příklad celé řady:

GRUB_CMDLINE_LINUX = "consoleblank = 0 fsck.repair = yes crashkernel = auto nompath selinux = 0 rhgb tichá net.ifnames = 0 biosdevname = 0"

Aktualizujte konfiguraci grub:

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

Přejmenujte konfigurační soubor síťového rozhraní:

# mv / etc / sysconfig / network-scripts / ifcfg-ens3 / etc / sysconfig / network-scripts / ifcfg-eth0

A nahraďte hodnotu Zařízení:

Uložte soubor, restartujte server a zkontrolujte, zda je vše v pořádku:

# ip a

Rozhraní se nyní nazývá eth0.

Počáteční nastavení sítě při instalaci CentOS

Při instalaci CentOS Linux můžete nejprve nakonfigurovat síťové rozhraní v grafickém režimu v položce nabídky „Síť a název hostitele“. V tomto odstavci zadejte název serveru, přidejte požadovaný IP adresa a brána, DNS a mnohem více. Podrobnější nastavení v tomto kroku najdete v článku na výše uvedeném odkazu.

Ruční konfigurace konfiguračního souboru síťového rozhraní v CentOS

Uvádíme dostupná síťová rozhraní v systému:

# ip a

Konfigurační soubory sítě serveru jsou uloženy v adresáři / etc / sysconfig / network-scripts. Tyto soubory jsou vytvořeny démonem NetworkManager pro každé síťové rozhraní. V našem případě se nazývá konfigurační soubor ifcfg-eth0 (může se lišit v závislosti na schématu pojmenování síťového rozhraní).

Zvažte hlavní parametry:

  • DEVICE - název síťového adaptéru, stejný jako název v systému, máme eht0
  • BOOTPROTO - metoda pro přiřazení IP adresy (statická - statická hodnota, zadejte ručně. Dhcp - získejte adresu automaticky)
  • IPADDR - IP adresa
  • NETMASK - maska ​​podsítě
  • GATEWAY - výchozí brána
  • DNS1 - primární server DNS
  • DNS2 - alternativní server DNS
  • ONBOOT - způsob, jak spustit síťové rozhraní (ano - automaticky, ne - ručně)
  • UUID je jedinečný identifikátor síťového rozhraní. Můžete ho vygenerovat sami pomocí příkazu uuidgen.
  • IPV4_FAILURE_FATAL - deaktivujte síťové rozhraní s adresou IP v4, pokud má nesprávnou konfiguraci (ano - zakázat, ne - nevypnout)
  • IPV6_FAILURE_FATAL - deaktivujte síťové rozhraní s adresou IP v6, pokud má nesprávnou konfiguraci (ano - zakázat, ne - nevypnout)
  • IPV6_AUTOCONF - Povoluje nebo zakazuje automatickou konfiguraci IPv6 pomocí protokolu
  • IPV6_INIT - umožňuje použití adresování IPv6 (ano - lze použít adresování, ne - nepoužívá se)
  • PEERROUTES - nastavuje výchozí prioritu konfigurace brány při použití DHCP
  • IPV6_PEERROUTES - nastavuje výchozí prioritu konfigurace brány při použití DHCP pro IPv6

Na základě těchto informací nakonfigurujte síťové rozhraní.

Nakonfigurujte statickou IP adresu na CentOS

Otevřete soubor pro úpravy:

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

V tomto příkladu jsem uvedl statickou IP adresu, masku podsítě, bránu a několik serverů DNS. Zapnout rozhraní automatického spuštění:

ONBOOT = „ano“

Po všech úpravách musíte službu restartovat síť. Pokud je vše v pořádku, zobrazí se vám tento záznam:

[root @ server network-scripts] # ​​restart služby sítě

Restartování sítě (prostřednictvím systemctl): [OK]

Můžete také jednoduše restartovat všechny profily připojení:

# nmcli připojení znovu načteno

Získání dynamické IP adresy pro rozhraní přes DHCP

Pokud by váš server měl obdržet IP adresu od DHCP North, otevřete konfigurační soubor rozhraní a změňte nastavení:

To znamená, že jsme odstranili všechna nastavení týkající se IP adres a masky a také jsme změnili způsob, jakým byla IP adresa přiřazena dhcp (BOOTPROTO = ”dhcp”). Po všech změnách nezapomeňte restartovat síť.

Jak zakázat IPv6 v CentOS?

V době psaní článku o aktivním použití ipv6 v Rusku ne, a často, pokud existuje taková příležitost, správci upřednostňují protokol ipv4. Pokud tedy tento protokol stále nepoužíváte, musíte jej na serveru zakázat. Pokud jste si jisti, že žádná ze služeb není nakonfigurována pro práci s ipv6, můžete okamžitě pokračovat v konfiguraci síťového rozhraní, pokud ne, pak začít kontrolou. Musíme zkontrolovat, které služby používají ipv6 a zakázat tento protokol v konfiguraci služby. Spusťte příkaz:

# netstat -tulnp

Mám zkušební server ipv6 Používá se pouze pro sshd a cronyd. To lze zjistit pomocí „:::“.

Chcete-li se vyhnout problémům po deaktivaci ipv6 v konfiguraci sítě, zakažte tento protokol ve službách, ve kterých jsou používány na vašem serveru. Například pro sshd musíte otevřít konfigurační soubor:

# mcedit / etc / ssh / sshd_config

A odkomentujte řádky:

#AddressFamily any #ListenAddress 0.0.0.0

Poté restartujte službu:

Jak vidíte, pro protokol sshd ipv6 nyní nedostupné. U všech služeb proveďte stejné nastavení..

Podívejme se na deaktivaci protokolu ipv6 v nastavení sítě. Otevřít soubor /etc/sysctl.conf:

# nano /etc/sysctl.conf Zde přidejte následující řádky:

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

Uložte soubor a přihlaste se pomocí:

[root @ server ~] # sysctl -p

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

Pojďme k souboru / etc / sysconfig / network. Přidejte do něj následující konfiguraci:

NETWORKING_IPV6 = ne IPV6INIT = ne

Z konfiguračního souboru síťového rozhraní / etc / sysconfig / network-scripts / ifcfg-eth0 smazat řádek:

IPV6INIT = "ano"

Nakonec přidejte zákaz práce ipv6 v grub:

# nano / etc / default / grub

Na konec řádku GRUB_CMDLINE_LINUX přidejte:

ipv6.disable = 1

Po všech nastaveních uložte soubor a aktualizujte grub:

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

Restartujte server a zkontrolujte konfiguraci sítě:

[root @ server ~] # ifconfig

eth0: flags = 4163 mtu 1500 inet 185. *. *. * Netmask 255.255.255.0 broadcast 185. *. *. 255 ether 52: 54: 00: d3: 1c: 3e txqueuelen 1000 (Ethernet) RX pakety 10068 bytů 613092 ( 598,7 KiB) Chyby RX 0 vynechány 0 překročení 0 rámec 0 TX pakety 32 bajtů 5399 (5,2 KiB) Chyby TX 0 vynechány 0 překročení 0 nosič 0 kolize 0 lo: vlajky = 73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 smyčka txqueuelen 1000 (Local Loopback) RX pakety 0 bajtů 0 (0,0 B) RX chyby 0 klesl 0 překročení 0 rámec 0 pakety TX 0 0 bajtů 0 (0,0 B) TX chyby 0 klesl 0 překročení 0 nosič 0 kolize 0

Protokol ipv6 na serveru zakázáno.

Jak určit server DNS pro síťové rozhraní v CentOS?

Pomocí souboru můžete nakonfigurovat server DNS pro váš server /etc/resolv.conf nebo je zadejte v nastavení síťového rozhraní. Při konfiguraci statické konfigurace síťového rozhraní jsme již zadali server DNS pomocí těchto parametrů:

DNS1 = DNS2 = DNS3 =

Nainstalujte potřebné servery DNS a restartujte síťovou službu.

Do souboru /etc/resolv.conf, Servery DNS se registrují automaticky při restartování serveru a odebírají je ze síťového konfiguračního souboru. Pokud jste při nastavování sítě neurčili server DNS, zaregistrujte je ručně do souboru /etc/resolv.conf:

nameserver 77.88.8.8 nameserver 8.8.8.8 nameserver 8.8.4.4

Jak nakonfigurovat více IP adres na jednom síťovém rozhraní CentOS?

Pokud potřebujete použít několik IP adres ve stejném síťovém rozhraní, můžete je nakonfigurovat pomocí aliasu rozhraní nebo přidáním další adresy IP do hlavního konfiguračního souboru..

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

A změňte to takto:

# Generováno parse-kickstart UUID = "b8bccd4c-fb1b-4d36-9d45-044c7c0194eb" IPADDR1 = "*. *. *. *" IPADDR2 = "*. *. *. *" GATEWAY = "*. *. *. * "NETMASK =" 255.255.255.0 "BOOTPROTO =" statický "DEVICE =" eth0 "ONBOOT =" yes "DNS1 = 77.88.8.8 DNS2 = 8.8.8.8 DNS3 = 8.8.4.4 

Kde:

IPADDR1 - první IP adresa

IPADDR2 - druhá IP adresa

GATEWAY - hlavní brána

Nebo vytvořit alias do hlavního konfiguračního souboru:

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

A přidejte několik řádků bez hlavní brány:

Po všech nastaveních je třeba restartovat síť:

[root @ server network-scripts] # ​​restart služby sítě

Restartování sítě (prostřednictvím systemctl): [OK]
Ve Windows můžete také nakonfigurovat více IP adres (aliasů) na jednom rozhraní.

Konfigurace VLAN (802.1Q) na CentOS

Další informace o konfiguraci více sítí VLAN pro jedno síťové rozhraní v CentOS naleznete v: Konfigurace sítí VLAN na síťovém rozhraní v CentOS.

Konfigurace více síťových rozhraní v CentOS

Pokud máte na serveru několik síťových rozhraní, můžete pro ně zadat různé adresy IP. Pojďme na to, jak na to. Pokud máte na serveru více než jedno síťové rozhraní,ip a„Měl by se zobrazit tato informace:

[root @ server ~] # ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN skupina default qlen 1000 link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 rozsah hostitele lo valid_lft navždy upřednostňován navždy 2: eth0: mtu 1500 qdisc pfifo_fast stav UP skupina výchozí qlen 1000 link / ether 52: 54: 00: d3: 1c: 3e brd ff: ff: ff: ff: ff: ff: inet 185. *. *. * / 16 brd 185. *. *. *. 255 rozsah globální eth0 valid_lft navždy preferovaný_lft navždy 3: eth1: mtu 1500 qdisc noop state DOWN skupina default qlen 1000 link / ether 52: 54: 00: 5f: f3: b8 brd ff: ff : ff: ff: ff: f

Chcete-li nakonfigurovat druhé rozhraní, musíte pro něj vytvořit soubor:

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

A přidejte následující konfiguraci:

IPADDR = "*. *. *. *" GATEWAY = "*. *. *. *" NETMASK = "255.255.255.0" BOOTPROTO = "statický" DEVICE = "eth1" ONBOOT = "yes"

Poté musíte na server nainstalovat výchozí bránu. Prověříme, která brána je aktuálně nainstalována, a v případě potřeby ji změníme:

[root @ server ~] # netstat -nr

Směrovací tabulka jádra IP Cílová brána Genmask Příznaky MSS Okno 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 eth1 185. *. 0.0 0.0.0.0 255.255.0.0 U 0 0 eth0 185. *. * 0.0.0.0 255.255.255.0 U 0 0 eth1

Jako hlavní brána máme rozhraní eth1. Chci použít eth0, pro tento to změníme:

# route add default gw *. *. *. * - vyměňte bránu za bránu specifikovanou v síťovém rozhraní eth0

# route delete default gw *. *. *. * - smazat bránu rozhraní eth1

Pokud chcete, aby toto nastavení zůstalo i po restartu serveru, přidejte tyto příkazy rc.local (viz článek o spouštěcích službách v CentOS).

Užitečné síťové příkazy CentOS

  • ifdown eth1 - zakázat určené síťové rozhraní.
  • ifup eth1 - zvýšit zadané síťové rozhraní.
  • ifconfig - zkontrolujte informace o všech rozhraních.
  • ifconfig -a | grep ether | gawk 'print $ 2' - příkaz pro výstup MAC adres rozhraní
  • ip a | grep ether | gawk 'print $ 2' - totéž, pouze pomocí nástroje ip
  • restart sítě služby nebo systemctl restartujte síť - restartujte síťovou službu pomocí systemctl
  • systemctl restart NetworkManager.service - restart NM
  • ip cesta nebo ip route show - zobrazení směrovací tabulky
  • hostitel ping - ping zadaného hostitele
  • whois doména - získejte whois informace pro doménu
  • kopat doménu - získat informace o doméně DNS

Nástroje pro správu sítě na CentOS

Pokud server nějakou dobu pracoval nebo pokud jste ho vůbec nenastavili, je prvním krokem zjistit, která rozhraní jsou na serveru. Pro větší pohodlí nainstalujte potřebné nástroje ze základního úložiště:

# yum install net-tools -y

Po instalaci můžete tento nástroj použít ifconfig:

[root @ server ~] # ifconfig

eth0: flags = 4163 mtu 1500 inet 185. *. *. * netmask 255.255.255.0 broadcast 185. *. *. 255 inet6 fe80 :: 5054: ff: fed3: 1c3e prefixlen 64 rozsah 0x20 ether 52: 54: 00: d3 : 1c: 3e txqueuelen 1000 (Ethernet) RX pakety 2189424 bajtů 144208326 (137,5 MiB) RX chyby 0 klesl 0 překročení 0 rámec 0 pakety TX 2350 bytů 260486 (254,3 KiB) TX chyby 0 klesl 0 překročení 0 nosič 0 kolize 0

Jak vidíte, název našeho síťového rozhraní eth0.

Bez instalace balíčku síťové nástroje, můžete otestovat vaše rozhraní pomocí následujícího příkazu:

# ip a

Výsledek bude téměř stejný:

Správa sítě pomocí NetworkManageru v CentOS 8

V CentOS 8 se doporučuje používat pouze síťová nastavení Networkmanager. Tato služba pro správu síťového připojení monitoruje nastavení a aplikuje změny síťových adaptérů.

Chcete-li zkontrolovat stav NM, použijte příkaz:

# systemctl status NetworkManager.service

Společnost CentOS navrhuje ke konfiguraci sítě použít příkazovou konzoli nmcli nebo grafický nástroj nmtui.

Chcete-li vstoupit do režimu nastavení sítě, zadejte příkaz:

# nmtui

Když vyberete první položku, zobrazí se okno s výběrem síťového rozhraní pro úpravy:

Vyberte rozhraní, které potřebujeme, a upravte:

Můžeme upravit jméno, IP-adresu, bránu, DNS-servery. Také v interaktivní nabídce NM můžeme změnit způsob přiřazování IP adresy DHCP:

Nahradit „manuální"Do"automatické“:

Poté nastavení uložte. Pomocí nmtui v grafickém režimu můžete provádět všechna nastavení, která provedete ručně pomocí konfiguračních souborů. Pokud dáváte přednost konfiguraci příkazového řádku pomocí příkazového řádku, můžete použít nmcli. Například následující příkazy změní adresu IP, bránu a server DNS pro rozhraní eth1.

# nmcli con mod eth1 ipv4.adreses 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"

Chcete-li použít změny, znovu načtěte rozhraní:

# nmcli skončí eth1

Pokud je pro vás pohodlnější pracovat s konfiguračními soubory, nainstalujte si přes yum samostatný balíček síťové skripty (CentOS 8 ji ve výchozím nastavení nemá):

# yum install network-scripts -y

Upgraded: initscripts-10.00.1-1.el8_0.1.x86_64 Installed: network-scripts-10.00.1-1.el8_0.1.x86_64 network-scripts-team-1.27-10.el8.x86_64 Complete!

Po instalaci tohoto balíčku můžete upravit nastavení sítě, jak jsme popsali výše, prostřednictvím konfiguračních souborů: