el_jot Napisano Październik 19, 2017 Zgłoszenie Share Napisano Październik 19, 2017 Witam! Szukam rozwiązania problemu niedziałania masquerade pod kontrolą systemu Centos7 uruchamianej jako rich rule. Server ma dwie karty, jedna z nich w strefie (zone) =internal i druga w zone=external. Jak nazwa wskazuje masquerade jest konfigurowana na karcie w zone=external. Po wydaniu polecenia: #firewalld-cmd --zone=external --add-masquerade ""root@ama zones]# firewall-cmd --zone=external --list-all external (active) target: default icmp-block-inversion: no interfaces: enp0s25 sources: services: http ssh ports: 554/tcp 3390/tcp 50050/tcp 7000/tcp 8000/tcp 40389/tcp 6036/tcp 3389/tcp 6037/tcp protocols: masquerade: yes forward-ports: port=8000:proto=tcp:toport=8000:toaddr=192.168.1.220 port=7000:proto=tcp:toport=7000:toaddr=192.168.1.94 port=8080:proto=tcp:toport=8080:toaddr=192.168.1.199 port=22000:proto=tcp:toport=22:toaddr=192.168.1.10 port=8008:proto=tcp:toport=80:toaddr=192.168.1.10 port=6037:proto=tcp:toport=6037:toaddr=192.168.1.123 port=554:proto=tcp:toport=554:toaddr=192.168.1.220 port=3389:proto=tcp:toport=3389:toaddr=192.168.1.199 port=50050:proto=tcp:toport=50050:toaddr=192.168.1.199 port=3390:proto=tcp:toport=3390:toaddr=192.168.1.184 port=40389:proto=tcp:toport=3389:toaddr=192.168.1.198 port=6036:proto=tcp:toport=6036:toaddr=192.168.1.122 sourceports: icmp-blocks: rich rules:"" wszystko działa bez problemu. Hosty ze strefy internal nawiązują połączenie z internetem (działa DNS, ping, działają strony www) Ale podobny efekt można według literatury -> https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/ uzyskać ale z możliwością dokładniej szej kontroli które adresy będą podlegać translacji masquerade wykorzystując rich-rule. Na początek próbuję zastosowac rich-rule do całej podsieci ze strefy "internal" # firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade' [root@ama zones]# firewall-cmd --zone=external --list-all external (active) target: default icmp-block-inversion: no interfaces: enp0s25 sources: services: http ssh ports: 554/tcp 3390/tcp 50050/tcp 7000/tcp 8000/tcp 40389/tcp 6036/tcp 3389/tcp 6037/tcp protocols: masquerade: yes forward-ports: port=8000:proto=tcp:toport=8000:toaddr=192.168.1.220 port=7000:proto=tcp:toport=7000:toaddr=192.168.1.94 port=8080:proto=tcp:toport=8080:toaddr=192.168.1.199 port=22000:proto=tcp:toport=22:toaddr=192.168.1.10 port=8008:proto=tcp:toport=80:toaddr=192.168.1.10 port=6037:proto=tcp:toport=6037:toaddr=192.168.1.123 port=554:proto=tcp:toport=554:toaddr=192.168.1.220 port=3389:proto=tcp:toport=3389:toaddr=192.168.1.199 port=50050:proto=tcp:toport=50050:toaddr=192.168.1.199 port=3390:proto=tcp:toport=3390:toaddr=192.168.1.184 port=40389:proto=tcp:toport=3389:toaddr=192.168.1.198 port=6036:proto=tcp:toport=6036:toaddr=192.168.1.122 sourceports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.1.0/24" masquerade Niestety, tak dodana translacja masquerade nie działa. Próbowałem z innym (szerszym) zakresem adresów źródłowych, próbowałem ograniczyć masquerade do konkretnego adresu np. 192.168.1.10/32 ale również bez powodzenia. Zależy mi właśnie na tym aby część adresów z podsieci 192.168.1.0/24, na przykład dla podsieci 192.168.1.0/28 działała translacja masquerade a dla pozostałych nie. Czy ktoś miał podobne doświadczenia a może zna odpowiedź jak to się da rozwiązań za pomocą rich-rules l.j Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
el_jot Napisano Październik 24, 2017 Autor Zgłoszenie Share Napisano Październik 24, 2017 Witam! Dalej szukam rozwiazania tej sprawy choć na razie bez rezultatów :-( Zastosowałem tym razem direct rule dla masquerade dla ograniczonego zakresu adresów : #firewall-cmd --zone=external --direct --add-rule ipv4 nat POSTROUTING 0 -m iprange --src-range 192.168.1.10-192.168.1.20 -o enp0s25 -j MASQUERADE System akceptuje to polecenie, które daje sie raportować z konfiguracji za pomocą polecenia "#firewall-cmd --direct --get-all-rules --zone=external" ale to nic nie zmiania Im using Centos 3.10.0-693.5.2.el7.x86_64 I've tried also to insert general direct rule to filter table: Próbowałem "dołożyć" ogólna regułę do direct rule do łańcuch FORWARD w tabeli filter:# firewall-cmd --zone=external --direct --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp0s25 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT Niestety, bez pozytywnego efektu. Działa tylko najbardziej ogólne polecenie: #firewalld-cmd --zone=external --add-masquerade Ale nie mam mozliwości ograniczenia zakresu adresowego dla masquerade :-( Zastanawiam się czy nie pominąłem czegoś w konfiguracji? el_jot Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się