当前位置:首页 > 操作系统 > 正文内容

Linux中firewalld中引用 IPset 并配置IPset

李云召1年前 (2023-11-06)操作系统908

Linux中firewalld中引用 IPset 并配置IPset

只是为了记录下自己的操作,方便后续用起来方便,也找了几个方法,最后发现这个可行:

ipset是ip地址的集合,firewalld使用ipset可以在一条规则中处理多个ip地址,后续对ip地址集合的管理也更方便,所以就采用了这方法来禁用,另外需要注意的是:iptables所用的ipset命令的不同,不要混合使用firewall-cmd的ipset参数与linux平台上的ipset命令,避免引起冲突,irewalld的ipset会记录到/etc/firewalld/ipsets/目录下

系统环境:Linux 8(Centos)

禁用的IP地址192.168.0.10

一、firewalld中ipset的操作例子:

1.新建一个set

#–new-ipset=blacklist: 指定新ipset的名字为:blacklist

#–type=hash:ip    指定类型为 hash:ip,这种形式不允许重复而且只有一个ip

[root@Centos ipsets]# firewall-cmd --permanent --new-ipset=blacklist --type=hash:ip
success

查看ipset文件是否已生成:

说明:默认的目录是:/etc/firewalld/ipsets

[root@Centos ipsets]# more /etc/firewalld/ipsets/blacklist.xml
<?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:ip">
</ipset>

2.在set中添加ip

[root@blog ipsets]# firewall-cmd --permanent --ipset=blacklist --add-entry=192.168.0.10
success

查看添加ip的效果

[root@Centos ipsets]# more /etc/firewalld/ipsets/blacklist.xml
<?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:ip">
  <entry>192.168.0.10</entry>
</ipset>

3.从set中删除ip

[root@Centos ipsets]# firewall-cmd --permanent --ipset=blacklist --remove-entry=192.168.0.10
success

查看删除ip的效果

[root@Centos ipsets]# more /etc/firewalld/ipsets/blacklist.xml
<?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:ip">
</ipset>

4.删除一个set

[root@Centos ipsets]# firewall-cmd --permanent --delete-ipset=blacklist
success

查看blacklist这个set的配置文件是否还存在?

[root@Centos ipsets]# more /etc/firewalld/ipsets/blacklist.xml
more: stat of /etc/firewalld/ipsets/blacklist.xml failed: No such file or directory

5.打印一个set的文件路径:

[root@Centos ipsets]# firewall-cmd --permanent --path-ipset=blacklist
/etc/firewalld/ipsets/blacklist.xml

6.打印一个set的内容:

[root@Centos ipsets]# firewall-cmd --permanent --info-ipset=blacklist
blacklist
  type: hash:ip
  options:
  entries: 192.168.0.10

7.列出一个set下的所有entry

[root@Centos ipsets]# firewall-cmd --permanent --ipset=blacklist --get-entries
192.168.0.10

8.判断一个ip是否存在于set中?

[root@Centos ipsets]# firewall-cmd --permanent --ipset=blacklist --query-entry=1.1.1.1
no
[root@Centos ipsets]# firewall-cmd --permanent --ipset=blacklist --query-entry=192.168.0.10
yes

9.列出所有的ipsets

[root@Centos ipsets]# firewall-cmd --permanent --get-ipsets
blacklist

10.得到所有的默认ipset类型 

[root@Centos ipsets]# firewall-cmd --get-ipset-types
hash:ip hash:ip,mark hash:ip,port hash:ip,port,ip hash:ip,port,net hash:mac hash:net hash:net,iface hash:net,net hash:net,port hash:net,port,net

二、firewalld中使用ipset

1.把一个ipset加入到禁止的规则

[root@Centos ipsets]# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset="blacklist" drop'
success

使生效

[root@Centos ipsets]# firewall-cmd --reload
success

查看xml中的记录:

[root@Centos ipsets]# more /etc/firewalld/zones/public.xml
...
  <rule family="ipv4">
    <source ipset="blacklist"/>
    <drop/>
  </rule>
...

2.把ip地址中ipset中删除

注意:没写入到磁盘

[root@Centos ipsets]# firewall-cmd --ipset=blacklist --remove-entry=192.168.0.10
success
[root@Centos ipsets]# firewall-cmd --ipset=blacklist --query-entry=192.168.0.10
no
[root@Centos ipsets]# firewall-cmd --ipset=blacklist --get-entries

可见已删除成功,

如果想永久性的记录下来:写入到磁盘后 reload一次

[root@Centos ipsets]# firewall-cmd --permanent --ipset=blacklist --remove-entry=192.168.0.10
success
[root@Centos ipsets]# more /etc/firewalld/ipsets/blacklist.xml
<?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:ip">
</ipset>
[root@Centos ipsets]# firewall-cmd --reload
success


原文: https://blog.imgtouch.com/index.php/2023/05/22/centos8linuxfirewalld-yong-ipset-guan-li-ip-di-zhi-de-ji-he/



声明:本文由云召博客收集发布,如有侵权,请联系我们,我们将第一时间进行处理。

本文链接:https://liyunzhao.com/post/132.html

标签: LinuxIPset
分享给朋友:

“Linux中firewalld中引用 IPset 并配置IPset” 的相关文章

Windows 8.1 Flash For IE 修复方法

Windows 8.1 Flash For IE 修复方法

在Windows8.1的操作系统上,IE打开各种视频网站基本都能播放,但是打开部分网站的时候提示需要升级Flash插件或者是安装Flash插件,但是下载下来有提示如下图:可以采用如下的方式进行修复:1、将32位,64位的flash文件夹分别拷贝到C:\Windows\System32\Macrome...

性能测试知多少--系统计数器与硬件分析

性能测试知多少--系统计数器与硬件分析

性能计数器(Performance Counter),也叫性能监视器。一个人健康状况如何,我们通过对其做各项体检获得相关的状况指标,如血压、心跳,肺活量等。那么在做性能测试过程中,整个系统的软硬件进行监控也必不可少,监控所获得的数据也是我们分析系统性能的主要依据。在整个系统中,对于不同的软件和硬件,...

ssh_exchange_identification:read:Connection reset by peer

ssh_exchange_identification:read:Connection reset by peer

SSH登录相关主机时,提示如下报错如何解决?在客户端连接服务端:[root@foundation66 ~]# ssh root@172.25.254.1ssh_exchange_identification: read: Connection reset by peer## -v表示查看连接详细信息...

Windows 7 访问部分网站提示非安全链接问题解决

Windows 7 访问部分网站提示非安全链接问题解决

Windows 7 操作系统是一款大家非常熟悉从操作系统,虽然官方已经在2020年1月14日全面停止对Windows 7的支持,然而,直到现在还有很多人在使用,有些程序的兼容性在Windows 7上也非常的优秀,不过在重新安装windows 7后不知大家是否碰到过类似的问题,访问淘宝、京东,甚至百度...

如何在Windows下使用CMD命令查询域名的DNS解析

如何在Windows下使用CMD命令查询域名的DNS解析

使用cmd命令查询域名的 DNS解析记录,可以用于验证域名所有者身份,例如你生成一个随机字符串,要求域名所有者将字符串添加到他所属域名(liyunzhao.com)的 _dnsauth 二级域名中(即 _dnsauth.liyunzhao.com),记录类型要求使用TXT,当用户响应添加成功后,你可...

Mac远程Win桌面工具【Microsoft Remote Desktop for mac】

Mac远程Win桌面工具【Microsoft Remote Desktop for mac】

微软官方很早就专为Mac用户提供了一款类Windows mstsc的远程桌面工具——Microsoft Remote Desktop for mac,专门用于局域网内,远程控制Windows桌面。但是。苹果Appstore中国区确是长期屏蔽该软件。长久以来,大部分使用Microsoft Remote...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。