Bootstrap

firewalld至ipset运用

一、在centos7中我们知道防火墙是firewalld,本章主要讲解firewalld中对ipset运用。

  • 通常在公司生产环境重要的系统我们需要设置OS层firewalld,例如服务器对外提供的是80端口我们有多台虚机要访问该主机的80端口通常一条策略一条策略的加下面这样设置的策略多了也不方便我们直观的观看。

  • set是一个内核模块,提供了一种集合(set)数据结构来处理网络流量的IP地址或端口。

  • 它允许将一组IP地址或端口定义为一个集合,然后防火墙规则可以通过引用这个集合而不是逐个指定IP地址来提高效率。
    

    所以,可以简单理解为ipset是个设置ip、port、mac、net等的集合,firewalld可以调用这些集合,根据集合进行规则过滤。

  • 通过ip集合允许特定ip访问主机端口

#命令行
firewall-cmd --permanent --new-ipset=nc_22 --type=hash:ip
firewall-cmd --permanent --ipset=nc_22 --add-entry=192.168.200.108
firewall-cmd --reload
firewall-cmd --permanent --add-rich-rule "rule family=""ipv4"" source ipset="nc_22" port port=22 protocol=tcp accept" 


#再次给规则中添加新的ip只需要如下操作
firewall-cmd --permanent --ipset=nc_22 --add-entry=IP
firewall-cmd --reload

#查看ipset
firewall-cmd --get-ipsets
firewall-cmd --ipset=ipsetname --get-entries
;