J'accomplirais cela en ajoutant des sources à une zone. Vérifiez d'abord les sources disponibles pour votre zone:
firewall-cmd --permanent --zone=public --list-sources
S'il n'y en a pas, vous pouvez commencer à les ajouter, c'est votre "liste blanche"
firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32
(Cela ajoute un ensemble /24
et une seule IP, juste pour que vous ayez une référence à la fois pour un sous-réseau et une seule IP)
Définissez la plage de ports que vous souhaitez ouvrir:
firewall-cmd --permanent --zone=public --add-port=1-22/tcp
firewall-cmd --permanent --zone=public --add-port=1-22/udp
Cela ne fait que les ports 1 à 22. Vous pouvez élargir cela, si vous le souhaitez.
Maintenant, rechargez ce que vous avez fait.
firewall-cmd --reload
Et vérifiez votre travail:
firewall-cmd --zone=public --list-all
Note latérale / éditorial: Peu importe, mais j'aime la zone "de confiance" pour un ensemble d'adresses IP répertoriées dans firewalld. Vous pouvez faire une évaluation supplémentaire en lisant les suggestions de redhat sur le choix d'une zone .
Voir également:
Si vous souhaitez mettre des DROP
paquets en dehors de cette source, voici un exemple pour supprimer ceux en dehors de celui que /24
j'ai utilisé comme exemple plus tôt, vous pouvez utiliser des règles riches pour cela , je crois. C'est conceptuel, je ne l'ai pas testé (plus loin que de voir que centos 7 accepte la commande), mais, devrait être assez facile pour faire un pcap et voir s'il se comporte comme vous vous y attendez
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.0/24" invert="True" drop'