Konfiguracja firewalld dla kontenerów Docker na Raspberry Pi (przykład z Nextcloud)
Wprowadzenie
Docker na Raspberry Pi to wygodny sposób na samodzielne hostowanie usług, takich jak Nextcloud. Aby zapewnić bezpieczeństwo, warto kontrolować, które porty i podsieci mogą się komunikować – do tego służy firewalld.
W tym przewodniku przeprowadzimy cię przez proces konfiguracji firewalld dla Dockera na Raspberry Pi.
Wymagania wstępne
- Raspberry Pi z zainstalowanym Dockerem
- firewalld zainstalowany i uruchomiony
- dostęp do konta z uprawnieniami sudo
Krok 1: Przywracanie dostępu do portu (np. dla Nextcloud)
Jeśli Nextcloud nie działa, sprawdź czy port jest otwarty:
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload
Krok 2: Strefa dla Dockera i przypisanie interfejsu
Utwórz dedykowaną strefę i przypisz do niej interfejs docker0:
sudo firewall-cmd --permanent --new-zone=docker
sudo firewall-cmd --permanent --zone=docker --add-interface=docker0
Krok 3: Zezwól na komunikację między kontenerami
Zezwól na podsieć Docker i otwórz wymagane porty (np. MySQL dla Nextcloud):
sudo firewall-cmd --permanent --zone=docker --add-source=172.18.0.0/24
sudo firewall-cmd --permanent --zone=docker --add-port=3306/tcp
sudo firewall-cmd --reload
Krok 4: Weryfikacja konfiguracji
Sprawdź aktywne strefy i przypisane interfejsy:
sudo firewall-cmd --get-active-zones
Przykładowy wynik:
docker
interfaces: docker0
sources: 172.18.0.0/24
public
interfaces: eth0
Podsumowanie
Udało ci się zabezpieczyć ruch kontenerów Docker na Raspberry Pi przy użyciu firewalld. Najważniejsze korzyści:
Wyraźne rozdzielenie ruchu zewnętrznego i wewnętrznego
Lepsza kontrola nad otwartymi portami
Elastyczne zarządzanie ruchem dzięki strefom
Regularnie przeglądaj i dostosowuj reguły zapory do zmieniającego się środowiska.