Конфигуриране на мрежови интерфейси в CentOS 8/7

В тази статия ще разгледаме начините за конфигуриране на мрежа в Linux системи. CentOS 7/8, покажете как да конфигурирате мрежови интерфейси чрез конфигурационни файлове, основни помощни програми за конфигуриране на мрежата и много други. Това е подходяща тема, тъй като първоначалната конфигурация на всеки сървър започва с настройката на мрежата върху него.

В статията ще покажем функциите на мрежовата конфигурация в CentOS 7, използвайки стандартната мрежова услуга. Нека да видим как да използваме за конфигуриране на мрежата NetworkManager (NM), който се предлага по подразбиране в CentOS 8.

Съдържание:

  • Име на мрежов интерфейс в CentOS
  • Първоначална настройка на мрежата при инсталиране на CentOS
  • Ръчно конфигуриране на конфигурационния файл на мрежовия интерфейс в CentOS
  • Как да деактивирате IPv6 в CentOS?
  • Как да зададете DNS сървъра за мрежовия интерфейс в CentOS?
  • Как да конфигурирате множество IP адреси в един мрежов интерфейс на CentOS?
  • Конфигуриране на VLAN (802.1Q) на CentOS
  • Конфигуриране на множество мрежови интерфейси в CentOS
  • Полезни мрежови команди CentOS
  • Помощни програми за мрежова администрация в CentOS
  • Управление на мрежата с NetworkManager в CentOS 8

Име на мрежов интерфейс в CentOS

Класическа схема на именуване на схеми за мрежов интерфейс на Linux eth0, eth1 и така по ред. Но тези имена не са обвързани плътно с интерфейсите и след рестартиране, ако има няколко мрежови интерфейса, тези имена могат да се променят. Това може да причини някои проблеми при конфигурирането на например защитна стена чрез firewalld или iptables. В тази връзка, започвайки с RedHat 7 и CentOS 7, беше решено да се присвоят имена на мрежови интерфейси въз основа на йерархия на различни схеми за именуване. По подразбиране systemd ще прилага схеми за именуване една по една, като се фокусира върху първата налична и приложима. Имената се задават в автоматичен режим, остават непроменени, дори ако хардуерът е добавен или променен. От друга страна, например такива имена на интерфейс са по-малко четими, enp5s0 или ens3, отколкото традиционните eth0 и eth1.

Можете да се върнете към името по подразбиране на Linux интерфейса, като използвате следните стъпки.

Редактиране на файл / etc / default / grub:

# nano / etc / default / grub

На линия GRUB_CMDLINE_LINUX трябва да добавите:

net.ifnames = 0 biosdevname = 0

Пример за пълен ред:

GRUB_CMDLINE_LINUX = "consoleblank = 0 fsck.repair = да crashkernel = auto nompath selinux = 0 rhgb тих net.ifnames = 0 biosdevname = 0"

Актуализиране на конфигурацията кльопам:

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

Преименувайте конфигурационния файл на мрежовия интерфейс:

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

И заменете стойността УСТРОЙСТВО:

Запазете файла, рестартирайте сървъра и проверете дали всичко е наред:

# ip a

Интерфейсът вече се извиква eth0.

Първоначална настройка на мрежата при инсталиране на CentOS

Първоначално, когато инсталирате CentOS Linux, можете да конфигурирате мрежовия интерфейс в графичен режим в елемента от менюто „Мрежа и име на хост“. В този параграф определяте името на сървъра, добавяте желаното IP адрес и шлюз, DNS и много повече. По-подробни настройки на тази стъпка, можете да видите в статията на връзката по-горе.

Ръчно конфигуриране на конфигурационния файл на мрежовия интерфейс в CentOS

Ние изброяваме наличните мрежови интерфейси в системата:

# ip a

Мрежовите конфигурационни файлове на вашия сървър се съхраняват в директория / etc / sysconfig / network-script. Тези файлове са създадени от демона на NetworkManager за всеки мрежов интерфейс. В нашия случай се извиква конфигурационният файл ifcfg-eth0 (може да се различава в зависимост от схемата за именуване на мрежовия интерфейс).

Помислете за основните параметри:

  • УСТРОЙСТВО - името на мрежовия адаптер, същото като името в системата, имаме eht0
  • BOOTPROTO - метод за задаване на IP адрес (статична - статична стойност, посочете ръчно. Dhcp - получите адреса автоматично)
  • IPADDR - IP адрес
  • NETMASK - маска на подмрежата
  • GATEWAY - шлюз по подразбиране
  • DNS1 - Основен DNS сървър
  • DNS2 - Алтернативен DNS сървър
  • ONBOOT - начин за стартиране на мрежовия интерфейс (да - автоматично, не - ръчно)
  • UUID е уникален идентификатор за мрежов интерфейс. Можете да го генерирате сами с командата uuidgen.
  • IPV4_FAILURE_FATAL - деактивирайте мрежовия интерфейс с IP адреса v4, ако има грешна конфигурация (да - деактивирайте, не - не деактивирайте)
  • IPV6_FAILURE_FATAL - деактивирайте мрежовия интерфейс с IP адреса v6, ако има грешна конфигурация (да - деактивирайте, не - не деактивирайте)
  • IPV6_AUTOCONF - Разрешава или деактивира автоматично конфигуриране на IPv6 с помощта на протокола
  • IPV6_INIT - разрешаване на използването на IPv6 адресиране (да - може да се използва адресиране, не - не се използва)
  • PEERROUTES - задава приоритета на конфигурацията на шлюза по подразбиране при използване на DHCP
  • IPV6_PEERROUTES - задава приоритета на конфигурацията на шлюза по подразбиране при използване на DHCP за IPv6

Въз основа на тази информация конфигурирайте мрежовия интерфейс.

Конфигурирайте статичен IP адрес в CentOS

Отворете файла за редактиране:

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

В този пример посочих статичен IP адрес, маска на подмрежата, шлюз и няколко DNS сървъра. Включете интерфейса за автоматично стартиране:

ONBOOT = "да"

След всички модификации трябва да рестартирате услугата мрежа. Ако всичко е наред, ще получите списък като този:

[root @ server network-script] # рестартиране на # сервизна мрежа

Рестартиране на мрежата (чрез systemctl): [OK]

Можете също така просто да рестартирате всички профили за връзка:

# nmcli презареждане на връзката

Получаване на динамичен IP адрес за интерфейс чрез DHCP

Ако вашият сървър трябва да получи IP адрес от DHCP North, отворете конфигурационния файл на интерфейса и променете настройките:

Тоест премахнахме всички настройки, свързани с IP адресите и маската, а също променихме начина, по който е присвоен IP адресът DHCP (BOOTPROTO = "dhcp"). След всички промени, не забравяйте да рестартирате мрежата.

Как да деактивирате IPv6 в CentOS?

В момента на писане на статията за активна употреба IPv6 в Русия, не, и често ако има такава възможност, администраторите предпочитат протокола IPv4. Следователно, ако все още не използвате този протокол, трябва да го деактивирате на сървъра. Ако сте сигурни, че никоя от услугите не е конфигурирана да работи с ipv6, можете незабавно да продължите да конфигурирате мрежовия интерфейс, ако не, след това започнете с проверка. Трябва да проверим кои услуги използват ipv6 и да деактивираме този протокол в конфигурацията на услугата. Изпълнете командата:

# netstat -tulnp

Имам тестов сървър, така че IPv6 Използва се само за sshd и cronyd. Това може да се определи чрез „:::”.

За да избегнете проблеми след деактивиране на ipv6 в мрежовата конфигурация, деактивирайте този протокол в услугите, в които те се използват на вашия сървър. Например, за sshd, трябва да отворите конфигурационния файл:

# mcedit / etc / ssh / sshd_config

И коментирайте линиите:

#AddressСемейство всяко #ListenAddress 0.0.0.0

След това рестартирайте услугата:

Както можете да видите, за sshd протокол IPv6 сега не е налице. Направете същите настройки с всички услуги..

Да се ​​обърнем към деактивирането на ipv6 протокола в мрежовите настройки. Отваряне на файл /etc/sysctl.conf:

# nano /etc/sysctl.conf И добавете следните редове там:

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

Запазете файла и го приложите чрез:

[root @ server ~] # sysctl -p

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

Нека да преминем към файла / etc / sysconfig / мрежа. Добавете следната конфигурация към нея:

NETWORKING_IPV6 = няма IPV6INIT = не

От конфигурационния файл на мрежовия интерфейс / и т.н. / sysconfig / мрежови скриптове / ifcfg-eth0 изтрийте реда:

IPV6INIT = "да"

Накрая добавете забрана за работа IPv6 в изкоп:

# nano / etc / default / grub

В края на реда GRUB_CMDLINE_LINUX добавете:

ipv6.disable = 1

След всички настройки запазете файла и актуализирайте grub:

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

Рестартирайте сървъра и проверете мрежовата конфигурация:

[root @ server ~] # ifconfig

eth0: flags = 4163 mtu 1500 inet 185. *. *. * мрежова маска 255.255.255.0 излъчване 185. *. *. 255 етер 52: 54: 00: d3: 1c: 3e txqueuelen 1000 (Ethernet) RX пакети 10068 байта 613092 ( 598.7 KiB) RX грешки 0 паднали 0 надхвърляния 0 кадър 0 TX пакети 32 байта 5399 (5.2 KiB) TX грешки 0 паднали 0 надхвърляния 0 превозвач 0 сблъсъци 0 lo: flags = 73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX пакети 0 байта 0 (0.0 B) RX грешки 0 паднали 0 надхвърляния 0 кадър 0 TX пакети 0 байта 0 (0.0 B) TX грешки 0 паднали 0 надхвърляния 0 носител 0 сблъсък 0

протокол IPv6 деактивиран на сървъра.

Как да зададете DNS сървъра за мрежовия интерфейс в CentOS?

Можете да конфигурирате DNS сървъра за вашия сървър, като използвате файла /etc/resolv.conf или ги посочете в настройките на мрежовия интерфейс. Когато конфигурирате статичната конфигурация за мрежовия интерфейс, ние вече посочихме DNS сървъра чрез параметрите:

DNS1 = DNS2 = DNS3 =

Инсталирайте необходимите DNS сървъри и рестартирайте мрежовата услуга.

За да подадете /etc/resolv.conf, DNS сървърите се регистрират автоматично, когато сървърът се рестартира, като ги взема от файла на мрежовата конфигурация. Ако не сте посочили DNS сървър при настройката на мрежата, ръчно ги регистрирайте във файл /etc/resolv.conf:

nameserver 77.88.8.8 nameserver 8.8.8.8 nameserver 8.8.4.4

Как да конфигурирате множество IP адреси в един мрежов интерфейс на CentOS?

Ако трябва да използвате няколко IP адреса в един и същ мрежов интерфейс, можете да го конфигурирате чрез псевдоним на интерфейса или чрез добавяне на допълнителен IP адрес към основния конфигурационен файл.

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

И го променете така:

# Генерирано от parse-kickstart UUID = "b8bccd4c-fb1b-4d36-9d45-044c7c0194eb" IPADDR1 = "*. *. *. *" IPADDR2 = "*. *. *. *" GATEWAY = "*. *. *. * "NETMASK =" 255.255.255.0 "BOOTPROTO =" статичен "УСТРОЙСТВО =" eth0 "ONBOOT =" да "DNS1 = 77.88.8.8 DNS2 = 8.8.8.8 DNS3 = 8.8.4.4 

когато:

IPADDR1 - първи IP адрес

IPADDR2 - Втори IP адрес

GATEWAY - основният портал

Или създайте псевдоним към основния ви конфигурационен файл:

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

И добавете няколко реда, без основния шлюз:

След всички настройки трябва да рестартирате мрежата:

[root @ server network-script] # рестартиране на # сервизна мрежа

Рестартиране на мрежата (чрез systemctl): [OK]
В Windows можете също да конфигурирате множество IP адреси (псевдоними) в един интерфейс.

Конфигуриране на VLAN (802.1Q) на CentOS

За повече информация относно конфигурирането на няколко VLAN за един мрежов интерфейс в CentOS, вижте: Конфигуриране на VLAN в мрежов интерфейс в CentOS.

Конфигуриране на множество мрежови интерфейси в CentOS

Ако имате няколко мрежови интерфейса на сървъра, можете да посочите различни IP адреси за тях. Нека да разберем как да го направим. Ако имате повече от един мрежов интерфейс на сървъра,ip a“Трябва да се показва тази информация:

[root @ server ~] # ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 обхват хост lo valid_lft завинаги предпочитан_lft завинаги 2: eth0: mtu 1500 qdisc pfifo_fast състояние UP група по подразбиране qlen 1000 връзка / етер 52: 54: 00: d3: 1c: 3e brd ff: ff: ff: ff: ff: ff: ff inet 185. *. *. * / 16 brd 185. *. *. 255 обхват глобален eth0 valid_lft завинаги предпочитан_lft завинаги 3: eth1: mtu 1500 qdisc noop state DOWN група по подразбиране qlen 1000 link / ether 52: 54: 00: 5f: f3: b8 brd ff: ff : ff: ff: ff: f

За да конфигурирате втория интерфейс, трябва да създадете файл за него:

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

И добавете следната конфигурация:

IPADDR = "*. *. *. *" GATEWAY = "*. *. *. *" NETMASK = "255.255.255.0" BOOTPROTO = "статично" УСТРОЙСТВО = "eth1" ONBOOT = "да"

След това трябва да инсталирате шлюз по подразбиране на сървъра. Ще проверим кой шлюз е инсталиран в момента и ако е необходимо, ще го променим:

[root @ server ~] # netstat -nr

Таблица за маршрутизиране на IP ядро ​​Destination Gateway Genmask Flags 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

Като основен шлюз имаме интерфейса eth1. Искам да използвам eth0, за това го променяме:

# route добавете по подразбиране gw *. *. *. * - заменете шлюза с посочения в мрежовия интерфейс eth0

# route изтрий по подразбиране gw *. *. *. * - изтрийте шлюза на интерфейса eth1

Ако искате тази настройка да остане след рестартиране на сървъра, добавете тези команди към rc.local (вижте статията за стартиращите услуги в CentOS).

Полезни мрежови команди CentOS

  • ifdown eth1 - деактивирайте зададения мрежов интерфейс.
  • ifup eth1 - повишаване на посочения мрежов интерфейс.
  • фоп - проверете информация за всички интерфейси.
  • ifconfig -a | греп етер | gawk 'print $ 2' - команда за извеждане на MAC адреси на интерфейси
  • ip a | греп етер | gawk 'print $ 2' - същото, само чрез ip програма
  • рестартиране на сервизната мрежа или systemctl рестартира мрежа - рестартирайте мрежовата услуга, като използвате systemctl
  • рестартирайте systemctl NetworkManager.service - рестартирайте NM
  • ip маршрут или ip route show - вижте таблицата за маршрутизиране
  • ping домакин - ping на указания хост
  • Whois домейн - Вземете информация за домейн
  • копайте домейн - получете информация за DNS домейна

Помощни програми за мрежова администрация в CentOS

Ако сървърът работи от известно време или изобщо не сте го настройвали, първата стъпка е да разберете кои интерфейси присъстват на сървъра. За удобство инсталирайте необходимите инструменти от базовото хранилище:

# yum инсталирайте net-tools -y

След инсталирането можете да използвате помощната програма фоп:

[root @ server ~] # ifconfig

eth0: flags = 4163 mtu 1500 inet 185. *. *. * netmask 255.255.255.0 излъчване 185. *. *. 255 inet6 fe80 :: 5054: ff: fed3: 1c3e префикслен 64 obseg 0x20 етер 52: 54: 00: d3 : 1c: 3e txqueuelen 1000 (Ethernet) RX пакети 2189424 байта 144208326 (137,5 MiB) RX грешки 0 паднали 0 надхвърляния 0 кадър 0 TX пакети 2350 байта 260486 (254,3 KiB) TX грешки 0 паднали 0 надхвърляния 0 носител 0 сблъсквания 0

Както можете да видите, името на нашия мрежов интерфейс eth0.

Без да инсталирате пакета нетни инструменти, можете да тествате интерфейсите си със следната команда:

# ip a

Резултатът ще бъде почти същият:

Управление на мрежата с NetworkManager в CentOS 8

В CentOS 8 се препоръчва да се използват само мрежови настройки NetworkManager. Тази услуга за управление на мрежови връзки следи настройките и прилага промени към мрежовите адаптери.

За да проверите състоянието NM, използвайте командата:

# systemctl статус NetworkManager.service

CentOS предлага да използвате командна конзола за конфигуриране на мрежата nmcli или графична полезност nmtui.

За да влезете в режим на мрежовите настройки, въведете командата:

# nmtui

Когато изберете първия елемент, ще видите прозорец с избор на мрежов интерфейс за редактиране:

Изберете интерфейса, който ни трябва и редактирайте:

Можем да редактираме името, IP адреса, Gateway, DNS-сървърите. Също така в интерактивното меню NM можем да променим метода за присвояване на IP адрес на DHCP:

Замяна „наръчник"On"автоматичен"

След това запазете настройките. Използвайки nmtui в графичен режим, можете да извършите всякакви настройки, които извършвате ръчно чрез конфигурационни файлове. Ако предпочитате да използвате командния ред за конфигуриране на интерфейсите, можете да използвате nmcli. Например, следните команди ще променят IP адреса, шлюза и DNS сървъра за интерфейса eth1.

# 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"

За да приложите промените, презаредете интерфейса:

# nmcli con up eth1

Ако ви е по-удобно да работите с конфигурационни файлове, инсталирайте отделен пакет през yum мрежовите скриптове (CentOS 8 го няма по подразбиране):

# yum инсталирате мрежови скриптове -y

Надстроен: initscripts-10.00.1-1.el8_0.1.x86_64 Инсталиран: network-script-10.00.1-1.el8_0.1.x86_64 network-script-team-1.27-10.el8.x86_64 Complete!

След като инсталирате този пакет, можете да редактирате мрежовите настройки, както описахме по-рано, чрез конфигурационните файлове: