专栏首页Linux、云计算技术交流第十四章 Firewall防火墙(一)

第十四章 Firewall防火墙(一)

第十四章 Firewall防火墙

14.1 Firewall防火墙简介

Firewall防火墙是在RHEL7.0开始加入到系统中的,是系统安装后默认使用的防火墙工具。它是基于iptables工作的,可以说firewall就是iptables的一个外壳。我们操作firewall时,实质上是由firewall生成了iptables命令,给iptables执行。

由于在局域网通信时,路由器都是使用的企业级路由,几乎不会使用主机做路由器开启iptables保护内网,所以,iptables的nat代理功能较为少用,服务器上启用防火墙更多的是为了保护自己,即审核访问自己或自己发出去的数据包。Firewall防火墙最主要的功能就是针对本机做保护的。

14.1 Firewall原理

Firewall采用区域式管理机制,共有九大区域,通信时以网卡所在的区域为生效区域,审核规则。

Firewall的九大区域功能如下:

public ---公共区域,默认有效区域,可设定规则

trusted ---信任区域,允许任何通信

drop ---丢弃区域,拒绝任何通信

external ---nat区域,防火墙作为nat代理服务器使用

dmz ---非军事区域,该区域内的主机,服务端口自动映射,即DNAT

work ---工作区域

home ---家庭区域

internal ---内部区域

block ---类似于drop,拒绝所有外部通信。

其中,前五个区域是最常用的区域,work、home、internal可视为针对不同环境制定的不同规则,比如,我们拿着笔记本电脑,到单位上可以启用work区域生效;拿回家后可以启用home生效。pulic区域为默认区域,即安装完linux系统后,firewall默认使用public作为生效区域,所有网卡都工作在public区域内。

这里,再次强调一下:若没有特殊设定,网卡所在的区域为生效区域,经过该网卡的所有数据包都要审核区域内的规则。

14.2 Firewall配置

本章我们仍使用上一章的实验拓扑图。左边外网卡是ens33,内网卡是ens34。

14.2.1 默认区域配置

首先,来查一下当前firewall的默认区域是哪一个:

firewall-cmd --get-default-zone ---查看当前的默认生效区域

那么默认区域中的规则有哪些呢?查看命令如下:

firewall-cmd --list-all ---查看默认区域的规则

图中可见到,默认区域是public,它有两块网卡:ens33、ens34。下面显示的是本区域中的规则,表示允许客户访问的本机服务、端口等设置,可见基本都是空的。

要查看所有九大区域中的规则,可使用如下命令:

firewall-cmd --list-all-zones ---查看所有区域的规则

我们现在在Linux上部署一个web网站,使用客户机访问,可发现是无法访问的,因为访问的网卡在public区域中,而public区域允许访问的services中并没有http服务,但是使用客户端连接服务器的ssh服务是可以的,这是因为services中有ssh服务,即允许客户访问本机的ssh。

若要更改firewall默认生效的区域,可以使用下面命令:

firewall-cmd --set-default-zone=trusted ---更改默认区域为信任区域

firewall-cmd --get-default-zone

firewall-cmd --list-all

再次查看可见默认区域已更改,并且两块网卡也都转到trusted中了。

这时我们再次从客户机访问服务器的web网站,可发现已经通了。说明trusted区域允许所有通信。

14.2.2 网卡所在区域配置

我们先把默认区域恢复到public中:

firewall-cmd --set-default-zone=public

然后我们来配置一下网卡的所在区域:

firewall-cmd --change-interface=ens33 --zone=trusted

firewall-cmd --list-all --zone=trusted ---指定仅查看trusted区域

这样,可见到我们把网卡ens33转入到trusted区域了。然后可以在主机A上访问http://202.0.0.2,即Linux上的web服务,会发现访问成功,因为主机A访问时通信的是ens33网卡,走trusted区域。但是在主机B上访问http://192.168.10.1会发现打不开页面,因为通信的是ens34网卡,走的是public区域。

firewall-cmd --remove-interface=ens33 --zone=trusted

注:从区域中删除网卡,网卡将被放空,不属于任何区域

firewall-cmd --list-all-zones

查看所有区域,会找不到ens33。

firewall-cmd --add-interface=ens33 --zone=public

注:把网卡加入区域。

两个命令的区别是:change可以更改任何网卡(在或不在某个区域都可以);add只能把放空网卡加入到区域。

好了,为了后面的实验。我们先把网卡转回public:

firewall-cmd --change-interface=ens33 --zone=public

本文分享自微信公众号 - 教主小筑(gh_e0879483602d),作者:教主小筑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第一章 网络参数配置

    我们知道,一台计算机如果要上网,必定要连接网线或wifi,所以计算机内是有与网线、WiFi对应的连接设备的,这就是网卡。而且除了连接网线或WiFi外,网卡上还需...

    晓天
  • 第九章 打包备份

    与windows下的winrar工具类似,Linux中也有文件打包压缩的命令,我们先来看一下windows的打包命令:tar。

    晓天
  • 第十四章 Firewall防火墙(二)

    现在,我们的两块网卡都是在public区域中。下面我们来给public区域配置规则,让其允许某些服务被访问。

    晓天
  • kaspersky:2018金融业网络威胁报告

    1,2017年,钓鱼页面超过1/4尝试攻击金融行业。金融行业占网络钓鱼的份额从47.5%增加到54%。

    安智客
  • linux网络相关,firewalld和netfilter,netfilter5表5链介绍,itptables语法

    叶瑾
  • ArangoDB安装

    ArangoDB的安装还是挺简单的,官方给了各个平台的安装包,下面是在CentOS8上面安装的步骤。

    kongxx
  • 社交短视频游戏的品效合一设定

    ? 腾讯ISUX isux.tencent.com 社交用户体验设计 ? ? 项目背景 为什么要做短视频游戏? 2018年好友微视DAU冲破3000万大关,...

    腾讯ISUX
  • 社交短视频游戏的品效合一设定

    ? 腾讯ISUX isux.tencent.com 社交用户体验设计 ? ? 项目背景 为什么要做短视频游戏? 好友微视定位主要基于UGC內容的社交分享,而...

    腾讯ISUX
  • Golang学习笔记之结构体(struct)

    •通俗来说是⼀个与成员类型同名 (不含包名) 的字段。 •被匿名嵌⼊的可以是任何类型,包括指针。 •不能同时嵌⼊某⼀类型和其指针类型,因为它们名字相同。 •匿名...

    李海彬
  • Android样式的开发:Property Animation篇

    前篇文章说过,Android框架还提供了两种动画体系,前一篇已经总结了视图动画(View Animation)的用法,本篇则接着总结另一种动画体系——属性动画(...

    Keegan小钢

扫码关注云+社区

领取腾讯云代金券