Firewall

一、Firewall简介

Firewalld是Linux系统下一款核心的防火墙管理工具,用于保护系统的网络安全。Firewalld通过硬件和软件在内部和外部网络之间产生一种保护屏障,有效地监控并控制网络的信息流。Firewalld的基本结构由表(Tables)、链(Chains)和规则(Rules)组成。每个链包含多个规则,用于匹配数据包并根据结果执行相应操作。Firewalld使用iptables、ip6tables、ebtables和nftables作为后端处理网络数据包。Firewalld提供两种配置模式:运行时(Runtime)模式和永久(Permanent)模式。在运行时模式下,配置的策略会立即生效,但系统重启后失效;而在永久模式下,配置的策略会在系统重启后依然生效,但需要手动执行firewall-cmd --reload命令才能立即生效。

二、Firewall区域 

1.drop:丢弃

任何传入的网络数据包都被丢弃,没有回复。只能进行传出网络连接
2.block:阻止

任何传入的网络连接被拒绝,其中包含用于IPv4的icmp-host-prohibited消息和用于IPV6的icmp6-adm-prohibited。
3.public: 公共《默认)
用于公共场所您不相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接.
4.external:外部网络
用于特别为路由器启用伪装的外部网络。
5.dmz:管制区
适用于非军事区中的计算机,这些计算机可公开访问,并且对内部网络的访问权限有限。仅接受选定的传入连接.
6.work:工作
用于工作区域。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接。
6.home: 家庭
适用于家庭领域。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接。
7.internal: 内部
用于内部网络。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接
8.trusted:受信任
接受所有网络连接。可以将这些区域中的一个指定为默认区域。将接口连接添加到NetworkManager时,会将它们分配给默认区域。安装时,firewalld中的默认区域将设置为公共区域。

三、常用命令

查看防火墙状态:firewall-cmd --state

拒绝所有包: firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic

查看有哪些区域:firewall-cmd --get-zones

查看有哪些区域:firewall-cmd --get-services

查看已有的规则:firewall-cmd --list-all


暂时开放 ftp 服务: firewall-cmd --add-service=ftp

永久开放 ftp 服务: firewall-cmd --add-service=ftp --permanent

查询服务的启用状态: firewall-cmd --query-service ftp

开放mysql端口: firewall-cmd --add-service=mysql

阻止http端口: firewall-cmd --remove-service=http

查看开放的服务: firewall-cmd --list-services
查看对应规则库文件: cd /usr/lib/firewalld/services


开放通过tcp访问3306:firewall-cmd --add-port=3306/tcp
阴止通过tcp访问3306: firewall-cmd --remove-port=80tcp

永久开放80端口:firewall-cmd --zone=public --add-port=80/tcp--permanent

查看80端口:firewall-cmd --zone=public --query-port=80/tcp
查看所有开放端口: firewall-cmd --zone=public --list-ports
删除80端: firewall-cmd --zone=public --remove-port=80/tcp --permanent

开放postgresgl服务: firewall-cmd --add-service=postgresql --permanent


允许http服务通过1分钟: firewa11-cmd--zone=public --add-service=http --timeout=1m,这个 timeout 选项是一个以秒(s)、分(m)或小时(h)为单位的时间值。


重载防火墙: firewall-cmd --reload
检查防火墙状态: firewall-cmd --state
让设定生效: systemctl restart firewalld

四、富规则

添加指定ip访问特定端口规则:

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.112.1 port port=80protocol=tcp accept'
删除指定某个ip访问特定端口规则:

firewall-cmd --permanent--remove-rich-rule="rule family="ipv4”source address="192.168.112.1" portprotocol="tcp" port="80" accept"
禁止某个ip访问:
iptables -I INPUT -S 138.138.138.138 -j DROP
firewall -cmd --add-rich-rule='rule family=ipv4 source address="192.168.112.1" drop
允许ping:

firewall-cmd --add-rich-rule='rule family="ipv4" protocol value="icmp" source address="192.168.112.1 "accept'
接受192.168.112.0网段所有IP访问SSH服务:
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.112.0/24" service name=ssh accept'
直接模式:
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 192.168.112.1 -j ACCEPT 

 

 

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值