利用Linux Ipables配置防火墙
一、实验目的
利用linux自带的iptables配置防火墙;完成如下配置:
- 阻止任何外部世界直接与防火墙内部网段直接通讯。
- 允许内部用户通过防火墙访问外部HTTP服务器,允许内部用户通过防火墙访问外部HTTPS服务器。
- 允许内部用户通过防火墙访问外部ftp服务器。
二、实验原理
IPTABLES相关语法与使用:
三、实验环境
三台linux RED HOT 6.5,一台作为外网,一台作为网关,一台作为内网。
外网:169.254.144.201
网管网卡1:169.254.42.101
网管网卡2:169.254.144.101
内网:169.254.42.201
四、实验步骤
1、配置网关
设置网卡为双网卡,设置具体模式
路径:虚拟机-设置-网络适配器-添加-网络适配器
这里的网络适配器共有两种,将vmnet8设置为连接外网的网卡,vmnet1设置为连接内网的网卡。
关闭VM虚拟机dhcp服务,设置子网信息
在虚拟网络编辑器中分别关闭DHCP服务
设置子网地址,子网掩码
这里的适配器子网地址需要与物理机相应网卡地址相对应,处于同一网段中。
挂载镜像
在虚拟机设置中,指定其所需的镜像文件
终端运行 mount dev/sr0 /mnt ,实现挂载镜像
查看配置文件
终端输入ifconfig查看配置信息,这里的网卡物理信息后面会用到
cd /etc/sysconfig/network-scripts/ 转到网卡配置文件下
这里目前只有一个网卡配置信息,复制生成另一个网卡配置信息
网卡配置信息重命名,这里为了和ifconifg查到的网卡名对应
修改网卡1(连接内网的)eth1配置文件内容
Vim编辑:i:进入编辑 esc:退出编辑 :wq保存并退出
输入vim ifcfg-eth1 进入vim编辑器修改ifcfg-eth1
修改网卡2(连接外网的)eth2配置文件内容
重启网络服务
输入service network restart重启网络服务,成功
设置转发功能
vim /etc/sysctl.conf 将转发由0改为1
此时网关已经可以登录互联网,若不能,再次输入iptables –F和 sentenforce 0,否,则证明上述操作有输错!
2、配置内网
设置网卡模式
①修改网卡为vmnet1
②指定并挂载镜像文件
查看并修改配置文件
①查看
②修改ifcfg-eth0为ifcfg-eth1,与网卡名一致
③修改ifcfg-eth1
Ipaddr后面修改为了169.254.42.201
重启网络服务
尝试ping网卡1
此时虚拟机也可以访问互联网,若不能则检查内网和网关的防火墙规则,或检查上述操作是否出错。
3、配置外网
设置网卡模式
查看并修改配置文件
重启网络服务
Service network restart
尝试ping通网卡2、ping通内网
此时外网也应可以访问互联网,若不能,输入iptables –F和setenforce 0 检查;
五、实验结果验证
根据策略设置防火墙规则:
阻止任何外部世界直接与防火墙内部网段直接通讯。
①未设置防火墙规则时,内网可以ping通“外网”、ping通物理机
②网关设置防火墙规则,禁止内网ping物理机(阻止物理机icmp包通过)
③这时内网可以ping通外网、ping不通物理机,证明数据包都是经过网关的,不能直接与内网通讯。
Ping物理机:
Ping外网:
允许内部用户通过防火墙访问外部HTTP服务器,允许内部用户通过。
①网关设置防火墙规则,阻止80端口通信
②这时内网上不了网
③证明内网访问外部http服务器都是通过防火墙(网关)的
防火墙访问外部HTTPS服务器。
①内网可以访问https服务器
②网关设置防火墙规则,阻止443端口通信
③此时内网无法再登录采用了HTTPs协议的网站
允许内部用户通过防火墙访问外部ftp服务器。
①网关设置防火墙规则,阻止20、21端口通信
②这时内网无法访问ftp服务器
③删除规则后,内网可正常访问