el_jot Posted October 19, 2017 Report Share Posted October 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 Link to comment Share on other sites More sharing options...
el_jot Posted October 24, 2017 Author Report Share Posted October 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now