一、实验要求
1.不允许外网不经过防火墙与内网进行通信
2.允许内网用户通过防火墙访问外部HTTP、HTTPS服务器
3.允许内网用户通过防火墙访问外部FTP服务器
二、实验环境
1.使用两台Linux虚拟机和一台win10物理机。一台Linux主机作为网关(需要双网卡),另一台Linux主机作为内网,使用物理机作为外网。
2.我使用的是Red Hat6.5版本。Red Hat 7及以上版本命令与该版本相差较大。
三、实验步骤
1.配置网关
(1):设置网关为双网卡
虚拟机-->设置-->网络适配器-->添加-->网络适配器-->完成
添加后的结果如图所示
其中,连接内网的网络适配器为NAT模式,连接外网的网络适配器为VMnet8(NAT)模式
(2):查看配置文件
cd /etc/sysconfig/network-scripts/ 转到相关的配置文件目录下
mv ifcfg-eth0 ifcfg-eth1 重命名配置文件(为了和网卡名相一致)
cp ifcfg-eth1 ./ifcfg-eth2 因为设置了双网卡,现在只有一个配置文件,所以复制一份配置文件用来配置网卡2
(3):修改网卡1(连接内网的网卡)配置文件内容
配置文件内容如下:
该IP地址要与内网的IP地址在同一个网段
(4):修改网卡2(连接外的网卡)配置文件内容
注意:在改配置文件中,IP地址不能随便指定。应该先去物理机(win10)上查看VMnet8网卡的IP,使得该IP与VMnet8网卡处于同一网段(但是尽量不要使用xxx.xxx.xxx.2,因为一般的网关为这个,为了避免冲突)。
在物理机上使用ipconfig查看VMnet8的IP
可以看见,设置的IP与VMnet8的网卡处于同一个网段。
(5):重启网络服务
(6):设置转发功能
修改配置文件
配置文件内容如下
只需要将方框中的值由原来的0改为1,表明开启转发功能
(7):加载内核
这样,网关就配置好了。
2.配置内网
(1):设置内网的网络适配器为NAT模式
(2): 修改配置文件
转到相应的配置文件目录下
修改配置文件
配置文件内容如下
该内网的IP与网关的网卡1的IP应该处于同一网段,内网的网关(GATEWAY)为连接内网的网卡接口eth1的网卡的IP地址,并且设置DNS服务器。
(3):重启网络服务
3.验证
这样,简单的环境就配置好了,就可以进行验证了。可以从内网ping通外网,不能从外网ping通内网。
简单说一下,为什么外网ping不通内网,这是因为,内网的IP是一个私有IP,当从外网访问该IP时,该IP会被转发给路由器,路由器发现这是一个私有IP,因此就会将该数据包丢弃。因此,从外网ping不通内网。
四、根据需要设置防火墙策略
首先,由于使用了网关进行了数据包的转发,所以应该在内网上设置防火墙策略。
1.不允许外网不经过防火墙与内网进行通信
思路:首先,在内网上同时访问两个网站IP,开始都可以ping通,然后在网关上设置防火墙策略,禁止其中一个IP,发现立马不能ping通,说明所有进出内网的数据包都经过防火墙。
(1):开始可ping通,增加了防火墙之后就ping不通了
(2):由于没有增加防火墙策略,所以一直可以ping通
2.允许内网用户通过防火墙访问外部HTTP、HTTPS服务器
思路:开始不设置任何规则,内网可以访问外网,增加防火墙策略,限制80和443端口,此时,浏览器无法访问。注意,最后使用浏览器去访问,不要ping外网,因为ping使用的是ICMP数据包。
HTTP协议
(1):没有添加防火墙策略前,可以访问外网(使用80端口访问,西邮使用的是HTTP协议)
(2):添加了防火墙策略后,无法访问外网
(3):防火墙策略如下(注意,因为是在网关上进行转发的。所以必须禁掉FORWARD链中的80端口,内网才不能通过HTTP协议访问外网)
HTTPS协议
(1):没有添加防火墙策略前,可以访问外网(使用443端口访问,百度使用的是HTTPS协议)
(2):添加了防火墙策略后,无法访问外网
(3):防火墙策略如下(注意,因为是在网关上进行转发的。所以必须禁掉FORWARD链中的80端口,内网才不能通过HTTPS协议访问外网)
3. 允许内网用户通过防火墙访问外部FTP服务器
分享一个可以使用的FTP服务器网站:ftp://ftp.scene.org/music/groups/
(1):未添加防火墙策略前,可以访问FTP服务器
(2):配置了防火墙策略后,不可以访问FTP服务器
(3):防火墙策略如下
特别注意:因为这次实验拓扑图的关系,由于是使用网关进行转发,并且防火墙部署在网关上,所以一定要禁掉FORWARD链,禁掉其他链可能达不到预期效果。