Polecenie linux nft: Nowoczesne narzędzie do zarządzania zaporą sieciową
W świecie administracji systemami Linux, jednym z kluczowych elementów zarządzania bezpieczeństwem jest kontrolowanie ruchu sieciowego. I właśnie do tego służy zapora sieciowa (firewall), która chroni nasz system przed niepożądanym dostępem z sieci. Dziś skupimy się na nowoczesnym narzędziu, które pozwala na łatwe zarządzanie zaporą sieciową w systemie Linux – poleceniu nft. To potężne narzędzie jest częścią narzędzi Netfilter i stanowi alternatywę dla starszych rozwiązań, takich jak iptables. W tym artykule przyjrzymy się bliżej poleceniu nft, jego zastosowaniom oraz pokażemy, jak skonfigurować zaporę sieciową w systemie Linux przy jego pomocy. Będzie to także okazja, by poznać przykłady użycia nft w codziennej administracji.
Czym jest polecenie linux nft?
Polecenie nft (skrót od Network Filter) to narzędzie do zarządzania zaporą sieciową w systemie Linux. Jest częścią zestawu narzędzi Netfilter i oferuje prostszy oraz bardziej elastyczny sposób konfiguracji zapór sieciowych w porównaniu do poprzednich rozwiązań, takich jak iptables. Dzięki temu nft stał się domyślnym narzędziem w wielu nowoczesnych dystrybucjach Linuxa do zarządzania regułami zapory sieciowej.
Warto dodać, że nft nie tylko upraszcza zarządzanie zaporą, ale również oferuje lepszą wydajność, bardziej zaawansowane możliwości filtrowania pakietów oraz większą elastyczność przy pracy z regułami sieciowymi. Dzięki niemu można tworzyć złożone konfiguracje, które są łatwiejsze w utrzymaniu, co znacząco ułatwia pracę administratorom systemów.
Jak zainstalować i uruchomić nft?
W większości dystrybucji Linuxa narzędzie nft jest już domyślnie zainstalowane, ale w przypadku niektórych systemów może być konieczne jego doinstalowanie. Zazwyczaj można to zrobić za pomocą menedżera pakietów. Oto jak zainstalować nft w kilku popularnych dystrybucjach:
- Na Ubuntu/Debian:
sudo apt install nftables
- Na Fedora:
sudo dnf install nftables
- Na Arch Linux:
sudo pacman -S nftables
Po zainstalowaniu pakietu, upewnij się, że usługa nftables jest włączona. Możesz to zrobić za pomocą poniższego polecenia:
sudo systemctl enable --now nftables
Teraz możesz zacząć korzystać z narzędzia nft do zarządzania zaporą sieciową w swoim systemie Linux.
Podstawowe składnie polecenia linux nft
Podstawowa składnia polecenia nft jest dość prosta. W najprostszym przypadku używamy następującego polecenia, aby wyświetlić aktualną konfigurację zapory:
sudo nft list ruleset
To polecenie pokaże aktualny zestaw reguł zapory w systemie. Jest to przydatne, gdy chcesz sprawdzić, jakie reguły zostały już ustawione. Aby stworzyć nowe reguły lub zmodyfikować istniejące, używamy innych komend, które są bardziej zaawansowane. Poniżej przyjrzymy się kilku przykładom użycia nft.
Przykłady użycia polecenia linux nft
1. Dodawanie reguły do zapory sieciowej
Aby dodać nową regułę do zapory sieciowej, musimy określić, czy reguła ma dotyczyć ruchu przychodzącego, wychodzącego, czy też związanego z konkretnym interfejsem sieciowym. Oto przykład, jak dodać regułę blokującą ruch przychodzący na porcie 80 (HTTP):
sudo nft add rule ip filter input tcp dport 80 drop
W tym przypadku dodajemy regułę do tabeli filter (domyślna tabela do filtrowania pakietów), która blokuje ruch przychodzący na port 80 (HTTP). Oczywiście, zamiast "drop" możemy użyć "accept", jeśli chcemy zezwolić na taki ruch.
2. Tworzenie nowej tabeli
W systemie nft reguły są przechowywane w tabelach. Możemy utworzyć nową tabelę, która będzie służyć do przechowywania reguł. Oto przykład, jak utworzyć nową tabelę o nazwie my_filter:
sudo nft add table ip my_filter
Po utworzeniu tabeli możemy zacząć dodawać do niej reguły. Tabele mogą mieć różne typy, takie jak filter, nat (do translacji adresów sieciowych) czy mangle (do modyfikacji pakietów).
3. Dodawanie łańcucha do tabeli
W tabeli nft możemy tworzyć łańcuchy, które organizują reguły w bardziej zrozumiały sposób. Łańcuchy są używane do przechwytywania ruchu w różnych momentach (np. przed lub po przetworzeniu pakietu). Oto przykład, jak utworzyć łańcuch o nazwie my_input w tabeli my_filter:
sudo nft add chain ip my_filter my_input { type filter hook input priority 0 \; }
W tym przypadku tworzymy łańcuch, który będzie używany do filtrowania pakietów przychodzących do systemu (hook input). Opcja priority określa priorytet, w jakim ten łańcuch będzie przetwarzać pakiety.
4. Zastosowanie reguł dla konkretnego interfejsu sieciowego
Reguły w nft mogą być stosowane nie tylko do ruchu przychodzącego lub wychodzącego, ale także do ruchu związanego z określonymi interfejsami sieciowymi. Oto przykład, jak dodać regułę blokującą ruch na porcie 22 (SSH) tylko na interfejsie eth0:
sudo nft add rule ip filter input iifname "eth0" tcp dport 22 drop
W tym przykładzie reguła dotyczy tylko interfejsu eth0, a nie całego ruchu sieciowego.
5. Usuwanie reguł
Aby usunąć regułę z zapory, używamy polecenia delete. Oto przykład, jak usunąć wcześniej dodaną regułę blokującą port 80:
sudo nft delete rule ip filter input tcp dport 80 drop
Usunięcie reguły jest szybkie i łatwe, a po jej wykonaniu ruch na porcie 80 zostanie ponownie dozwolony.
Podsumowanie
Polecenie nft to niezwykle potężne narzędzie do zarządzania zaporą sieciową w systemie Linux. Dzięki swojej prostocie i elastyczności, stało się podstawowym narzędziem do tworzenia reguł zapory w nowoczesnych systemach. Możliwość tworzenia tabel, łańcuchów i reguł pozwala na bardzo zaawansowaną konfigurację, dostosowaną do różnych potrzeb administracyjnych. W tym artykule omówiliśmy podstawowe przykłady użycia nft, ale możliwości tego narzędzia są o wiele szersze. Zachęcamy do eksperymentowania i dostosowywania reguł zapory do swoich indywidualnych potrzeb!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!