第7章 Iptables与Firewalld防火墙

上传人:di****ng 文档编号:36425122 上传时间:2018-03-28 格式:DOCX 页数:24 大小:978.44KB
返回 下载 相关 举报
第7章 Iptables与Firewalld防火墙_第1页
第1页 / 共24页
第7章 Iptables与Firewalld防火墙_第2页
第2页 / 共24页
第7章 Iptables与Firewalld防火墙_第3页
第3页 / 共24页
第7章 Iptables与Firewalld防火墙_第4页
第4页 / 共24页
第7章 Iptables与Firewalld防火墙_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第7章 Iptables与Firewalld防火墙》由会员分享,可在线阅读,更多相关《第7章 Iptables与Firewalld防火墙(24页珍藏版)》请在金锄头文库上搜索。

1、第 7 章 Iptables 与 Firewalld 防火墙。章节简述:章节简述:红帽 RHEL7 系统已经用 firewalld 服务替代了 iptables 服务,新的防火墙管理命令 firewall-cmd 与图形化工具 firewall-config。本章节基于数十个防火墙需求,使用规则策略完整演示对数据包的过滤、SNAT/SDAT 技术、端口转发以及复杂均衡等实验。不光光学习 iptables 命令与 firewalld 服务,还新增了 Tcp_wrappers 防火墙服务小节,简单配置即可保证系统与服务的安全。本章目录结构本章目录结构 收起7.1 了解防火墙管理工具7.2 Ipta

2、bles 命令 o7.2.1 规则链与策略o7.2.2 基本的命令参数o7.2.3 SNAT 与 DNATo7.2.4 端口转发与流量均衡7.3 Firewalld 防火墙 o7.3.1 区域概念与作用o7.3.2 字符管理工具o7.3.3 图形管理工具7.4 服务的访问控制列表7.1 了解防火墙管理工具了解防火墙管理工具防火墙虽有软件或硬件之分但主要功能还是依据策略对外部请求进行过滤依据策略对外部请求进行过滤,成为公网与内网之间的保护屏障,防火墙会监控每一个数据包并判断是否有相应的匹配策略规则,直到满足其中一条策略规则为止,而防火墙规则策略可以是基于来源地址、请求动作或协议来定制的,最终仅让

3、合法的用户请求流入到内网中,最终仅让合法的用户请求流入到内网中,其余的均被丢弃其余的均被丢弃。在红帽 RHEL7 系统中 firewalld 服务服务取代了 iptables 服务服务,但依然可以使用 iptables 命令命令来管理内核的netfilter。这对于接触 Linux 系统比较早或学习过红帽 RHEL6 系统的读者来讲,突然接触 firewalld 服务会比较抵触,可能会觉得新增 Firewalld 服务是一次不小的改变,其实这样讲也是有道理的。但其实但其实Iptables 服务服务与与 Firewalld 服务服务都不是真正的防火墙,它们都只是用来定义防火墙规则功能的都不是真正

4、的防火墙,它们都只是用来定义防火墙规则功能的“防火墙管防火墙管理工具理工具”,将定义好的规则交由内核中的 netfilter 即网络过滤器来读取,从而真正实现防火墙功能,所以其实在配置规则的思路上是完全一致完全一致的,而我会在本章中将 iptables 命令与 firewalld 服务的使用方法都教授给你们,坦白讲日常工作无论用那种都是可行的。7.2 Iptables 命令命令iptables 命令用于创建数据过滤与 NAT 规则,主流的 Linux 系统都会默认启用 iptables 命令,但其参数较多且规则策略相对比较复杂。7.2.1 规则链与策略规则链与策略在 iptables 命令中设

5、置数据过滤或处理数据包的策略叫做规则规则,将多个规则合成一个链链。举例来说举例来说:小区门卫有两条的规则,将这两个规则可以合成一个规则链:遇到外来车辆需要登记。 严禁快递小哥进入社区。但是光有策略还不能保证社区的安全,我们需要告诉门卫(iptables)这个策略(规则链)是作用于哪里的,并赋予安保人员可能的操作有这些,如:“允许”,“登记”,“拒绝”,“不理他”,对应到 iptables 命令中则常见的控制类型有:ACCEPT:允许通过. LOG:记录日志信息,然后传给下一条规则继续匹配. REJECT:拒绝通过,必要时会给出提示. DROP:直接丢弃,不给出任何回应.其中 REJECT 和

6、DROP 的操作都是将数据包拒绝,但 REJECT 会再回复一条“您的信息我已收到,但被扔掉了”。通过通过 ping 命令测试命令测试 REJECT 情况会是这样的:情况会是这样的:rootlocalhost # ping -c 4 192.168.10.10PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.From 192.168.10.10 icmp_seq=1 Destination Port UnreachableFrom 192.168.10.10 icmp_seq=2 Destination Port Unreachab

7、leFrom 192.168.10.10 icmp_seq=3 Destination Port UnreachableFrom 192.168.10.10 icmp_seq=4 Destination Port Unreachable- 192.168.10.10 ping statistics -4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3002ms但如果是但如果是 DROP 则不予响应:则不予响应:rootlocalhost # ping -c 4 192.168.10.10PING 192.

8、168.10.10 (192.168.10.10) 56(84) bytes of data.- 192.168.10.10 ping statistics -4 packets transmitted, 0 received, 100% packet loss, time 3000ms而规则链则依据处理数据包的位置不同而进行分类:PREROUTING:在进行路由选择前处理数据包 INPUT:处理入站的数据包 OUTPUT:处理出站的数据包 FORWARD:处理转发的数据包 POSTROUTING:在进行路由选择后处理数据包Iptables 中的规则表规则表是用于容纳规则链规则链,规则表默认是

9、允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则。raw 表表:确定是否对该数据包进行状态跟踪mangle 表表:为数据包设置标记nat 表表:修改数据包中的源、目标 IP 地址或端口filter 表表:确定是否放行该数据包(过滤)规则表的先后顺序规则表的先后顺序:rawmanglenatfilter规则链的先后顺序规则链的先后顺序:入站顺序入站顺序:PREROUTINGINPUT出站顺序出站顺序:OUTPUTPOSTROUTING转发顺序转发顺序:PREROUTINGFORWARDPOSTROUTING还有三点注意事项:还有三点注意事项

10、:1.没有指定规则表则默认指 filter 表。2.不指定规则链则指表内所有的规则链。3.在规则链中匹配规则时会依次检查,匹配即停止(LOG 规则例外规则例外),若没匹配项则按链 的默认状态处理。7.2.2 基本的命令参数基本的命令参数iptables 命令用于管理防火墙的规则策略,格式为:命令用于管理防火墙的规则策略,格式为:“iptables -t 表名表名 选项选项 链名链名 条件条件 -j 控制类型控制类型”。表格为读者总结了几乎所有常用的 iptables 参数,如果记不住也没关系,用时来查就行,看完后来学习下如何组合并使用吧:参数作用-P设置默认策略:iptables -P INP

11、UT (DROP|ACCEPT)-F清空规则链-L查看规则链-A在规则链的末尾加入新规则-I num在规则链的头部加入新规则-D num删除某一条规则-s匹配来源地址 IP/MASK,加叹号“!“表示除这个 IP 外。-d匹配目标地址-i 网卡名称匹配从这块网卡流入的数据-o 网卡名称匹配从这块网卡流出的数据-p匹配协议,如 tcp,udp,icmp-dport num匹配目标端口号-sport num匹配来源端口号查看已有的规则:查看已有的规则:rootlinuxprobe # iptables -L清空已有的规则:清空已有的规则:rootlinuxprobe # iptables -F将将

12、 INPUT 链的默认策略设置为拒绝:链的默认策略设置为拒绝:当 INPUT 链默认规则设置为拒绝时,我们需要写入允许的规则策略。这个动作的目地是当接收到数据包时,按顺序匹配所有的允许规则策略,当全部规则都不匹配时,拒绝这个数据包。rootlinuxprobe # iptables -P INPUT DROP允许所有的允许所有的 ping 操作:操作:rootlinuxprobe # iptables -I INPUT -p icmp -j ACCEPT在在 INPUT 链的末尾加入一条规则,允许所有未被其他规则匹配上的数据包:链的末尾加入一条规则,允许所有未被其他规则匹配上的数据包:因为默认

13、规则表就是 filter,所以其中的”-t filter“一般省略不写,效果是一样的。rootlinuxprobe # iptables -t filter -A INPUT -j ACCEPT删除上面的那条规则:删除上面的那条规则:rootlinuxprobe # iptables -D INPUT 2既然读者已经掌握了 iptables 命令的基本参数,那么来尝试解决模拟训练吧:模拟训练模拟训练 A:仅允许来自于 192.168.10.0/24 域的用户连接本机的 ssh 服务。Iptables 防火墙会按照顺序匹配规则,请一定要保证“允许允许”规则是在“拒绝拒绝”规则的上面。rootli

14、nuxprobe # iptables -I INPUT -s 192.168.10.0/24 -p tcp -dport 22 -j ACCEPTrootlinuxprobe # iptables -I INPUT -p tcp -dport 22 -j REJECT模拟训练模拟训练 B:不允许任何用户访问本机的 12345 端口。rootlinuxprobe # iptables -I INPUT -p tcp -dport 12345 -j REJECTrootlinuxprobe # iptables -I INPUT -p udp -dport 12345 -j REJECT模拟实验

15、模拟实验 C(答案模式答案模式):拒绝其他用户从”eno16777736“网卡访问本机 http 服务的数据包。答案:答案:rootlinuxprobe # iptables -I INPUT -i eno16777736 -p tcp -dport 80 -j REJECT模拟训练模拟训练 D:禁止用户访问 www.my133t.org。rootlinuxprobe # iptables -I FORWARD -d www.my133t.org -j DROP模拟训练模拟训练 E:禁止 IP 地址是 192.168.10.10 的用户上网rootlinuxprobe # iptables -

16、I FORWARD -s 192.168.10.10 -j DROPiptables 命令执行后的规则策略仅当前生效,若想重启后依然保存规则需执行”service iptables save“。7.2.3 SNAT 与与 DNATSNAT 即源地址转换技术,能够让多个内网用户通过一个外网地址上网,解决了 IP 资源匮乏的问题,确实很实用。例如读者们来访问Linux 就该这么学的网页,则就是通过家中的网关设备(您的无线路由器)进行的SNAT 转换。(多用户局域网共享上网的拓扑)(多用户局域网共享上网的拓扑)(因未使用(因未使用 SNAT 技术,所以在网站服务器应答后找不到技术,所以在网站服务器应答后找不到 192.168.10.10 这台主机,无法正常浏览网页)这台主机,无法正常浏览网页)(因使用了因使用了 SNAT 地址转换技术,服务器应答后先由网关服务器接收,再分发给内网的用户主机。地址转

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号