Centos7 防火墙策略rich-rule 限制ip访问-----图文详解

简介: Centos7 防火墙策略rich-rule 限制ip访问-----图文详解



一、常用命令 这是通用的使用方案

1.查看下防火墙的状态:systemctl status firewalld      
  systemctl stop firewalld 关闭   
  systemctl disable firewalld  开机不启永久关闭   
2.查看已开放的端口
firewall-cmd --zone=public --list-ports      
firewall-cmd --permanent --zone=public --add-port=8484/tcp
3.重启防火墙 firewall-cmd --reload

二 、需求和-----策略rich-rule 重点

需求:正常情况是服务开启3306端口,但是现在是 只想让某个ip访问3306,也就是3306只给固定的IP开放,然后别的ip就访问不到。

这是在public中作策略,单独放开某个ip某个访问某个端口。

1、添加允许规则:add-rich-rule accept

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.11.8" port protocol="tcp" port="3306" accept"

2、移除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.11.8" port protocol="tcp" port="3306" accept"

3、添加拒绝策略:reject

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.200.113 reject"

4重启

firewall-cmd  --reload

5.查看

firewall-cmd --list-all --zone=public

这就是允许某个ip访问指定的端口。如果要放下端口还是原来的firewall-cmd --permanent --zone=public --add-port=8484/tcp 这个命令。

三、使用说明

简单介绍一下,Firewalld 一般已经默认内置了 9 个区域(zone),每个区域有不同的规则,加入你是服务器,ok你只需配一个区域,如果是公司和家,你就可以在公司是一个区域,在家是一个区域设置不同的策略。

1.查看当前所有区域的规则 firewall-cmd --list-all-zones

2.查看当前默认区域 firewall-cmd --get-default-zone

firewall-cmd --get-default-zone

 3.查看单个区域public的规则    firewall-cmd --list-all --zone=public    

firewall-cmd --list-all --zone=public

4.切换区域

查看当前活跃的区域

[root@kylin network-scripts]# firewall-cmd --get-active-zone
public
  interfaces: ens33

切换网卡接口到默认区域

firewall-cmd --permanent --change-interface=ens33 --zone=drop
firewall-cmd --permanent --add-interface=ens33 --zone=drop
firewall-cmd --reload   #修改后需要重启

查看 firewall-cmd --get-active-zone

说完策略这下就要往策略里面添加规则了。

四、策略说明

Firewalld 中的基本概念 区域(zone)

区域(zone)基本上是一组规则,它们决定了允许哪些流量,具体取决于你对计算机所连接的网络的信任程度。为网络接口分配了一个区域,以指示防火墙应允许的行为。

Firewalld 一般已经默认内置了 9 个区域(zone),大部分情况下,这些已经足够使用,按从最不信任到最受信任的顺序为:

drop:最低信任级别。所有传入的连接都将被丢弃而不会回复,并且只能进行传出连接。

block:与上述类似,但不是简单地删除连接,而是使用 icmp-host-prohibitedor 和 icmp6-adm-prohibited 消息拒绝传入的请求。

public:表示不信任的公共网络。您不信任其他计算机,但可能会视情况允许选择的传入连接。默认情况下,此区域为激活状态。

external:如果你使用防火墙作为网关,则为外部网络。将其配置为 NAT 转发,以便你的内部网络保持私有但可访问。

internal:external 区域的另一侧,用于网关的内部。这些计算机值得信赖,并且可以使用一些其他服务。

dmz:用于 DMZ (DeMilitarized Zone) 中的计算机(将无法访问网络其余部分的隔离计算机),仅允许某些传入连接。

work:用于工作机。信任网络中的大多数计算机。可能还允许其他一些服务。

home:家庭环境。通常,这意味着您信任其他大多数计算机,并且将接受其他一些服务。

trusted:信任网络中的所有计算机。可用选项中最开放的,应谨慎使用。

五、更高级用法

严格:默认区域设置为drop区域,允许的放入trusted区域

通过将当前默认区域pubilc切换到drop区,拒绝所有,然后在trusted区域中在添加白名单

宽松:默认区域设置为trusted区域,拒绝的单独放入drop区域

1.切换为drop区域

firewall-cmd --set-default-zone=drop
firewall-cmd --get-active-zone
firewall-cmd --permanent  --change-interface=ens33 --zone=drop

查看

2. 将允许的IP或者IP段加入trusted白名单

firewall-cmd --permanent --add-source=192.168.1.11 --zone=trusted #添加ip
firewall-cmd --reload  #重启
firewall-cmd  --list-all --zone=trusted  查看
[root@ky]# firewall-cmd --permanent --add-source=192.168.1.11 --zone=trusted
success
[root@bogon ~]# firewall-cmd --reload
success
[root@ky]# firewall-cmd  --list-all --zone trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: 
  sources: 192.168.1.11
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

这里面也可以添加放行的端口

firewall-cmd --permanent --zone=trusted--add-port=80/tcp   ##添加80端口到白名单 执行

firewall-cmd --reload                                                             ##重启防火墙

firewall-cmd --zone=trusted --list-ports                                   ##查看已开放的端口

ok,这就完成了。

参考:Firewalld - Fedora Project Wiki

firewalld 防火墙策略_firewalld默认规则_可问春风的博客-CSDN博客

目录
相关文章
|
1月前
|
网络协议 物联网 Linux
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
|
1月前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
1月前
|
XML 安全 Linux
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
|
1月前
|
运维 Kubernetes 监控
本地CentOS安装轻量级容器PaaS平台KubeSphere并实现无公网IP远程访问
本地CentOS安装轻量级容器PaaS平台KubeSphere并实现无公网IP远程访问
27 0
|
1月前
|
网络协议 Linux 网络安全
CentOS 7 防火墙指令
本文介绍了CentOS 7中管理防火墙`firewalld`的指令。
26 0
|
1月前
|
存储 Linux 开发工具
Centos7 修改密码策略和用户策略
在`/etc/login.defs`文件中,配置了邮件存储路径、密码控制策略、UID和GID范围、用户目录创建、umask权限及用户删除选项。密码策略规定:最大使用天数为99999,最小改变间隔为0天,最短长度为5字符,提前7天警告。UID和GID范围设为5000-60000。创建家目录默认开启,umask设为077,且支持删除用户时移除无成员的用户组。
159 0
|
1月前
|
网络协议 Linux 网络安全
Linux(17)Centos5、6、7、8版本的防火墙常用命令
Linux(17)Centos5、6、7、8版本的防火墙常用命令
52 0
|
1月前
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
253 0
|
1月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
222 0
|
20天前
|
网络协议 Java Linux
Linux常用操作命令、端口、防火墙、磁盘与内存
Linux常用操作命令、端口、防火墙、磁盘与内存
25 0