iptables与firewalld防火墙

iptables

在早期的Linux系统中默认使用的是iptables防火墙管理服务来配置防火墙,虽然新型的firewalld防火墙管理服务已经被投入使用多年,但iptables仍有企业在使用,而且各个防火墙管理工具的配置思路是一致的,所以我们了解一下iptables也有一定的意义。

1、策略与规则链

防火墙会按从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略的设置有两种:一种是“通”(即放行),另一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来。如果防火墙的默认规则为允许时,就要设置拒绝规则,否则谁都进得来,防火墙也就失去了意义。

iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:

在进行路由选择前处理数据包(PREROUTING);

处理流入的数据包(INPUT);

处理流出的数据包(OUTPUT);

处理转发的数据包(FORWARD);

在进行路由选择后处理数据包(POSTROUTING);

iptables服务中常用的术语ACCEPT(允许流量通过)、REJECT(拒绝流量通过)、LOG(记录日志信息)、DROP(拒绝流量通过)。

其中REJECT和DROP的不同点是,DROP直接将流量丢弃而且不响应,REJECT则会在拒绝流量后再回复一条“您的信息已经收到,但被扔掉了”的信息,从而让发送方清晰的看到数据被拒绝的响应消息。

2、iptables中基本的命令参数

iptables命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。注意:因为防火墙的策略规则的匹配顺序是自上而下的,因此要把较为严格、优先级较高的策略规则放在前面,以免发生错误。

iptables中常用的参数以及作用
-P设置默认策略
-F清空规则链
-L查看规则链
-A在规则链的末尾加入新规则
-I num在规则链的头部加入新规则
-D num删除某一条规则
-s匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
-d匹配目标地址
-i网卡名称匹配从这块网卡中流入的数据
-o网卡名称匹配从这块网卡中流出的数据
-P匹配协议,如TCP、UDP、ICMP
--dport num匹配目标端口号
--sport num匹配来源端口号

firewalld

1、firewalld拥有基于CLI(命令行界面)和基于GUI(图形用户界面)两种管理方式。firewalld支持动态更新技术并加入了区域(zone)的概念,简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。firewalld中常见的区域名称(默认为public)以及相应的策略规则如下表:

区域默认策略规则
trusted允许所有的数据包
home拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client与dhcpv6-client服务相关,则允许流量
internal等同于home区域
work拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
public拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
exteranl拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block拒绝流入的流量,除非与流出的流量相关;
drop拒绝流入的流量,除非与流出的流量相关;

2、终端管理工具

firewalld-cmd和firewalld防火墙配置的都是CLI版本,他们的参数一般都是以“长格式”来提供的,这里不得不提一下tab键了,tab键既能自动补齐命令或文件名等内容之外,还可以用tab键来补齐下表中的长格式参数。

firewalld-cmd命令中使用的参数以及作用
--get-default-zone查询默认的区域名称
--set-default-zone=<区域名称>设置默认的区域,使其永久生效
--get-zones显示可用的区域
--get-services显示预先定义的服务
--get-active-zones显示当前正在使用的区域与网卡名称
--add-source=将源自此ip或子网的流量导向指定的区域

--remove-source=

不在将源自此ip或子网的流量导向指定的区域
--add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称>将某个网卡与区域进行关联
--list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名>设置默认区域允许该服务的流量
--add-port=<端口号/协议>设置默认区域允许该端口的流量
--remove-service=<服务名>设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
--reload让“永久失效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on开启应急状况模式
--panic-off关闭应急状况模式

与Linux系统中其他的防火墙策略配置工具一样,使用firewalld配置的防火墙策略默认为运行时(runtime)模式,又称为当前生效模式,而且会随着系统的重启失效。若想让配置策略一直存在,就需要在使用永久(Permanent)模式了,方法是在用firewalld-cmd命令正常设置防火墙策略时添加--permanent参数。使用他设置的策略只有在系统重启之后才会自动生效,若想让配置策略立即生效,需要手动执行firewalld-cmd --reload命令。

3、firewall-config是firewalld防火墙配置管理工具的GUI版本,几乎可以实现所有以命令行来执行的操作。具体功能如下:

a、选择运行时(Runtime)模式或永久(permanent)模式的配置

b、可选的策略集合区域列表

c、常用的系统服务列表

d、当前正在使用的区域

d、管理当前被选中区域中的服务

e、管理当前被选中区域中的端口

f、开启或关闭SNAT(源地址转换协议)技术

g、设置端口转发策略

h、控制请求icmp服务的流量

i、管理防火墙的富规则

j、管理网卡设备

k、被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量

l、firewall-config工具的运行状态

4、SNAT是一种为了解决IP地址匮乏而设计的技术,它可以使得多个内网中的用户通过同一个外网IP接入Internet。

5、服务的访问控制列表

TCP Wrappers是一款流量监控程序,它能够根据来访主机的地址与本机的目标服务程序作出允许或拒绝的操作。firewalld是基于TCP/IP协议的流量过滤工具,而TCP Wrappers服务则是能允许或禁止Linux系统提供服务的防火墙。TCP Wappers服务的防火墙策略由两个控制列表文件所控制,用户可以编辑允许控制列表文件来放行对服务的请求流量,也可以编辑拒绝控制列表文件来阻止对服务的请求流量。控制文件列表修改后会立即生效,系统将会先检查允许控制列表文件(/etc/hosts.allow),如果匹配到相应的允许策略则放行流量;如果没有匹配,则去进一步匹配拒绝控制列表文件(/etc/hosts.deny),若找到匹配项则拒绝该流量。如果这两个文件都没有匹配到,则默认放行流量。

TCP Wrappers服务的控制列表文件中常用的参数
客户端类型示例满足示例的客户端列表
单一主机192.168.10.10IP地址为192.168.10.10的主机
指定网段192.168.10IP段为192.168.10.0/24的主机
指定网段192.168.10.0/255.255.255.0IP段为192.168.10.0/24的主机
指定DNS后缀.linuxprobe.com所有DNS后缀为.linuxprobe.com的主机
指定主机名称www.linuxprobe.com主机名称为www.linuxprobe.com的主机
指定所有客户端ALL所有主机全部包括在内

在配置TCP Wrappers服务时需要遵循两个原则:

编写拒绝策略规则时,填写的是服务名称,而非协议名称;

建议先编写拒绝策略规则,再编写允许策略规则,以便直观的看到相应的效果;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值