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链
说明#
- 这里是关于iptables的详细说明https://wangchujiang.com/linux-command/c/iptables.html
- 参考了这篇报告,但里面也有些许错误https://wenku.baidu.com/view/f493fa40ddccda38376bafd4.html
- ubuntu下载https://cn.ubuntu.com/download
- winsshd的安装参考https://www.linuxidc.com/Linux/2017-07/145984.htm
- ubuntu开启ssh服务https://www.cnblogs.com/jiarenanhao/p/9938280.html
- 在进行ssh连接时出现了错误nomatching host host key type found. Their offer:ssh-dss,按照这个方法解决https://www.cnblogs.com/VkeLixt/p/9978997.html
环境配置#
网络拓扑如下#
实验中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#
验证#
2ping外网
外网ping2
2号连接ssh
2号进行其它连接失败
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性