Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć.
Mam 3 interfejsy i chciałbym w dość specyficzny sposób skonfigurować firewalld:
fnet0 (172.19.0.0/24) [docker]
bnet0 (172.20.0.0/24) [docker]
enp0 [dostęp do internetu]
Założenia są następujące:
- fnet0 i bnet0 mogą dowolnie wymieniać się danymi między sobą i pobierać dane z internetu, poprzez interfejs enp0,
- mimo, że kontenery w fnet0 i bnet0 mają włączone expose portów, nie są dostępne z internetu,
- dostęp z internetu do usług w sieciach fnet0 i bnet0 możliwy jest tylko po dodaniu odpowiedniego portu w zone 'public' gdzie znajduje się enp0.
Na chwilę obecną zrobiłem tyle:
Wrzucam sobie fnet0 i bnet0 do nowo utworzonej zone 'docker'. Interfejs enp0 zostaje w "public" i ma włączoną maskaradę.
Wykonałem polecenie sysctl -w net.ipv4.ip_forward=1 żeby mieć forward między interfejsami oraz umożliwiłem (tak mi się zdaje) komunikację pomiędzy sieciami fnet0 bnet0:
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i fnet0 -o bnet0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i bnet0 -o fnet0 -j ACCEPT
firewall-cmd --reload
Interfejsy się 'widza' - tj. można pingować z rożnych kontenerów do różnych sieci. Niestety usługi dockerowe zwracają 'no route to host' i dodatkowo expose usługi udostępnia ją od razu do internetu.
Czy mogę prosić o pomoc w takiej konfiguracji firewalld?
Pozdrawiam,
Offline
firewall-cmd? w jakim to systemie masz?
docker sam dodaje swoje, domyślne reguły firewalla, także pchanie się w firewalld przy dockerze to masochizm.
Niestety usługi dockerowe zwracają 'no route to host'
Czy jesteś pewien, że "no route to host" dotyczy konfiguracji firewalla?
Bo moim zdaniem to raczej brak tras routingu w kontenerach.
Offline
Cześć.
Dzięki za uwagę.
firewall-cmd służy do dodwania reguł, niezależnie od OS'a.
Tak, wiem. Ale jak chce wyrzucić usługi na zewnątrz, to czy tego chce czy nie, muszę dodać interfejs do jakiejś strefy.
Dodawanie wszystkiego do zone'y "trusted" to najszybsza droga, ale też ryzykowna. Chciałbym mieć pełną kontrolę nad tym co lata po sieciach i gdzie.
Właściwie to co do "no route to host" pewności nie mam. Sieci dockerowe mają ustawiony GW no i przede wszysktim przy pingowaniu z jednego kontenera na inny, host jest rozpoznawany i odpowiada, to zakładam, że routing działa.
Pozdrawiam!
Ostatnio edytowany przez rah606 (2020-02-01 20:42:43)
Offline