Firewalld: Whitelist nur zwei IP-Adressen, nicht im selben Subnetz

998
prismalytics.io

Ich verwende firwalld auf einem VPS / Webserver.

Die publicZone ist activeund default(und ich möchte die Änderung nicht so). Wie erlaube ich nur diesen beiden externen IP-Adressen den Zugriff auf den VPS (dh alle Dienste, die ich in der publicZone definiert habe ):

 IP1: 11.22.33.44/24 IP2: 55.66.77.88/24 

Dies sind gefälschte IP-Adressen und stellen fest, dass sie sich absichtlich nicht im selben Subnetz befinden .

Ich glaube, ich verstehe, warum das Folgende nicht funktioniert (es sperrt die eine oder andere IP-Adresse aus).

user$ sudo firewall-cmd --zone=public --permanent --add-source=11.22.33.44/24 user$ sudo firewall-cmd --zone=public --permanent --add-source=55.66.77.88/24  user$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="11.22.33.44/24" invert="True" drop'  user$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="55.66.77.88/24" invert="True" drop' user$ sudo firewall-cmd --reload 

Was muss ich ändern, damit dies funktioniert (damit eine IP-Adresse oder die andere oder beide nicht gesperrt werden)?

Vielen Dank! :)

BEARBEITEN : Ich habe auch eine /32Maske für alle vier Befehle ausprobiert . Leider hat es nicht geholfen. Noch auf der Suche nach einer Lösung.

Ich denke, die Logik klingt vielleicht so: if IP1 or IP2, allow it and stop processing the chain.anders Continue processing the chain, where the very next rule would be to DROP.. Sowas in der Art.

EDIT2 : Die Ausgabe von sudo firewall-cmd --list-all-zonesunten buchen . Beachten Sie, dass ich alle oben genannten Regeln entfernt habe, da sie nicht funktionierten. Das Folgende ist also wieder eins zu eins.

user$ sudo firewall-cmd --list-all-zones block target: %%REJECT%% icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    dmz target: default icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    drop target: DROP icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    external target: default icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: yes forward-ports:  source-ports:  icmp-blocks:  rich rules:    home target: default icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    internal target: default icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    public (active) target: default icmp-block-inversion: no interfaces: venet0:0 venet0 sources:  services: ssh-vps http https ports: 8080/tcp 8080/udp protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks: echo-reply echo-request timestamp-reply timestamp-request rich rules:   trusted target: ACCEPT icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:    work target: default icmp-block-inversion: no interfaces:  sources:  services:  ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules: 
0

0 Antworten auf die Frage