15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
01.11.2024
1 +1

Как да конфигурирате мрежата в CentOS: Пълно ръководство стъпка по стъпка

Конфигурирането на мрежата в CentOS е една от най-фундаменталните задачи за всеки системен администратор. Независимо дали настройвате свежо развернато VPS Hosting окръжение или управлявате bare-metal Dedicated Server, правилната конфигурация на мрежовите интерфейси е критичната първа стъпка към стабилен, свързан и готов за производство сървър.

Това всеобхватно ръководство ви преведе през всичко, което трябва да знаете: идентифициране на мрежови интерфейси, присвояване на статични IP адреси, конфигуриране на DHCP, рестартиране на мрежови услуги, проверка на свързаността и разрешаване на най-честите мрежови проблеми, срещани в CentOS системи.

Съдържание

  1. Разбиране на мрежовите интерфейси в CentOS
  2. Идентифициране на налични мрежови интерфейси
  3. Конфигуриране на статичен IP адрес
  4. Конфигуриране на DHCP (динамично присвояване на IP адреси)
  5. Рестартиране на мрежовата услуга
  6. Проверка на вашата мрежова конфигурация
  7. Отстраняване на неизправности при често срещани мрежови проблеми
  8. Заключение

1. Разбиране на мрежовите интерфейси в CentOS {#understanding-network-interfaces}

В CentOS (версии 7 и 8) мрежовите интерфейси се управляват чрез конфигурационни файлове, съхранявани в следната директория:

/etc/sysconfig/network-scripts/

Всеки мрежов интерфейс има отделен конфигурационен файл, наименуван според следното съглашение:

ifcfg-<interface_name>

Където <interface_name> е идентификаторът, присвоен на интерфейса от операционната система. Често срещани примери включват:

Име на интерфейсаОписание
eth0Традиционно наименуване на Ethernet интерфейс
ens33Предсказуемо наименуване на мрежов интерфейс (VMware/виртуален)
ens3Често срещано в KVM-базирани виртуални машини
enp0s3PCI-базиран Ethernet (VirtualBox, bare metal)

> Забележка: CentOS 7 и по-нови версии използват “предсказуемо наименуване на мрежови интерфейси” по подразбиране (например ens33, enp3s0) вместо наследеното eth0 наименуване. Това подобрява последователността при рестартирания и промени на хардуера.

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

2. Идентифициране на налични мрежови интерфейси {#identifying-network-interfaces}

Преди да модифицирате каквато и да е конфигурация, първо трябва да идентифицирате кои мрежови интерфейси съществуват на вашата система и какво е тяхното текущо състояние.

Стъпка 1: Достъп до терминала

Свържете се към вашия сървър чрез SSH или достъпете терминала директно, ако имате физически или конзолен достъп:

ssh user@your-server-ip

Стъпка 2: Изброй всички мрежови интерфейси

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

ip addr

Пример на изход:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
    link/ether 00:0c:29:ab:cd:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic ens33

Алтернативно можете да използвате по-старата ifconfig команда (изисква пакета net-tools):

ifconfig -a

Или изброй само имена на интерфейси с:

ip link show

Направете бележка на име на интерфейса, който искате да конфигурирате (например ens33) преди да преминете към следващия раздел.

3. Конфигуриране на статичен IP адрес {#configuring-static-ip}

Присвояването на статичен IP адрес е препоръчаният подход за сървъри, тъй като гарантира, че IP адресът никога не се променя неочаквано — което е критично за DNS записи, правила на защитната стена и стабилност на отдалечения достъп.

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

Използвайте текстов редактор като nano или vi за отваряне на конфигурационния файл на вашия интерфейс. Заменете ens33 с вашето действително име на интерфейс:

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Стъпка 2: Добавете или модифицирайте параметрите на конфигурацията

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

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

Разбор на параметрите:

ПараметърОписание
DEVICEИме на мрежовия интерфейс
TYPEТип интерфейс (обикновено Ethernet)
BOOTPROTOЗадайте на none за присвояване на статичен IP
ONBOOTЗадайте на yes за активиране на интерфейса при стартиране
IPADDRВашия желан статичен IP адрес
NETMASKМаска на подмрежата за вашата мрежа
GATEWAYШлюз по подразбиране (IP адрес на вашия маршрутизатор)
DNS1Първичен DNS сървър (Google: 8.8.8.8)
DNS2Вторичен DNS сървър (Google: 8.8.4.4) — опционално

> Важно: Заменете примерните стойности (192.168.1.100, 192.168.1.1, и т.н.) с действителните стойности, предоставени от вашата мрежа или хостинг доставчик.

Можете също да използвате CIDR нотация с параметъра PREFIX вместо NETMASK:

PREFIX=24

Това е еквивалентно на NETMASK=255.255.255.0.

Стъпка 3: Запазване и изход

Ако използвате nano, запазете файла, като натиснете:

CTRL + X → Y → Enter

Ако използвате vi или vim:

:wq → Enter

4. Конфигуриране на DHCP (динамично присвояване на IP адреси) {#configuring-dhcp}

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

Стъпка 1: Отворете конфигурационния файл

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Стъпка 2: Задайте параметрите на DHCP

Заменете съществуващото съдържание със следната минимална DHCP конфигурация:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes

Стъпка 3: Запазване и изход

Запазете файла, използвайки същия метод, описан в предишния раздел.

> Кога да използвате DHCP срещу статичен IP: Използвайте DHCP за работни станции, развойни VM-та или временни среди. Използвайте статични IP-та за производствени сървъри, уеб сървъри, сървъри на бази данни и всяка система, която изисква последователен, предсказуем адрес. Ако хостирате уебсайтове или приложения на Shared Web Hosting план или VPS, статичен IP е силно препоръчан.

5. Рестартиране на мрежовата услуга {#restarting-network-service}

След запазване на промените в конфигурацията трябва да рестартирате мрежовата услуга, за да ги приложите. Има няколко метода в зависимост от вашата версия на CentOS.

Метод 1: Рестартирайте цялата мрежова услуга (CentOS 7)

sudo systemctl restart network

Метод 2: Изключете и включете интерфейса отново

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

sudo ifdown ens33 && sudo ifup ens33

Метод 3: Използване на NetworkManager (CentOS 7/8)

Ако NetworkManager е активен на вашата система, използвайте nmcli:

sudo nmcli connection reload
sudo nmcli connection up ens33

Метод 4: Рестартирайте услугата NetworkManager

sudo systemctl restart NetworkManager

> Предупреждение: Ако сте свързани чрез SSH, рестартирането на мрежовата услуга временно ще прекъсне вашата връзка. Уверете се, че имате алтернативен начин за достъп до сървъра (като конзола или KVM) в случай, че новата конфигурация съдържа грешка.

6. Проверка на вашата мрежова конфигурация {#verifying-network-configuration}

След като мрежовата услуга е рестартирана, проверете, че вашата конфигурация е приложена правилно.

Проверете присвоения IP адрес

ip addr show ens33

Изходът трябва да покаже IP адреса, който сте конфигурирали под редът inet:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33

Проверете шлюза по подразбиране

ip route show

Трябва да видите ред, подобен на:

default via 192.168.1.1 dev ens33

Проверете DNS разрешаването

cat /etc/resolv.conf

Потвърдете, че вашите DNS сървъри са изброени:

nameserver 8.8.8.8
nameserver 8.8.4.4

Тестирайте интернет свързаност

Ping към външен хост, за да потвърдите end-to-end свързаност:

ping -c 4 google.com

Очакван изход:

PING google.com (142.250.185.46) 56(84) bytes of data.
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=1 ttl=117 time=12.4 ms
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=2 ttl=117 time=11.9 ms
...
4 packets transmitted, 4 received, 0% packet loss

Ако всичките четири пакета са получени с 0% загуба на пакети, вашата мрежова конфигурация работи правилно.

Тестирайте DNS разрешаването отделно

nslookup google.com

или

dig google.com

7. Отстраняване на неизправности при често срещани мрежови проблеми {#troubleshooting}

Дори опитни администратори срещат мрежови проблеми. Ето най-честите проблеми и как да ги разрешите на CentOS.

Проблем 1: Мрежовият интерфейс не стартира при стартиране

Симптом: Сървърът губи мрежова свързаност след рестартиране.

Причина: Параметърът ONBOOT е задан на no или липсва от конфигурационния файл.

Решение: Отворете конфигурационния файл на интерфейса и уверете се, че следният ред присъства и е задан правилно:

ONBOOT=yes

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

sudo systemctl restart network

Проблем 2: Няма интернет свързаност след конфигурация

Симптом: Интерфейсът има IP адрес, но не можете да достигнете външни хостове.

Възможни причини и решения:

  • Неправилен шлюз: Проверете, че GATEWAY съответства на вашия маршрутизатор или IP адрес на мрежовия шлюз.
  • Неправилна конфигурация на DNS: Уверете се, че DNS1 и DNS2 са задани на валидни DNS сървъри.
  • Проблем с маршрутизирането: Проверете таблицата на маршрутизирането с ip route show и потвърдете, че
15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало