资讯专栏INFORMATION COLUMN

Iptables实现网络防火墙

IT那活儿 / 2448人阅读
Iptables实现网络防火墙

点击上方“IT那活儿”,关注后了解更多精彩内容!!


前  言

防火墙从逻辑上讲分为主机防火墙和网络防火墙。
主机防火墙:针对单个主机进行防护。
网络防火墙:针对于网络入口进行防护,服务于防火墙背后的本地局域网。
网络防火墙往往处于网络的入口或者边缘,那么,如果想要使用iptables充当网络防火墙,iptables所在的主机则需要处于网络入口处,如图所示:
PC1作为iptables所在主机,此时iptables充当的角色即为网络防火墙,图中的圆圈表示网络防火墙所防护的网络区域,圈里面是网络内的主机。
当外部网络中的主机与网络内部主机通讯时,不管是由外部主机发往内部主机的报文,还是由内部主机发往外部主机的报文,都需要经过iptables所在的主机,由iptables所在的主机进行“过滤并转发”,所以,防火墙主机的主要工作就是“过滤并转发”。
当iptables作为主机防火墙时,所用到的链是INPUT链与OUTPUT链,因为拥有“过滤功能”的链只有3条,INPUT、OUTPUT、FORWARD,当报文发往本机时,如果想要过滤,只能在INPUT链与OUTPUT链中实现;
但当iptables作为网络防火墙时,所做的工作是“过滤并转发”,要想“过滤”,只能在INPUT、OUTPUT、FORWARD三条链中实现,要想”转发”,报文则只会经过FORWARD链(发往本机的报文才会经过INPUT链),所以,综上所述,iptable座位网络防火墙时,规则只能定义在FORWARD链中。

准备环境

三台虚拟机
外网机:Centos7 1号机 ip 192.168.1.1
中间机:Centos7 2号机 ip 192.168.1.2                        192.168.42.128
内网机:Centos7 3号机ip 192.168.42.129

设  定

Centos7 1号机是一台外网的服务器。
Centos7 3号机是内网的一台主机。
Centos7 2号机所处的内网中的与外网相连的主机(即防火墙)。
192.168.1.0/24是外网。192.168.42.0/24是内网。
我们通过1号机去访问3号机,但要经过2号机进行转发,2号机在转发报文时会进行过滤,以实现网络防火墙的功能。

步  骤

1. 在外网机上设置路由

让在网段192.168.42.0/24的报文转给网关192.168.1.2,就是中间机的外网IP。
route -n:列出路由规则。

2. 在内网机上设置路由

让在网段192.168.1.0/24的报文转给网关192.168.42.128 ,也就是中间机的内网IP。

3. 在中间机上设置流量转发

首先查看/proc/sys/net/ipv4/ip_forward文件中的内容,如果内容为0,则表示当前主机不支持转发,只需要将文件中的值设置为1即可。
此时用外网机ping内网机,发现可以ping通。
用内网机ping外网机,也可以ping通。
这时,中间机就起到了流量转发的作用。

4. 在中间机上设置防火墙规则

让它真正起到防火墙的作用,为了减少主机防火墙带来的影响,需要把内网机和外网机的防火墙规则清空。
当iptables作为网络防火墙时,主要负责过滤于转发,所以需要在FORWARD链上设置规则,这里可以使用白名单机制。
配置了一条默认拒绝的规则后,现在外网机和内网机已经无法相互通讯了。
我们让内网机能ping通外网机,外网机不能ping通内网机。
这时内网机可以ping通外网机。
而外网机不同ping通内网机。
这样iptables就发挥了网络防火墙的功能了。



本 文 原 创 来 源:IT那活儿微信公众号(上海新炬王翦团队)


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129678.html

相关文章

  • 深入理解iptables火墙

    摘要:防火墙根据一组规则检查这些头,以确定接受哪个信息包以及拒绝哪个信息包。我们将该过程称为信息包过滤。虽然信息包过滤系统被称为单个实体,但它实际上由两个组件和组成。处理出站信息包的规则被添加到链中。 本文部分内容节选自:netfilter/iptables 简介 - IBM developerWorks 0x00 Linux 安全性和 netfilter/iptables Linux ...

    summerpxy 评论0 收藏0
  • 火墙 基础网络 UNet

    摘要:通常情况下,防火墙规则是立即生效的。在这种场景,防火墙生效最多需要两分钟。防火墙未立即生效的补救措施防火墙未立即生效的补救措施如上面所提到的场景,其端口为。 防火墙本篇目录为何防火墙已经打开某端口, 但还是连不上?为什么主机无法ping通?如何将某端口对所有IP开放?如何限制某些恶意用户对我主机的访问?内网是否有ACL功能?我的内网主机如何与其他人的主机隔离?修改防火墙以后,新规则会即时生效...

    ernest.wang 评论0 收藏1512

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<