Iptables实验

内容

本文源自课程实验,实验内容如下:
在进行IP-Table设置前需要搭建实验环境,实验所需的环境配置如下图所示:

其中,1号机、4号机为内网计算机,2号机为网关,3号机为外网计算机。实验环境搭建成功之后,需要完成下面的实验步骤:
Part A
1、在2号机上用NAT表的POSTROUTING链配置NAT
1)伪装(MASQUERADE)包使内网的IP地址对外网隐藏
2)1号机和4号机,只允许通过SSH连接到外网
2、此步骤的NAT配置在整个实验过程中持续有效

Part B
为来自或者到达2号机(网关)的包编写规则,到达以下目的:
1、允许来自或者到达2号机的SSH连接
2、阻断来自或者到达2号机的其他所有通信
3、提示:Part B需要INPUT和OUTPUT链,但不需要FORWARD链

Part C
1、清除Part B中filter表设置的规则
2、仅允许1号机(不允许4号机)向外网中的3号主机发起SSH通信
3、阻断其他所有通信
4、提示:Part C需要FORWARD,INPUT和OUTPUT链

说明

环境配置

网络拓扑如下


实验中m1 m2 m4都为虚拟机中装的ubuntu系统,m1,m4作为内网计算机,m2作为网关,m3为自己的本机作为外网主机

对m2的配置

M4配置同m1,只是ip不同
新增网卡

对新增的网卡进行配置

查看详细配置情况

对m1配置



查看配置情况

验证配置情况

1和2 能相互Ping通

2号能和外网相互Ping通


1号不能和外网Ping通

Part a

现在本机用winssd打开ssh服务,并建立一个虚拟账户guoguo

开启ssh服务

接下来操作需要高权限,换为root用户

清空filter表的所有链
清空nat表的所有链
修改filter表的默认规则,这里图中最后一行配置错误,之后进行了修改

修改如下

配置postrouting链,并保存

配置转发


验证

进行ssh连接


查看连接Ip不是内网ip10.0.0.2,实现了ip隐藏

Part b

修改filter表,禁止转发链,允许2号Ping和ssh

验证

2ping外网

外网ping2

2号连接ssh

2号进行其它连接失败

Part c

清空filter表的设置

只允许1号向外网ssh连接

验证

1号连接

4号连接
4号ip是10.0.0.3

不能连接

posted @ 2020-01-21 15:31  启林O_o  阅读(1264)  评论(0编辑  收藏  举报