Estou executando o firwalld em um VPS / webserver.
A public
zone é active
e default
(e eu não quero a alteração disso). Como eu permito que somente esses dois endereços IP externos acessem o VPS (ou seja, todos os serviços que defini no public
zone):
IP1: 11.22.33.44/24
IP2: 55.66.77.88/24
Estes são endereços IP falsos e notam que estão intencionalmente não na mesma sub-rede .
Acho que entendo por que o seguinte não funciona (bloqueia um ou outro IP).
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
O que preciso modificar para que isso funcione (para que ele não bloqueie um IP ou outro ou ambos)?
Obrigado! :)
EDIT : Eu também tentei uma máscara% bit /32
para todos os quatro comandos acima. Infelizmente isso não ajudou. Ainda procurando uma solução.
Acho que a lógica pode soar algo como: if IP1 or IP2, allow it and stop processing the chain.
else Continue processing the chain, where the very next rule would be to DROP.
. Algo assim.
EDIT2 : lançando a saída de sudo firewall-cmd --list-all-zones
abaixo. Observe que removi todas as regras mencionadas acima, pois elas não estavam funcionando. Então, o abaixo está de volta à estaca zero.
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: