网络防火墙配置实验

centos7+VMware+win7配置虚拟防火墙实验
文中的指令都是centos7的指令,不同版本的centos指令可能有差别,不同版本仅供参考


文章目录

  • 网络防火墙配置实验
  • 前言
  • 一、准备工作
  • 二、配置内外网主机和服务器
  • 配置包过滤防火墙规则
  • 配置防火墙nat转换功能
  • NAT转换功能实验验证
  • 总结


前言




本人小白一枚,本实验只是我个人做完随手写的记录一下,仅供参考,若有不当请另寻其他大佬博客

一、准备工作

防火墙 虚拟化 防火墙虚拟化部署_网络


首先要打开虚拟机,创建一台centos7系统,让他当作路由器

在创建的时候,点击虚拟机->设置

防火墙 虚拟化 防火墙虚拟化部署_外网_02


添加三块网卡(一块对应外网,一块对应内网,一块对应服务器)

防火墙 虚拟化 防火墙虚拟化部署_网络_03


添加成功后进入设置,点击网络,可以看到下图,三块网卡,点击网卡后面那个齿轮

防火墙 虚拟化 防火墙虚拟化部署_路由器_04


点击齿轮后进入到下图点击IPv4,设置网卡(分三次设置,ip地址可自己定义)

注意:我前边VMware设置网卡时是用的主机模式,三块网卡对应上图的三跨,设置下图ip后无法联网,如需联网,可以打开VMware设置,修改一块网卡为nat模式,然后把下图对应的一块网卡的【手动】换成【自动(DHCP)】,剩下两块网卡不需要修改,还是手动ip即可,然后如上面的图,把手动配置的网卡关掉,打开修改nat模式和改为自动获取ip地址的网卡即可上网,下载完东西,不用上网后,再改回来即可

三块网卡的IP分别是:
Ip;192.168.1.1(内网)
Ip:172.168.1.1(外网)
Ip:10.10.10.1(服务器)

防火墙 虚拟化 防火墙虚拟化部署_外网_05

ip addr

可以查看网卡信息
设置完网卡后就要开启路由转发功能了
临时开启

echo "1" > /proc/sys/net/ipv4/ip_forward

永久开启(建议,本人采用此方法)

vim /etc/sysctl.conf

执行此命令(啥?执行完不会用vim?详细学习请百度,此处执行完按i进入编辑模式,添加完后按esc,再切换大写按下Q(我也不知道为啥要大写按Q才能进入ex模式),然后切回小写,按wq按回车即可保存退出)

加入此行(如下图)

net.ipv4.ip_forward = 1

防火墙 虚拟化 防火墙虚拟化部署_linux_06

sysctl -p  执行此命令加载一下

想查看就执行下一条命令,不想就跳过

sysctl -a |grep "ip_forward"   在执行此命令查看

二、配置内外网主机和服务器

我内外网主机还有服务器都用的是win7(至于为啥用win7,我觉得win7配置简单🙈,我只是单纯的完成实验)没有win7镜像直接用centos7也行,原理都一样,内外网主机都是单纯的配个ip,服务器就多了一个服务器布置

防火墙 虚拟化 防火墙虚拟化部署_linux_07


这个我就不说了,不联网都用主机模式,当然桥接模式也可以,我是用的主机,也仅供参考。后边服务器,内外网主机,都是这个模式。

步骤:单击左下角网络-点击“打开网络和共享中心”-点击internet下的“本地连接”-点击左下角属性-双击ipv4-点手动配置ip

ip地址就是内外网主机,还有两台服务器,一共四台设备,分别设置

防火墙 虚拟化 防火墙虚拟化部署_外网_08


设置完关闭防火墙,关闭后,设备之间可以相互ping通,此处只展示一副截图,ping不同可以先试着ping最开始配置的路由器的三块网卡

防火墙 虚拟化 防火墙虚拟化部署_外网_09


ftp服务器配置附一个百度教程https://jingyan.baidu.com/article/77b8dc7f280d402074eab697.html web服务器配置附一个百度教程https://jingyan.baidu.com/article/ed2a5d1f128ff609f6be17fa.html

配置包过滤防火墙规则

用modprobe命令来启动iptables,其代码如下:

modprobe ip_tables

输入后就可以开启iptables服务了,进行规则配置。
要求内部Web服务器为内、外网提供Web服务,内部FTP服务器仅为内网提供FTP服务,由此制定安全策略如下:只允许外网主机访问Web站点,不允许访问FTP站点和内网主机:内网主机可以与Web站点及FTP站点进行任意通信。该安全策略属于默认禁止策略,防火墙规则可采用白名单的方式进行配置。
接下来,配置防火墙规则以落实安全策略。“外网主机可以访问Web站点但是不能够访问FTP站点”规则,可通过向FORWARD表中添加相应外网和Web服务器间的包过滤规则实现,具体命令如下:(centos7的指令,不同版本的centos指令可能有差别)

iptables -A FORWARD -s 10.10.10.20/32 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -d 10.10.10.20/32 -p tcp --dport 80 -j ACCEPT

内网主机可以与Web站点及FTP站点进行任意通信”规则,同样通过向FORWARD表中添加内网主机对内网服务器区的包过滤规则实现,具体命令如下:

iptables -A FORWARD -s 192.168.1.0/24 -d t 10.10.10.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPT

防火墙 虚拟化 防火墙虚拟化部署_网络_10


最后,落实默认禁止策略,所有为匹配到上述规则的数据包均被丢弃,具体命令如下:

iptables -P FORWARD DROP

启动后就可以用外网ping服务器来验证了
该处使用的url网络请求的数据。

<hr  color=#000000 size=1">


外网ping不同ftp服务器

防火墙 虚拟化 防火墙虚拟化部署_防火墙 虚拟化_12


但外网ping不同服务器但是可以访问web主页

防火墙 虚拟化 防火墙虚拟化部署_外网_13


内网可以ping通,也能访问主页外网主机利用Zenmap对Web站点进行扫描发现只有80端口开放,说明防火墙过滤规则将其他的数据包全都过滤掉了。软件自己下载,截图如下图

防火墙 虚拟化 防火墙虚拟化部署_外网_14

配置防火墙nat转换功能

为了配置防火墙NAT转换功能,首先需清除上面场景中的防火墙过滤规则,命令如下:

iptables -F

防火墙过滤规则清除后,Web 站点、FTP 站点均可以与外网主机进行通信。
防火墙NAT转换功能的目标是向外发布Web网站地址为外网地址172.16.16.1.利用防火墙进行NAT转换,以实现向外网屏蔽内网信息。
首先,将进入访问Web服务器的数据包进行目的IP地址映射,具体映射根据端口号建立映射列表,命令如下:

iptables -t nat -A PREROUTING -d  172.168.1.1 -p tcp --dport 80 -j DNAT --to-destinatie 10.10. 10.20

接着,将离开内网的数据包进行源IP地址映射,具体命令如下:

iptables -t nat -A POSTROUTING -s  10.10.10.0/24 -j SNAT --to-source  172.168.1.1

由此,完成了Web服务的防火墙NAT转换功能的配置。

防火墙 虚拟化 防火墙虚拟化部署_防火墙 虚拟化_15

NAT转换功能实验验证

当外网主机访问Web站点时,在路由器关口通过NAT映射将目的地址改为Web站点地址,从而为外网主机提供了HTTP服务。对于不同的服务,可根据其端口号的不同将其映射到不同的IP地址主机上,外网主机通过HTTP访问网关所示。在防火墙所在主机运行Wireshark,可抓取数据包进行分析以验证NAT转换的流程。防火墙对HTTP服务进行转发如图9.29所示。从该图中可见172.168.1.4 外网主机访间172.169.1.1外网接口的80端口,防火墙收到这个数据包之后将目的地址修改为

10.10.10.20转发到Web服务器,同样来自Web服务器10.10.10.20 的数据包经过防火墙

时,将源IP地址变换成为172.168.1.1 再发送给外网主机。

防火墙 虚拟化 防火墙虚拟化部署_防火墙 虚拟化_16


此处就需要路由器联网了,下载软件嘛,下载完再切换成主机模式就行,方法翻到最开始就行。

总结

以上配置纯属个人实验,有很多不足请自行百度,都可以找到方法,希望这个对大伙有帮助