Em uma máquina em rede Linux, eu gostaria de restringir o conjunto de endereços na zona "pública" (conceito firewalld), que têm permissão para alcançá-la. Portanto, o resultado final seria que nenhuma outra máquina possa acessar nenhuma porta ou protocolo, exceto aqueles explicitamente permitidos, como uma mistura de
--add-rich-rule='rule family="ipv4" source not address="192.168.56.120" drop'
--add-rich-rule='rule family="ipv4" source not address="192.168.56.105" drop'
O problema acima é que essa não é uma lista real, ela bloqueará tudo, pois se um endereço for bloqueado por não ser o mesmo que o outro, gerando um efeito acidental de "soltar tudo", como eu "desbloquear" um elemento não específico conjunto contíguo? a fonte aceita uma lista de endereços? até agora, não vejo nada na minha olhada nos documentos ou no resultado do google.
EDIT: Acabei de criar isso:
# firewall-cmd --zone=encrypt --list-all
encrypt (active)
interfaces: eth1
sources: 192.168.56.120
services: ssh
ports: 6000/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Mas ainda posso alcançar a porta 6000 .123
, pois minha intenção era que, se uma fonte não estiver listada, ela não conseguiria acessar nenhum serviço ou porta
eth1
da zona.firewall-cmd --zone=encrypt --remove-interface=eth1
Conforme
firewalld.richlanguage
:Especifique uma máscara de rede para o endereço para permitir blocos contíguos.
Fora isso, você pode tentar criar uma
ipset
lista não contígua de IPs permitidos.Por exemplo, em
/etc/firewalld/direct.xml
:O real
ipset
deve ser criado separadamente.fonte
Você pode gerenciar facilmente pelo Rich Rule.
Primeiro passo
Segunda etapa - Adicionar regra rica
Toda porta é acessível por 192.168.2.2 depois de adicionar uma regra avançada e bloquear todas as portas de outra origem.
Se você adicionar qualquer porta ou serviço pelo comando abaixo, ele será acessível por todas as fontes.
Se você deseja abrir uma porta específica para o comando Ip than than below
fonte