Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak skonfigurować sieć w CentOS: Kompletny przewodnik krok po kroku

Konfigurowanie sieci w CentOS jest jednym z najważniejszych zadań dla każdego administratora systemów. Niezależnie od tego, czy konfigurujesz świeżo wdrożone środowisko VPS Hosting czy zarządzasz bare-metal Dedicated Server, prawidłowa konfiguracja interfejsów sieciowych jest krytycznym pierwszym krokiem w kierunku stabilnego, połączonego i gotowego do produkcji serwera.

Ten kompleksowy przewodnik przeprowadzi Cię przez wszystko, co musisz wiedzieć: identyfikację interfejsów sieciowych, przypisywanie statycznych adresów IP, konfigurowanie DHCP, ponowne uruchamianie usług sieciowych, weryfikację łączności i rozwiązywanie najczęstszych problemów sieciowych napotykanych w systemach CentOS.

1. Zrozumienie interfejsów sieciowych w CentOS

W CentOS (wersje 7 i 8) interfejsy sieciowe są zarządzane za pośrednictwem plików konfiguracyjnych przechowywanych w następującym katalogu:

/etc/sysconfig/network-scripts/

Każdy interfejs sieciowy ma dedykowany plik konfiguracyjny nazwany zgodnie z następującą konwencją:

ifcfg-<interface_name>

Gdzie <interface_name> jest identyfikatorem przypisanym do interfejsu przez system operacyjny. Typowe przykłady obejmują:

Nazwa interfejsuOpis
eth0Tradycyjna nazwa interfejsu Ethernet
ens33Przewidywalna nazwa interfejsu sieciowego (VMware/wirtualny)
ens3Powszechne w maszynach wirtualnych opartych na KVM
enp0s3Ethernet oparty na PCI (VirtualBox, metal bare)

> Uwaga: CentOS 7 i nowsze domyślnie używają „przewidywalnych nazw interfejsów sieciowych” (np. ens33, enp3s0) zamiast starszej konwencji nazewnictwa eth0. Poprawia to spójność między ponownym uruchomieniami i zmianami sprzętu.

Zrozumienie tej struktury jest niezbędne przed wprowadzeniem jakichkolwiek zmian w konfiguracji. Edycja niewłaściwego pliku lub użycie nieprawidłowych parametrów może spowodować utratę łączności sieciowej — szczególnie krytyczne zagadnienie podczas zarządzania serwerami zdalnymi.

2. Identyfikacja dostępnych interfejsów sieciowych

Przed modyfikacją jakiejkolwiek konfiguracji musisz najpierw zidentyfikować, które interfejsy sieciowe istnieją w systemie i jaki jest ich obecny stan.

Krok 1: Dostęp do terminala

Połącz się z serwerem za pośrednictwem SSH lub uzyskaj bezpośredni dostęp do terminala, jeśli masz dostęp fizyczny lub konsolowy:

ssh user@your-server-ip

Krok 2: Wyświetl wszystkie interfejsy sieciowe

Uruchom następujące polecenie, aby wyświetlić wszystkie dostępne interfejsy sieciowe wraz z ich adresami IP i stanami:

ip addr

Przykładowe wyjście:

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

Alternatywnie możesz użyć starszego polecenia ifconfig (wymaga pakietu net-tools):

ifconfig -a

Lub wyświetl tylko nazwy interfejsów za pomocą:

ip link show

Zanotuj nazwę interfejsu, który chcesz skonfigurować (np. ens33), przed przejściem do następnej sekcji.

3. Konfigurowanie statycznego adresu IP

Przypisanie statycznego adresu IP jest zalecanym podejściem dla serwerów, ponieważ gwarantuje, że adres IP nigdy nie zmieni się nieoczekiwanie — co jest krytyczne dla rekordów DNS, reguł zapory i stabilności dostępu zdalnego.

Krok 1: Otwórz plik konfiguracji interfejsu sieciowego

Użyj edytora tekstu, takiego jak nano lub vi, aby otworzyć plik konfiguracji dla Twojego interfejsu. Zastąp ens33 rzeczywistą nazwą Twojego interfejsu:

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

Krok 2: Dodaj lub zmodyfikuj parametry konfiguracji

Plik może już zawierać niektóre parametry. Zaktualizuj lub dodaj następujące linie, aby skonfigurować statyczny adres 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

Rozbór parametrów:

ParametrOpis
DEVICENazwa interfejsu sieciowego
TYPETyp interfejsu (zazwyczaj Ethernet)
BOOTPROTOUstaw na none dla statycznego przypisania IP
ONBOOTUstaw na yes, aby aktywować interfejs podczas uruchamiania
IPADDRTwój żądany statyczny adres IP
NETMASKMaska podsieci dla Twojej sieci
GATEWAYBrama domyślna (adres IP Twojego routera)
DNS1Podstawowy serwer DNS (Google: 8.8.8.8)
DNS2Dodatkowy serwer DNS (Google: 8.8.4.4) — opcjonalnie

> Ważne: Zastąp przykładowe wartości (192.168.1.100, 192.168.1.1, itp.) rzeczywistymi wartościami dostarczonymi przez Twojego dostawcę sieci lub hostingu.

Możesz również użyć notacji CIDR z parametrem PREFIX zamiast NETMASK:

PREFIX=24

Jest to równoważne NETMASK=255.255.255.0.

Krok 3: Zapisz i wyjdź

Jeśli używasz nano, zapisz plik naciskając:

CTRL + X → Y → Enter

Jeśli używasz vi lub vim:

:wq → Enter

4. Konfigurowanie DHCP (Dynamiczne przydzielanie adresów IP)

Jeśli Twoje środowisko używa serwera DHCP do automatycznego przydzielania adresów IP (powszechne w środowiskach programistycznych, platformach chmurowych lub sieciach wewnętrznych), skonfiguruj interfejs w następujący sposób:

Krok 1: Otwórz plik konfiguracyjny

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

Krok 2: Ustaw parametry DHCP

Zastąp istniejącą zawartość następującą minimalną konfiguracją DHCP:

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

Krok 3: Zapisz i wyjdź

Zapisz plik, używając tej samej metody opisanej w poprzedniej sekcji.

> Kiedy używać DHCP vs. statycznego IP: Używaj DHCP dla stacji roboczych, maszyn wirtualnych programistycznych lub środowisk tymczasowych. Używaj statycznych IP dla serwerów produkcyjnych, serwerów WWW, serwerów baz danych i każdego systemu wymagającego spójnego, przewidywalnego adresu. Jeśli hostujesz witryny lub aplikacje na planie Shared Web Hosting lub VPS, zdecydowanie zalecany jest statyczny IP.

5. Ponowne uruchomienie usługi sieciowej

Po zapisaniu zmian konfiguracji należy ponownie uruchomić usługę sieciową, aby je zastosować. Istnieje kilka metod w zależności od wersji CentOS.

Metoda 1: Ponowne uruchomienie całej usługi sieciowej (CentOS 7)

sudo systemctl restart network

Metoda 2: Wyłączenie i ponowne włączenie interfejsu

Ta metoda uruchamia ponownie tylko określony interfejs, minimalizując zakłócenia dla innych interfejsów:

sudo ifdown ens33 && sudo ifup ens33

Metoda 3: Korzystanie z NetworkManager (CentOS 7/8)

Jeśli NetworkManager jest aktywny w systemie, użyj nmcli:

sudo nmcli connection reload
sudo nmcli connection up ens33

Metoda 4: Ponowne uruchomienie usługi NetworkManager

sudo systemctl restart NetworkManager

> Ostrzeżenie: Jeśli jesteś połączony przez SSH, ponowne uruchomienie usługi sieciowej tymczasowo przerywa połączenie. Upewnij się, że masz alternatywny sposób dostępu do serwera (taki jak konsola lub KVM) na wypadek, gdyby nowa konfiguracja zawierała błąd.

6. Weryfikacja konfiguracji sieci

Po ponownym uruchomieniu usługi sieciowej sprawdź, czy konfiguracja została zastosowana prawidłowo.

Sprawdzenie przypisanego adresu IP

ip addr show ens33

Dane wyjściowe powinny wyświetlać adres IP skonfigurowany w wierszu inet:

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

Weryfikacja bramy domyślnej

ip route show

Powinieneś zobaczyć wiersz podobny do:

default via 192.168.1.1 dev ens33

Sprawdzenie rozwiązywania DNS

cat /etc/resolv.conf

Potwierdź, że serwery DNS są wymienione:

nameserver 8.8.8.8
nameserver 8.8.4.4

Test łączności internetowej

Wyślij ping do hosta zewnętrznego, aby potwierdzić łączność end-to-end:

ping -c 4 google.com

Oczekiwane dane wyjściowe:

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

Jeśli wszystkie cztery pakiety zostaną odebrane ze stratą pakietów 0%, konfiguracja sieci działa prawidłowo.

Test rozwiązywania DNS oddzielnie

nslookup google.com

lub

dig google.com

7. Rozwiązywanie typowych problemów sieciowych

Nawet doświadczeni administratorzy napotykają problemy sieciowe. Oto najczęstsze problemy i sposoby ich rozwiązania na CentOS.

Problem 1: Interfejs sieciowy nie uruchamia się przy starcie

Objaw: Serwer traci łączność sieciową po ponownym uruchomieniu.

Przyczyna: Parametr ONBOOT jest ustawiony na no lub brakuje go w pliku konfiguracyjnym.

Rozwiązanie: Otwórz plik konfiguracyjny interfejsu i upewnij się, że następujący wiersz jest obecny i prawidłowo ustawiony:

ONBOOT=yes

Następnie uruchom ponownie usługę sieciową:

sudo systemctl restart network

Problem 2: Brak łączności internetowej po konfiguracji

Objaw: Interfejs ma adres IP, ale nie możesz osiągnąć hostów zewnętrznych.

Możliwe przyczyny i rozwiązania:

  • Nieprawidłowa brama: Sprawdź, czy GATEWAY odpowiada adresowi IP twojego routera lub bramy sieciowej.
  • Błędna konfiguracja DNS: Upewnij się, że DNS1 i DNS2 są ustawione na prawidłowe serwery DNS.
  • Problem z routingiem: Sprawdź tabelę routingu za pomocą ip route show i potwierdź, że trasa domyślna jest obecna.
  • Łączność fizyczna: Jeśli używasz serwera fizycznego, sprawdź, czy kabel sieciowy jest prawidłowo podłączony.

Problem 3: Konflikt adresu IP

Objaw: Łączność sieciowa jest przerywaną lub inne urządzenie w sieci zgłasza konflikt adresu IP.

Rozwiązanie: Wybierz statyczny adres IP, który znajduje się poza zakresem puli DHCP twojego routera, lub skoordynuj się z administratorem sieci, aby zarezerwować adres IP.

Problem 4: Zapora blokuje ruch

Objaw: Serwer ma łączność, ale określone usługi (HTTP, HTTPS, SSH itp.) nie są dostępne z hostów zewnętrznych.

Sprawdź bieżące reguły zapory:

sudo firewall-cmd --list-all

Zezwól na określoną usługę na stałe:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload

Zezwól na określony port:

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Sprawdź, czy firewalld jest uruchomiony:

sudo systemctl status firewalld

Problem 5: Konflikty NetworkManager ze statyczną konfiguracją

Objaw: Ustawienia statycznego adresu IP są ignorowane lub zastępowane po ponownym uruchomieniu.

Rozwiązanie: Jeśli zarządzasz interfejsami ręcznie za pośrednictwem plików konfiguracyjnych i nie używasz NetworkManager, możesz wyłączyć NetworkManager lub skonfigurować go, aby ignorował określony interfejs, dodając następujący wiersz do pliku ifcfg:

NM_CONTROLLED=no

Alternatywnie zarządzaj interfejsem za pośrednictwem narzędzia nmcli NetworkManager, aby uzyskać bardziej zintegrowane podejście.

Problem 6: systemctl restart network nie działa na CentOS 8

Objaw: Usługa network nie istnieje lub nie uruchamia się ponownie na CentOS 8.

Wyjaśnienie: CentOS 8 wycofał starszą usługę network na rzecz NetworkManager. Zamiast tego użyj:

sudo systemctl restart NetworkManager

Lub zarządzaj połączeniami za pomocą nmcli:

nmcli connection show
nmcli connection up <connection-name>

Podsumowanie

Konfiguracja sieci w CentOS to umiejętność fundamentalna, którą musi opanować każdy administrator systemów Linux. Niezależnie od tego, czy przydzielasz statyczny IP dla produkcyjnego serwera WWW, konfigurujesz DHCP dla środowiska programistycznego, czy rozwiązujesz problemy z łącznością na maszynie zdalnej, kroki opisane w tym przewodniku stanowią solidne, niezawodne ramy.

Podsumowanie kluczowych kroków:

  1. Zidentyfikuj interfejsy sieciowe za pomocą ip addr
  2. Edytuj odpowiedni plik konfiguracyjny ifcfg-<interface>
  3. Ustaw BOOTPROTO=none dla statycznych adresów IP lub BOOTPROTO=dhcp dla adresowania dynamicznego
  4. Uruchom ponownie usługę sieciową za pomocą systemctl lub nmcli
  5. Zweryfikuj łączność za pomocą ip addr, ip route i ping
  6. Rozwiąż problemy za pomocą poleceń zapory, sprawdzania tras i weryfikacji DNS

Prawidłowa konfiguracja sieci jest szczególnie ważna przy zarządzaniu infrastrukturą chmurową. Jeśli szukasz niezawodnego środowiska hostingowego z pełnym dostępem root i elastycznymi opcjami sieciowymi, zapoznaj się z planami VPS Hosting AlexHost — idealnymi dla wdrożeń CentOS wymagających stabilnej, wysokowydajnej łączności. W przypadku obciążeń krytycznych wymagających dedykowanych zasobów rozważ Serwery Dedykowane AlexHost. A jeśli Twój serwer hostuje aplikacje internetowe, nie zapomnij zabezpieczyć swoją domenę zaufanym Certyfikatem SSL, aby zaszyfrować ruch i chronić użytkowników.

Regularnie przeglądaj konfiguracje sieci, monitoruj stan interfejsów i aktualizuj reguły zapory, aby utrzymać optymalną wydajność i bezpieczeństwo serwera.