Jak skonfigurować sieć w CentOS: Kompletny przewodnik krok po kroku
Konfigurowanie sieci w CentOS jest jednym z najbardziej fundamentalnych zadań dla każdego administratora systemu. Niezależnie od tego, czy konfigurujesz świeżo wdrożone środowisko VPS Hosting czy zarządzasz Serwerem Dedykowanym, 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ć: identyfikowanie interfejsów sieciowych, przypisywanie statycznych adresów IP, konfigurowanie DHCP, ponowne uruchamianie usług sieciowych, weryfikowanie łączności i rozwiązywanie najczęstszych problemów sieciowych napotykanych w systemach CentOS.
Spis treści
- Zrozumienie interfejsów sieciowych w CentOS
- Identyfikowanie dostępnych interfejsów sieciowych
- Konfigurowanie statycznego adresu IP
- Konfigurowanie DHCP (dynamiczne przypisywanie adresów IP)
- Ponowne uruchamianie usługi sieciowej
- Weryfikowanie konfiguracji sieci
- Rozwiązywanie typowych problemów sieciowych
- Podsumowanie
1. Zrozumienie interfejsów sieciowych w CentOS {#understanding-network-interfaces}
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> to identyfikator przypisany interfejsowi przez system operacyjny. Typowe przykłady obejmują:
| Nazwa interfejsu | Opis |
|---|---|
eth0 | Tradycyjna nazwa interfejsu Ethernet |
ens33 | Przewidywalna nazwa interfejsu sieciowego (VMware/wirtualny) |
ens3 | Powszechna w maszynach wirtualnych opartych na KVM |
enp0s3 | Ethernet oparty na PCI (VirtualBox, bare metal) |
> 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 konfiguracyjnych. Edytowanie niewłaściwego pliku lub użycie nieprawidłowych parametrów może spowodować utratę łączności sieciowej — szczególnie krytyczne przy zarządzaniu serwerami zdalnymi.
2. Identyfikowanie dostępnych interfejsów sieciowych {#identifying-network-interfaces}
Przed modyfikacją jakiejkolwiek konfiguracji musisz najpierw zidentyfikować, które interfejsy sieciowe istnieją w Twoim systemie i jaki jest ich aktualny stan.
Krok 1: Dostęp do terminala
Połącz się z serwerem za pośrednictwem SSH lub uzyskaj dostęp do terminala bezpośrednio, jeśli masz fizyczny dostęp lub dostęp do konsoli:
ssh user@your-server-ipKrok 2: Wyświetlanie wszystkich interfejsów sieciowych
Uruchom następujące polecenie, aby wyświetlić wszystkie dostępne interfejsy sieciowe wraz z ich adresami IP i stanami:
ip addrPrzykł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 ens33Alternatywnie możesz użyć starszego polecenia ifconfig (wymaga pakietu net-tools):
ifconfig -aLub wyświetl tylko nazwy interfejsów za pomocą:
ip link showZanotuj nazwę interfejsu, który chcesz skonfigurować (np. ens33) przed przejściem do następnej sekcji.
3. Konfigurowanie statycznego adresu IP {#configuring-static-ip}
Przypisanie statycznego adresu IP jest zalecanym podejściem dla serwerów, ponieważ gwarantuje, że adres IP nigdy się nie zmieni w nieoczekiwany sposób — co jest krytyczne dla rekordów DNS, reguł zapory i stabilności dostępu zdalnego.
Krok 1: Otwórz plik konfiguracyjny interfejsu sieciowego
Użyj edytora tekstu, takiego jak nano lub vi, aby otworzyć plik konfiguracyjny dla Twojego interfejsu. Zastąp ens33 rzeczywistą nazwą interfejsu:
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33Krok 2: Dodaj lub zmodyfikuj parametry konfiguracyjne
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.4Rozbicie parametrów:
| Parametr | Opis |
|---|---|
DEVICE | Nazwa interfejsu sieciowego |
TYPE | Typ interfejsu (zazwyczaj Ethernet) |
BOOTPROTO | Ustaw na none dla przypisania statycznego adresu IP |
ONBOOT | Ustaw na yes aby aktywować interfejs podczas uruchamiania |
IPADDR | Twój pożądany statyczny adres IP |
NETMASK | Maska podsieci dla Twojej sieci |
GATEWAY | Brama domyślna (adres IP Twojego routera) |
DNS1 | Podstawowy serwer DNS (Google: 8.8.8.8) |
DNS2 | Pomocniczy 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=24Jest to równoważne z NETMASK=255.255.255.0.
Krok 3: Zapisz i wyjdź
Jeśli używasz nano, zapisz plik naciskając:
CTRL + X → Y → EnterJeśli używasz vi lub vim:
:wq → Enter4. Konfigurowanie DHCP (dynamiczne przypisywanie adresów IP) {#configuring-dhcp}
Jeśli Twoje środowisko używa serwera DHCP do automatycznego przypisywania 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-ens33Krok 2: Ustaw parametry DHCP
Zastąp istniejącą zawartość następującą minimalną konfiguracją DHCP:
DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yesKrok 3: Zapisz i wyjdź
Zapisz plik używając tej samej metody opisanej w poprzedniej sekcji.
> Kiedy używać DHCP vs. statycznego adresu IP: Użyj DHCP dla stacji roboczych, maszyn wirtualnych programistycznych lub środowisk tymczasowych. Użyj statycznych adresów 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 internetowe lub aplikacje na planie Hostingu Współdzielonego lub VPS, zdecydowanie zalecany jest statyczny adres IP.
5. Ponowne uruchamianie usługi sieciowej {#restarting-network-service}
Po zapisaniu zmian konfiguracyjnych musisz ponownie uruchomić usługę sieciową, aby je zastosować. Istnieje kilka metod w zależności od Twojej wersji CentOS.
Metoda 1: Ponowne uruchomienie całej usługi sieciowej (CentOS 7)
sudo systemctl restart networkMetoda 2: Wyłączenie i włączenie interfejsu
Ta metoda uruchamia ponownie tylko określony interfejs, minimalizując zakłócenia dla innych interfejsów:
sudo ifdown ens33 && sudo ifup ens33Metoda 3: Używanie NetworkManager (CentOS 7/8)
Jeśli NetworkManager jest aktywny w Twoim systemie, użyj nmcli:
sudo nmcli connection reload
sudo nmcli connection up ens33Metoda 4: Ponowne uruchomienie usługi NetworkManager
sudo systemctl restart NetworkManager> Ostrzeżenie: Jeśli jesteś połączony za pośrednictwem SSH, ponowne uruchomienie usługi sieciowej tymczasowo przerwanie 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. Weryfikowanie konfiguracji sieci {#verifying-network-configuration}
Po ponownym uruchomieniu usługi sieciowej sprawdź, czy Twoja konfiguracja została prawidłowo zastosowana.
Sprawdź przypisany adres IP
ip addr show ens33Wyjście powinno wyświetlać adres IP, który skonfigurowałeś w linii inet:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33Sprawdź bramę domyślną
ip route showPowinieneś zobaczyć linię podobną do:
default via 192.168.1.1 dev ens33Sprawdź rozpoznawanie DNS
cat /etc/resolv.confPotwierdź, że Twoje serwery DNS są wymienione:
nameserver 8.8.8.8
nameserver 8.8.4.4Przetestuj łączność internetową
Wyślij ping do hosta zewnętrznego, aby potwierdzić łączność end-to-end:
ping -c 4 google.comOczekiwane wyjście:
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 lossJeśli wszystkie cztery pakiety są odbierane ze stratą pakietów 0%, Twoja konfiguracja sieci działa prawidłowo.
Przetestuj rozpoznawanie DNS osobno
nslookup google.comlub
dig google.com7. Rozwiązywanie typowych problemów sieciowych {#troubleshooting}
Nawet doświadczeni administratorzy napotykają problemy sieciowe. Oto najczęstsze problemy i sposoby ich rozwiązania w CentOS.
Problem 1: Interfejs sieciowy nie uruchamia się podczas uruchamiania
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ąca linia jest obecna i prawidłowo ustawiona:
ONBOOT=yesNastępnie ponownie uruchom usługę sieciową:
sudo systemctl restart networkProblem 2: Brak łączności internetowej po konfiguracji
Objaw: Interfejs ma adres IP, ale nie możesz dotrzeć do hostów zewnętrznych.
Możliwe przyczyny i rozwiązania:
- Nieprawidłowa brama: Sprawdź, czy
GATEWAYodpowiada adresowi IP Twojego routera lub bramy sieciowej. - Błędna konfiguracja DNS: Upewnij się, że
DNS1iDNS2są ustawione na prawidłowe serwery DNS. - Problem z routingiem: Sprawdź tabelę routingu za pomocą
ip route showi 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 adresów IP
Objaw: Łączność sieciowa jest przerywaną lub inne urządzenie w sieci zgłasza konflikt adresów IP.
Rozwiązanie: Wybierz statyczny adres IP, który znajduje się poza zakresem puli DHCP Twojego routera, lub skoordynuj 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
