Zarządzanie siecią w systemie Linux
Linux jest jednym z najbardziej elastycznych i zaawansowanych systemów operacyjnych w zakresie zarządzania siecią. Pozwala na pełną kontrolę nad interfejsami, trasami routingu, zaporami sieciowymi, tunelami VPN oraz wirtualnymi urządzeniami, takimi jak bridge, bonding czy VLAN. W tym artykule omówię narzędzia i techniki umożliwiające konfigurację i diagnostykę sieci w środowisku Linux.
1. Podstawowe narzędzia sieciowe
Podstawowym zestawem narzędzi do zarządzania siecią w systemie Linux są polecenia z pakietu iproute2. Zastąpiły one starsze narzędzia, takie jak ifconfig czy route.
Najczęściej używane polecenia:
- ip addr – wyświetlanie i konfiguracja adresów IP,
- ip link – zarządzanie interfejsami sieciowymi,
- ip route – konfiguracja tras routingu,
- ip neigh – przeglądanie tablicy ARP,
- ss – analiza połączeń i portów sieciowych,
- ethtool – diagnostyka parametrów fizycznych kart sieciowych.
Przykłady:
ip addr show
ip link set eth0 up
ip route add 192.168.10.0/24 via 192.168.1.1
ss -tuln
ethtool eth0
2. Konfiguracja interfejsów sieciowych
Konfiguracja interfejsów może być wykonywana tymczasowo za pomocą poleceń lub trwale poprzez pliki konfiguracyjne. W zależności od dystrybucji, konfiguracja znajduje się w różnych miejscach:
- /etc/network/interfaces – Debian, Ubuntu,
- /etc/sysconfig/network-scripts/ – Red Hat, CentOS, Rocky, AlmaLinux,
- NetworkManager – większość nowych systemów (nmcli, nmtui).
Przykład konfiguracji statycznego adresu IP (Debian/Ubuntu):
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
Konfiguracja za pomocą nmcli:
nmcli con add type ethernet ifname eth0 con-name static-eth0 ip4 192.168.1.10/24 gw4 192.168.1.1
3. Routing i tablice tras
System Linux działa jako pełnoprawny router i umożliwia konfigurowanie tras sieciowych. Polecenie ip route służy do dodawania, usuwania i wyświetlania tras.
Przykłady:
ip route show
ip route add 10.10.0.0/16 via 192.168.1.1
ip route del 10.10.0.0/16
Trasy można również przypisywać do określonych tabel routingu, co pozwala na zaawansowaną politykę routingu (policy routing) za pomocą pliku /etc/iproute2/rt_tables.
4. Zapory sieciowe: iptables, nftables i firewalld
System Linux umożliwia filtrowanie i kontrolowanie ruchu sieciowego za pomocą wbudowanych zapór. Trzy główne rozwiązania to iptables, jego nowoczesny następca nftables oraz nakładka konfiguracyjna firewalld.
iptables – klasyczny mechanizm filtrowania pakietów oparty na tabelach (filter, nat, mangle).
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP
nftables – nowoczesny system zapór wprowadzony jako następca iptables, zapewniający lepszą wydajność i prostszy skład.
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0; }
sudo nft add rule inet filter input tcp dport 22 accept
firewalld – system zarządzania zaporą oparty na strefach bezpieczeństwa, domyślny w Red Hat i Fedora.
sudo firewall-cmd –zone=public –add-service=ssh –permanent
sudo firewall-cmd –reload
5. Bridge (most sieciowy)
Bridge (most) umożliwia łączenie kilku interfejsów sieciowych w jedną logiczną sieć, działając podobnie do przełącznika warstwy 2. Jest często wykorzystywany w środowiskach wirtualizacji, np. do łączenia maszyn wirtualnych z siecią fizyczną.
Tworzenie bridge:
sudo ip link add name br0 type bridge
sudo ip link set dev eth0 master br0
sudo ip addr add 192.168.100.1/24 dev br0
sudo ip link set br0 up
6. Bonding (łączenie interfejsów)
Bonding pozwala na łączenie wielu interfejsów w jeden w celu zwiększenia przepustowości lub zapewnienia redundancji. Stosowany jest często w serwerach i systemach o wysokiej dostępności.
Przykład konfiguracji bonding:
sudo modprobe bonding
sudo ip link add bond0 type bond
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0
echo 802.3ad | sudo tee /sys/class/net/bond0/bonding/mode
Najczęściej używane tryby bonding: 0 (round-robin), 1 (active-backup), 4 (LACP – 802.3ad).
7. VLAN (Virtual LAN)
VLAN umożliwia logiczne podzielenie sieci na segmenty w obrębie jednej fizycznej infrastruktury. Linux obsługuje VLAN poprzez tworzenie wirtualnych interfejsów oznaczonych numerem identyfikacyjnym.
Tworzenie interfejsu VLAN:
sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip addr add 192.168.100.10/24 dev eth0.100
sudo ip link set eth0.100 up
Każdy interfejs VLAN może mieć własną konfigurację IP, routing i reguły zapory.
8. VPN (Virtual Private Network)
VPN pozwala na bezpieczne łączenie zdalnych hostów poprzez szyfrowane tunele sieciowe. W systemie Linux najczęściej stosowane są technologie OpenVPN, WireGuard i IPsec.
- OpenVPN – elastyczny system VPN oparty na SSL/TLS,
- WireGuard – nowoczesny, lekki protokół VPN wbudowany w jądro Linux,
- IPsec – standardowy protokół tunelowania warstwy sieciowej, często wykorzystywany w korporacjach.
Przykład konfiguracji interfejsu WireGuard:
wg genkey | tee privatekey | wg pubkey > publickey
sudo ip link add wg0 type wireguard
sudo ip addr add 10.0.0.1/24 dev wg0
sudo wg set wg0 listen-port 51820 private-key ./privatekey
sudo ip link set wg0 up
9. Diagnostyka sieci
Diagnostyka połączeń sieciowych obejmuje monitorowanie portów, ruchu oraz identyfikację błędów transmisji. Najczęściej używane narzędzia:
- ping – testowanie dostępności hostów,
- traceroute – śledzenie ścieżki pakietów w sieci,
- ss – wyświetlanie aktywnych połączeń TCP/UDP,
- tcpdump – przechwytywanie ruchu sieciowego,
- ethtool – analiza parametrów fizycznych interfejsu.
Przykłady:
ping 8.8.8.8
traceroute 1.1.1.1
ss -tnlp
sudo tcpdump -i eth0 port 80
10. Dobre praktyki zarządzania siecią
- utrzymywanie dokumentacji konfiguracji interfejsów,
- stosowanie statycznych tras w środowiskach serwerowych,
- monitorowanie portów i połączeń za pomocą ss i netstat,
- używanie firewalld lub nftables jako centralnego systemu zapory,
- konfiguracja bridge lub bonding w środowiskach wirtualizacji,
- izolacja ruchu przy użyciu VLAN w sieciach wielooddziałowych,
- stosowanie VPN w komunikacji między oddziałami lub serwerami w chmurze,
- regularna kontrola logów sieciowych w katalogu /var/log.
11. Podsumowanie
Zarządzanie siecią w systemie Linux obejmuje szeroki zakres zagadnień – od konfiguracji interfejsów, przez routing i zapory, po wirtualne technologie, takie jak bridge, bonding, VLAN i VPN. Zastosowanie nowoczesnych narzędzi, takich jak ip, ss, nftables czy firewalld, pozwala na precyzyjne kontrolowanie ruchu i bezpieczeństwa sieci. Świadome konfigurowanie i monitorowanie infrastruktury sieciowej to klucz do stabilnego i bezpiecznego środowiska serwerowego.