【记录】firewall-cmd配置服务器防火墙

【记录】firewall-cmd 配置服务器防火墙

版本:centos7 写作时间:2020-05-30

一、firewalld简介

firewalld 是centos7 默认的防火墙管理工具

1 优点

(1)支持动态更新,不重启服务

(2)假如了zone的概念,可以在不同工作环境快速切换防火墙配置规则,域zone其实就是一个防火墙策略规则的集合

2 firewall的默认配置文件

/usr/lib/firewalld/ (系统·配置文件,尽量不要修改)
/etc/firewalld/ (用户配置文件)

二 、firewalld的服务管理

服务管理

所谓服务管理,就是查看 某个服务是否开启,是否开机自启动,然后按需要改动它俩。

在centos7中,使用命令systemctl来管理服务。具体可参考博客 https://blog.csdn.net/qq_44817119/article/details/106357348

查看firewalld的当前运行状态systemctl status firewalld
启动firewalld服务systemctl start firewalld
重启firewalld服务systemctl restart firewalld
关闭firewalld服务systemctl stop firewalld
设置firewlld为开机自启动systemctl enable firewalld
查看firewalld开机自启动是否设置成功systemctl is-enabled firewalld
关闭firewalld的开机自启动systemctl distable firewalld

三、配置防火墙

推荐在测试新的并且可能有危险的规则时,可以使用额外选项以一定时间后自动删除某个规则,从而防止管理员意外锁定某个系统:–timemout

运行时配置、永久配置
运行时配置 firewall-cmd -zone=public -add-service=smtp默认运作状态(除非指定-permanent时为永久配置),重启失效,笔者猜测这就是前面说的firewalld的优点吧:支持动态更新,不重启服务
永久配置 firewall-cmd -zone=public --add-serrvice=smtp -permanent永久配置,不影响当前连接,重启后生效firewall-cmd --reload
更新规则
firewall-cmd --reload无需断开连接,动态添加规则
firewall-cmd --complete-reload断开连接,类似重启服务

1区域

区域
(1)区域分类
trusted允许所有的数据包
home,internal拒绝流入的数据包,除非与流出的数据包相关,或者是 ssh,mdns,ipp-client,samba-client与 dhcpv6-client服务则允许
work拒绝流入的数据包,除非与流出的数据包相关 或者是 ssh ipp-client,dhcpv6-client
public拒绝流入的数据包,除非与流出的数据包相关 或者是 ssh,dhcpv6-client
external拒绝流入的数据包,除非与流出的数据包相关 ssh
dmz拒绝流入的数据包,除非与流出的数据包相关 ssh
block拒绝流入的数据包,除非与流出的数据包相关
drop拒绝流入的数据包,除非与流出的数据包相关

列出的许多命令都采用 --zone=选项来确定所影响的区域,如果在这些命令中省略–zone,则将使用默认区域

(2)区域的查看与设置(tab键可以补全长参数)

firewall-cmd 参数

查看默认区域名称–get-default-zone
设置默认区域,使其永久生效–set–default-zone=<区域名称>
显示可用的区域–get-zones
显示当前正在使用的区域或者网卡名称–get-active-zones
显示所有区域的网卡配置参数、资源、端口以及服务信息等–list-all-zones
查看指定网卡所属区域–get-zone-of-interface=网卡名称
将网卡添加到某区域–zone=public --add-interface=网卡名称

demo:

#获取默认区域
[root@centos7 yue]# firewall-cmd --get-default-zone
public
#获取所有区域
[root@centos7 yue]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
#获取当前正在使用的区域
[root@centos7 yue]# firewall-cmd --get-active-zone
public
  interfaces: ens33 bridge0
#获取网卡ens33所在的区域
[root@centos7 yue]# firewall-cmd --get-zone-of-interface=ens33
public
#列出所有区域的网卡配置参数、端口、资源以及服务等
[root@centos7 yue]# firewall-cmd  --list-all-zones
block
  target: %%REJECT%%
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	

dmz
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	

drop
  target: DROP
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  
  ·······

2 端口

端口
查看某个域开放的端口firewall-cmd --zone=public --list-ports
在某个域中加入一个端口firewall-cmd --zone=dmz --add-port=8080/tcp

3 服务

服务
查看开启了哪些服务firewall-cmd --zone=public --get-services
查看某个服务是否开启firewall-cmd --zone=public --query-service ftp
增加一个服务firewall-cmd --zone=work --add-service=smtp
删除一个服务–romove-service=smtp

4 IP

IP
1 限制IP地址访问

(1)禁止 IP为192.168.43.100的地址访问80端口

firewall-cmd  --permanent  --add-rich-rule="rule family="ipv4"  source  address="192.168.43.100"  port protocal="tcp"  port="80" reject"

(2) 重新载入防火墙规则,使设置生效

firewall-cmd   --reload

(3) 查看已经设置的规则

firewall-cmd  --zone=public  --list-rish-rules
2 解除IP地址限制

(1)解除刚才被限制的192.168.43.100

firewall-cmd  --perrmanent  --add-rich-rule="rule family="ipv4"  source  address ="192.168.43.100"  port protocal="tcp"  port="80"  accept"

(2) 重新载入防火墙规则,使设置生效

firewall-cmd   --reload

(3) 查看已经没有192.168.0.200的限制了

firewall-cmd  --zone=public  --list-rish-rules

如果设置未生效,可尝试直接编辑规则文件,删除原来的设置规则,重新载入防火墙即可

vim   /etc/firewalld/zones/public.xml
3 限制某IP地址段 对80端口的访问

(1)如果我们需要限制192.168.43.0-192.168.43.255这一整段IP,禁止他们访问

firewall-cmd  --permanent  --add-rich-rule="rule family ="ipv4"  source address="192.168.43.0/24"  port protocal="tcp"  port="80"  reject"

(2) 重新载入防火墙规则,使设置生效

firewall-cmd   --reload

5 常用查看命令

查看版本
firewall-cmd --version查看版本
firewall-cmd --help帮助信息

6 紧急模式

紧急模式
firewall-cmd --panic-on开启紧急模式,断开所有网络连接,远程控制的服务器不要这么干,ssh不过去了。
firewall-cmd --panic-off关闭紧急模式
firewall-cmd --query-panic查看是否开启了紧急模式
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值