iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)
  • 53
分享到

Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)

ip段屏蔽海外安全 2023-05-15 16:05:42 53人浏览 佚名
摘要

文章目录一、前文二、ipset知识点2.1 ipset的增删查2.2 ipset的ip地址修改2.3 ipset的其他查询三、应用实操3.1 下载国内ip网段3.2 新建ip集合3.3 添加规则3.4 有点耐心四、测试验证一、前文本文直接进

文章目录

  • 一、前文

  • 二、ipset知识点

  • 2.1 ipset的增删查

  • 2.2 ipset的ip地址修改

  • 2.3 ipset的其他查询

  • 三、应用实操

  • 3.1 下载国内ip网段

  • 3.2 新建ip集合

  • 3.3 添加规则

  • 3.4 有点耐心


一、前文

  • 本文直接进行linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)

  • 基础知识请查阅:Linux系统firewalld防火墙的基本操作

  • 进阶知识请查阅:Linux系统firewalld防火墙的进阶操作(日志保存 IP网段 ssh服务)

  • 应用实操请查阅:Linux系统firewalld防火墙的应用实操(对外端口开放使用,对内端口限制ip地址使用,不使用端口默认关闭)

  • 应用实操请查阅:Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)

二、ipset知识点

  • ipset是ip地址的集合。

  • firewalld使用ipset可以在一条规则中处理多个ip地址,执行效果更好,管理更方便。

  • firewalld的ipset会记录到/etc/firewalld/ipsets/目录下

2.1 ipset的增删查

#新建一个ip集合,--type=hash:ip    指定类型为 hash:ip,不允许重复ip
firewall-cmd --permanent --new-ipset=china_ip --type=hash:ip

#删除一个ip集合
firewall-cmd --permanent --delete-ipset=china_ip

#查询所有ip集合
firewall-cmd --permanent --get-ipsets

2.2 ipset的ip地址修改

#ipset添加ip
firewall-cmd --permanent --ipset=china_ip --add-entry=121.122.123.105

#从文件中添加ip到ipset
firewall-cmd --permanent --ipset=china_ip --add-entries-from-file=china_ip_list.txt

#ipset删除ip
firewall-cmd --permanent --ipset=china_ip --remove-entry=121.122.123.105

#判断ip是否存在ipset中
firewall-cmd --permanent --ipset=china_ip --query-entry=121.122.123.105

firewall-cmd --reload

2.3 ipset的其他查询

more /etc/firewalld/ipsets/china_ip.xml

#打印ipset的路径
firewall-cmd --path-ipset=china_ip --permanent

#打印ipset的内容
firewall-cmd --info-ipset=china_ip --permanent

#打印ipset的所有entry
firewall-cmd --ipset=china_ip --get-entries --permanent

三、应用实操

  • 禁止屏蔽海外国外IP访问有两种方法

  • 允许所有IP,禁止国外IP

  • 禁止所有IP,允许国内IP

  • 相对而言,禁止所有IP,允许国内IP更容易些。

  • 因为,相比收集国内IP集合会更加容易些。

3.1 下载国内ip网段

[root@iZ2ze30dygwd6yh7gu6lskZ home]# wget https://www.isres.com/china_ip_list.txt
--2022-08-15 11:46:01--  Https://www.isres.com/china_ip_list.txt
Resolving www.isres.com (www.isres.com)... 45.136.15.104
Connecting to www.isres.com (www.isres.com)|45.136.15.104|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 95267 (93K) [text/plain]
Saving to: ‘china_ip_list.txt’

china_ip_list.txt                                   100%[==================================================================================================================>]  93.03K   419KB/s    in 0.2s    

2022-08-15 11:46:02 (419 KB/s) - ‘china_ip_list.txt’ saved [95267/95267]

3.2 新建ip集合

firewall-cmd --permanent --new-ipset=china_ip --type=hash:net

firewall-cmd --permanent --ipset=china_ip --add-entries-from-file=china_ip_list.txt

3.3 添加规则

firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset="china_ip"  port port=80 protocol=tcp accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset="china_ip"  port port=8080 protocol=tcp accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset="china_ip"  port port=443 protocol=tcp accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source ipset="china_ip"  port port=8443 protocol=tcp accept'
firewall-cmd --reload

3.4 有点耐心

  • firewall处理大量IP的时候,会卡住,需要点耐心

ERROR:dbus.proxies:Introspect error on :1.32902:/org/fedoraproject/FirewallD1/config: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
  • 如果遇到报错,那就升级下firewalld试试

[root@iZ2ze30dygwd6yh7gu6lskZ home]# firewall-cmd --reload
Error: COMMAND_FAILED: '/usr/sbin/nft insert rule inet firewalld raw_PREROUTING_ZONES iifname "eth0" Goto raw_PRE_public' failed: Error: Could not process rule: No such file or directory
insert rule inet firewalld raw_PREROUTING_ZONES iifname "eth0" goto raw_PRE_public
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[root@iZ2ze30dygwd6yh7gu6lskZ home]# systemctl stop firewalld
[root@iZ2ze30dygwd6yh7gu6lskZ home]# yum install firewalls
Centos-8 - AppStream                                                                                                                                                                                                                         764 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                                                                                                                                                                                                              148 kB/s | 3.9 kB     00:00    
CentOS-8 - Extras                                                                                                                                                                                                                             55 kB/s | 1.5 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                                                                               135 kB/s | 4.7 kB     00:00    
No match for argument: firewalls
Error: Unable to find a match: firewalls
[root@iZ2ze30dygwd6yh7gu6lskZ home]# yum install firewalld
Last metadata expiration check: 0:00:04 ago on Wed 17 Aug 2022 12:23:38 AM CST.
Package firewalld-0.7.0-5.el8.noarch is already installed.
Dependencies resolved.
=============================================================================================================================================================================================================================================================================
 Package                                                                   Architecture                                                Version                                                             Repository                                                   Size
=============================================================================================================================================================================================================================================================================
Upgrading:
 firewalld                                                                 noarch                                                      0.9.3-7.el8                                                         BaseOS                                                      502 k
 firewalld-filesystem                                                      noarch                                                      0.9.3-7.el8                                                         BaseOS                                                       77 k
 libnftnl                                                                  x86_64                                                      1.1.5-4.el8                                                         BaseOS                                                       83 k
 nftables                                                                  x86_64                                                      1:0.9.3-21.el8                                                      BaseOS                                                      321 k
 python3-firewall                                                          noarch                                                      0.9.3-7.el8                                                         BaseOS                                                      432 k
Installing dependencies:
 python3-nftables                                                          x86_64                                                      1:0.9.3-21.el8                                                      BaseOS                                                       29 k

Transaction Summary
=============================================================================================================================================================================================================================================================================
Install  1 Package
Upgrade  5 Packages

Total download size: 1.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): Python3-nftables-0.9.3-21.el8.x86_64.rpm                                                                                                                                                                                              334 kB/s |  29 kB     00:00    
(2/6): firewalld-filesystem-0.9.3-7.el8.noarch.rpm                                                                                                                                                                                           853 kB/s |  77 kB     00:00    
(3/6): firewalld-0.9.3-7.el8.noarch.rpm                                                                                                                                                                                                      4.5 MB/s | 502 kB     00:00    
(4/6): libnftnl-1.1.5-4.el8.x86_64.rpm                                                                                                                                                                                                       1.2 MB/s |  83 kB     00:00    
(5/6): python3-firewall-0.9.3-7.el8.noarch.rpm                                                                                                                                                                                               5.1 MB/s | 432 kB     00:00    
(6/6): nftables-0.9.3-21.el8.x86_64.rpm                                                                                                                                                                                                      2.7 MB/s | 321 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                                                        6.8 MB/s | 1.4 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                                                     1/1 
  Running scriptlet: libnftnl-1.1.5-4.el8.x86_64                                                                                                                                                                                                                         1/1 
  Upgrading        : libnftnl-1.1.5-4.el8.x86_64                                                                                                                                                                                                                        1/11 
  Running scriptlet: libnftnl-1.1.5-4.el8.x86_64                                                                                                                                                                                                                        1/11 
  Upgrading        : nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                                     2/11 
  Running scriptlet: nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                                     2/11 
  Installing       : python3-nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                             3/11 
  Upgrading        : python3-firewall-0.9.3-7.el8.noarch                                                                                                                                                                                                                4/11 
  Upgrading        : firewalld-filesystem-0.9.3-7.el8.noarch                                                                                                                                                                                                            5/11 
  Upgrading        : firewalld-0.9.3-7.el8.noarch                                                                                                                                                                                                                       6/11 
warning: /etc/firewalld/firewalld.conf created as /etc/firewalld/firewalld.conf.rpmnew

  Running scriptlet: firewalld-0.9.3-7.el8.noarch                                                                                                                                                                                                                       6/11 
  Running scriptlet: firewalld-0.7.0-5.el8.noarch                                                                                                                                                                                                                       7/11 
  Cleanup          : firewalld-0.7.0-5.el8.noarch                                                                                                                                                                                                                       7/11 
  Running scriptlet: firewalld-0.7.0-5.el8.noarch                                                                                                                                                                                                                       7/11 
  Cleanup          : firewalld-filesystem-0.7.0-5.el8.noarch                                                                                                                                                                                                            8/11 
  Cleanup          : python3-firewall-0.7.0-5.el8.noarch                                                                                                                                                                                                                9/11 
  Running scriptlet: nftables-1:0.9.0-14.el8.x86_64                                                                                                                                                                                                                    10/11 
  Cleanup          : nftables-1:0.9.0-14.el8.x86_64                                                                                                                                                                                                                    10/11 
  Running scriptlet: nftables-1:0.9.0-14.el8.x86_64                                                                                                                                                                                                                    10/11 
  Cleanup          : libnftnl-1.1.1-4.el8.x86_64                                                                                                                                                                                                                       11/11 
  Running scriptlet: libnftnl-1.1.1-4.el8.x86_64                                                                                                                                                                                                                       11/11 
  Verifying        : python3-nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                             1/11 
  Verifying        : firewalld-0.9.3-7.el8.noarch                                                                                                                                                                                                                       2/11 
  Verifying        : firewalld-0.7.0-5.el8.noarch                                                                                                                                                                                                                       3/11 
  Verifying        : firewalld-filesystem-0.9.3-7.el8.noarch                                                                                                                                                                                                            4/11 
  Verifying        : firewalld-filesystem-0.7.0-5.el8.noarch                                                                                                                                                                                                            5/11 
  Verifying        : libnftnl-1.1.5-4.el8.x86_64                                                                                                                                                                                                                        6/11 
  Verifying        : libnftnl-1.1.1-4.el8.x86_64                                                                                                                                                                                                                        7/11 
  Verifying        : nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                                     8/11 
  Verifying        : nftables-1:0.9.0-14.el8.x86_64                                                                                                                                                                                                                     9/11 
  Verifying        : python3-firewall-0.9.3-7.el8.noarch                                                                                                                                                                                                               10/11 
  Verifying        : python3-firewall-0.7.0-5.el8.noarch                                                                                                                                                                                                               11/11 

Upgraded:
  firewalld-0.9.3-7.el8.noarch                     firewalld-filesystem-0.9.3-7.el8.noarch                     libnftnl-1.1.5-4.el8.x86_64                     nftables-1:0.9.3-21.el8.x86_64                     python3-firewall-0.9.3-7.el8.noarch                    

Installed:
  python3-nftables-1:0.9.3-21.el8.x86_64                                                                                                                                                                                                                                     

Complete!

四、测试验证

搞个国外的IP测试一下~

--结束END--

本文标题: Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)

本文链接: https://www.lsjlt.com/news/209180.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作