iptables详解

大神之作

http://www.zsythink.net/archives/1199/

http://www.zsythink.net/archives/tag/iptables/

针对iptables详解(11):iptables之网络防火墙做的一些补充,主要是针对环境补充

我们一起来回顾一下之前的知识,在第一篇介绍iptables的文章中,我们就描述过防火墙的概念,我们说过,防火墙从逻辑上讲,可以分为主机防火墙与网络防火墙。

主机防火墙:针对于单个主机进行防护。

网络防火墙: 往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。

 

在前文的举例中,iptables都是作为主机防火墙的角色出现的,那么,iptables怎样作为网络防火墙呢?这就是我们今天要聊的话题。

回到刚才的概念,网络防火墙往往处于网络的入口或者边缘,那么,如果想要使用iptables充当网络防火墙,iptables所在的主机则需要处于网络入口处,示意图如下。

上图中,橘黄色主机为iptables所在主机,此时iptables充当的角色即为网络防火墙,上图中的浅蓝色圆形表示网络防火墙所防护的网络区域,圆形内的蓝色矩形表示网络内的主机。

当外部网络中的主机与网络内部主机通讯时,不管是由外部主机发往内部主机的报文,还是由内部主机发往外部主机的报文,都需要经过iptables所在的主机,由iptables所在的主机进行"过滤并转发",所以,防火墙主机的主要工作就是"过滤并转发",那么,说到这里,我们则不得不再次回顾之前的iptables报文流程图了,如下:

 

iptables详解(11):iptables之网络防火墙

上图中,橘黄色主机为iptables所在主机,此时iptables充当的角色即为网络防火墙,上图中的浅蓝色圆形表示网络防火墙所防护的网络区域,圆形内的蓝色矩形表示网络内的主机。

当外部网络中的主机与网络内部主机通讯时,不管是由外部主机发往内部主机的报文,还是由内部主机发往外部主机的报文,都需要经过iptables所在的主机,由iptables所在的主机进行"过滤并转发",所以,防火墙主机的主要工作就是"过滤并转发",那么,说到这里,我们则不得不再次回顾之前的iptables报文流程图了,如下:

iptables详解(11):iptables之网络防火墙

前文中,iptables都是作为"主机防火墙"的角色出现的,所以我们举例时,只用到了上图中的INPUT链与OUTPUT链,因为拥有"过滤功能"的链只有3条,INPUT、OUTPUT、FORWARD,当报文发往本机时,如果想要过滤,只能在INPUT链与OUTPUT链中实现,而此时,iptables的角色发生了转变,我们想要将iptables所在的主机打造成"网络防火墙",而刚才已经说过,网络防火墙的职责就是"过滤并转发",要想"过滤",只能在INPUT、OUTPUT、FORWARD三条链中实现,要想"转发",报文则只会经过FORWARD链(发往本机的报文才会经过INPUT链),所以,综上所述,iptables的角色变为"网络防火墙"时,规则只能定义在FORWARD链中。

那么为了能够进行实验,我们来设置一下实验场景,如下图所示(后面有对图的解释)

iptables详解(11):iptables之网络防火墙

我们假设,上图中圆形所示的网络为内部网络

注:此处所描述的内网、外网与我们平常所说的公网、私网不同。

此处描述的内外部网络你可以理解成两个网段,A网络与B网络,为了方便描述,我们把圆形内的主机称为内部主机,把上图中圆形所表示的网络称为内部网络,把圆形外的网络称为外部网络。

假设,内部网络的网段为10.1.0.0/16,此内部网络中存在主机C,主机C的IP地址为10.1.0.1。

上图中的主机B充当了网络防火墙的角色,主机B也属于内部网络,同时主机B也能与外部网络进行通讯,如上图所示,主机B有两块网卡,网卡1与网卡2,网卡1的IP地址为10.1.0.3,网卡2的IP地址为192.168.1.146,所以,防火墙主机在内部网络中的IP地址为10.1.0.3,防火墙主机与外部网络通讯的IP地址为192.168.1.146。

上图中的主机A充当了"外部网络主机"的角色,A主机的IP地址为192.168.1.147,我们使用主机A访问内部网络中的主机C,但是需要主机B进行转发,主机B在转发报文时会进行过滤,以实现网络防火墙的功能。

 

我已经准备了3台虚拟机,A、B、C

虚拟机A与虚拟机B的网卡2都使用了桥接模式。

为了能够尽量模拟内部网络的网络入口,我们将虚拟机B的网卡1与虚拟机C同时放在"仅主机模式"的虚拟网络中,虚拟机设置如下图所示

点击vmware编辑菜单,打开虚拟网络编辑器,点击更改设置按钮,添加一个仅主机模式的虚拟网络,下图中的vmnet6为已经添加过的虚拟网络,此处不再重复添加。

 

编辑中的虚拟网络编辑器主要作用就是添加虚拟交换机,此时加了3种类型的交换机,一个是NAT模式的,一个是仅主机,一个是桥接。NAT和桥接都可以上网,访问外网,只不过桥接会占有一个真实的IP。NAT不会,NAT有方式有自己局域网络,然后通过VMware做了转换到了真实IP上面去。仅主机就是局域网了

可以多次nat,A-B-C  

A:外网

B:中间机,2个网卡,内外网

C:局域网

C:局域网SNAT后到B,B的交换机是NAT方式不是桥接方式,B会通过VMware工具在次NAT到和A一个网络上面去

c7-01 :外网主机 10.10.1.118,一个网卡插在桥接的交换机上面

c7-02 :网络防火墙,路由器,供内网统一上网,NAT主机,交换机。2个网卡,一个插在仅主机的交换机上面(192.168.13.131),一个插在桥接的交换机上面(10.10.1.142)

c7-03:局域网192.168.13.132    一个网卡插在桥仅主机的交换机上面

c7-04:局域网192.168.13.133   一个网卡插在仅主机的交换机上面

 

操作画面c7-01,插在交接虚拟交换机上面

c7-02: 添加一个网卡,然后让2个网卡插在不同的虚拟交换机上面

c7-03/c7-04:插在仅主机虚拟交换机上面

 

然后就可以了。systemctl disable NetworkManager;systemctl stop NetworkManager;systemctl restart network

                       

 

其余就可以看大神的佳作了http://www.zsythink.net/archives/1764

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值