linux iptables与firewalld防火墙
此笔记是记录学习《Linux就该这么学》第八章iptables与firewalld防火墙的笔记。
1.Linux系统中的一切都是文件
2.配置一个服务就是在修改其配置文件
3.要想让新的配置文件立即生效,重启对应的服务。
下图是内网、外网及防火墙的示意图
1.iptables与firewalld都不是真正的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具而已,或者说,它们只是一种服务。
2.在早期的Linux系统中,默认使用的是iptables防火墙管理服务来配置防火墙。
3.由于iptables快属于将要淘汰的服务,所以个人也只是大致理解了iptables防火墙的搭建服务,没有花时间具体去学习iptables。
firewall防火墙
1.firewalld支持动态更新技术并加入了区域(zone)的概念。
2.区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
firewalld中常用的区域名称及策略规则
区域 默认规则策略
Column 1 | Column 2 |
---|---|
trusted | 允许所有的数据包 |
home | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量 |
internal | 等同于home区域 |
work | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量 |
public | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量 |
external | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
dmz | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
block | 拒绝流入的流量,除非与流出的流量相关 |
drop | 拒绝流入的流量,除非与流出的流量相关 |
public 默认所有 /drop 拒绝所有 / trusted 允许所有 | |
配置防火墙 | |
查看firewalld服务当前所使用的区域: |
[root@linuxprobe ~]# firewall-cmd --get-default-zone
public
查询ens33网卡在firewalld服务中的区域:
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=ens33
public
把firewalld服务中ens33网卡的默认区域修改为external,并在系统重启后生效。分别查看当前与永久模式下的区域名称:
[root@linuxprobe ~]# firewall-cmd --permanent --zone=external --change-interface=ens33
success
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=ens33
public
[root@linuxprobe ~]# firewall-cmd --permanent --get-zone-of-interface=ens33
external