Konfiguracja interfejsów sieciowych na systemie Debian

Autor: Martin Szelcel 3 min. czytania Konfiguracja interfejsów sieciowych na systemie Debian

Ten krótki wpis ma za zadanie pomóc ci skonfigurować interfejs sieciowy na Debianie i pochodnych systemach. Jeżeli chcesz zmienić adres IP na statyczny lub skonfigurować mostek sieciowy, to właśnie tutaj znajdziesz instrukcje jak to zrobić.

W celu modyfikacji konfiguracji interfejsów sieciowych otwieramy plik /etc/network/interfaces w wybranym przez nas edytorze np.:

sudo nano /etc/network/interfaces

Domyślna konfiguracja - DHCP

Domyślna konfiguracja wygląda mniej więcej tak:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet dhcp

Interesuje nas to co widzimy poniżej komentarza # The primary network interface . W ostatniej linijce widzimy, że nasz interfejs nazywa się enp0s3 i działa w trybie dhcp czyli jego adresacja jest przydzielana przez router.

Linijka auto enp0s3 oznacza że ten interfejs powinien być uruchamiany automatycznie.

Statyczny adres IP

Aby teraz przypisać adres IP dla naszego serwera ręcznie musimy zmodyfikować ostatnią linijkę następująco:

iface enp0s3 inet static
    address 192.168.1.2/24 # IP serwera
    gateway 192.168.1.1 # IP routera
    dns-nameservers 8.8.8.8 8.8.4.4 # Serwery DNS

Zmieniliśmy dhcp na static, a następnie w kolejnych liniach z odpowiednim odstępem wpisujemy wybrany adres IP wraz z maską, adres bramy (czyli routera) i adresy do wybranych serwerów DNS.

Zapisujemy i zamykamy plik (w przypadku nano jest to CTRL+O a następnie CTRL+X).

Następnie restartujemy serwis odpowiedzialny za interfejsy sieciowe:

sudo systemctl restart networking

Jeśli zmieniliśmy adres IP naszego serwera pracując na nim zdalnie, zostaniemy od niego odłączeni i musimy połączyć się z nim na nowo pod nowo ustawionym adresem IP.

Mostek sieciowy

Jak działa mostek sieciowy? Wyobraźmy sobie, że za jego pomocą nasza karta sieciowa działa jak switch, do jednego (fizycznego) portu mamy wpięty kabel do naszej sieci, a kolejne "urządzenia" możemy wpinać do wirtualnych portów tego switcha.

Aby utworzyć mostek sieciowy musimy zacząć od instalacji pakietu bridge-utils, co możemy zrobić za pomocą tego polecenia:

sudo apt install bridge-utils

Następnie musimy przestawić nasz interfejs sieciowy w tryb manual, czyli interfejs bez adresu IP, co pozwala go użyć w bardziej zaawansowanej konfiguracji sieci:

iface enp0s3 inet manual

Jeżeli mamy jakąś konfigurację poniżej musimy przenieść ją do konfiguracji mostka. Zdefiniujmy więc nasz mostek. Konfiguracja powinna wyglądać mniej więcej tak:

# Network bridge
auto br0
iface br0 inet static
    address 192.168.1.2/24 # IP serwera
    gateway 192.168.1.1 # IP routera
    dns-nameservers 8.8.8.8 8.8.4.4 # Serwery DNS
    bridge_ports enp0s3 # Nazwa naszego fizycznego interfejsu sieciowego

Finalna konfiguracja wygląda u mnie w ten sposób:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet manual

# Network bridge
auto br0
iface br0 inet static
        address 192.168.1.2/24
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4
        bridge_ports enp0s3

Teraz pozostało zresetować serwis networking aby zastosować te zmiany:

sudo systemctl restart networking

Gotowe! Teraz twoja karta sieciowa powinna działac w trybie mostka, oznacza to że wirtualne maszyny czy kontenery Dockera, działające na twoim serwerze, będą mogły mieć swój adres IP tak jakby były osobnym urządzeniem w twojej sieci.

Jeśli masz jakieś pytania albo napotkałeś na jakieś problemy z konfiguracją zostaw proszę komentarz poniżej, być może ktoś inny również natrafi na podobny problem, dzięki czemu łatwiej uda się go rozwiązać.


Network Interface Card icons created by Freepik - Flaticon