当前位置: 首页 > article >正文

iptables 防火墙 附实验:三台虚拟机模拟内网连接外网

防火墙:

firewalld 隔离功能

病毒防护:

入侵检测系统: 在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁。提供警告和事后的监督,类似于监控。

入侵防御系统: 透明工作模式,在判定为攻击行为或者是病毒威胁时,主动的隔断。

防水墙:

防止内部信息泄露的产品,网络,外设接口等等全访问的实现监控。

防火墙的隔离规则:

对进出网络或者主机的数据包基于一定的规则进行检查,匹配规则的则放行,不匹配的就会隔离在主机之外。

网络边缘或者是主机边缘。

主机防火墙

网络防火墙

linux系统主机自带防火墙:

iptables: centos7以前是系统的默认防火墙
firewalld: centos7的默认防火墙
ufw: ubuntu的防火墙,自带的,默认就没有规则。

iptables:

属于用户态防火墙,通过表匹配链→规则对数据包的方行或者拒绝进行匹配。

表是自带的

链是已有的

规则是人工配置,规则一旦配置,立即生效,不需要重启

表: 四表

raw表: 用来控制数据包的状态跟踪,决定是否跳过后续的处理流程

mangle表: 用于修改数据包的头部信息

nat表: 网络地址转换,改变数据包的源地址和目的地址,用于内网和外网之间通信

filter表:用来过滤数据包的,可以控制数据包的进出,以及接受或者拒绝数据包

表的优先级:

raw—>mangle—>nat—>filter(不指定表名时,默认就是filter)

锁:五链

INPUT:处理数据包进入本机的规则

OUTPUT:处理本机发出的或者是其他请求响应的数据包的规则,一般不做限制。

FORWARD:处理数据包转发到其他主机的规则

PREROUTING:处理数据包进入本机之前的规则(地址转换)

POSTROUTING:处理数据离开本机之后的规则(地址转换)

规则内的匹配顺序:

自上而下按照顺序依次进行检查,找到了匹配的规则即停止

链内没有规则,就会按照默认的策略进行处理

iptables 表名(默认就是filter表) 管理选项 链名 匹配的条件 控制类型

管理选项:

以下是提取的文字:

A:在指定链的末尾添加一条规则

在指定链中插入一条新的规则,根据序号来进行插入

P:指定链的默认规则(慎用,没有特殊需求不要修改)

-D:删除链里的规则,根据规则的序号进行删除

R:修改规则

-L:查看规则

-n:数字化的展示规则的字段

-v:查看详细信息

--line-number:查看规则带有编号

-F:清除链中的所有规则

-X:清空自定义链的规则

-p:匹配数据包的协议

S: 匹配数据包的源地址

d: 匹配数据包的目的地址

i: 指定数据包进入本机的网络接口

0: 数据包离开本机使用的网络接口

-sport: 指定源端口

-dport: 指定目的端口

控制类型:

ACCEPT: 允许数据包通过
DROP: 直接丢弃数据包。没有任何回显信息
REJECT: 拒绝数据包通过,但是会有一个回显信息
SNAT: 修改数据包的源地址
DNAT: 修改数据包的目的地址

linux抓包命令:

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w /opt/Target.cap

tcpdump 开头

tcp: 协议 icmp udp

-i ens33 指定设备名称 从哪个设备经过的数据包

-t 不显示时间戳

-s0: 默认抓包的长度是68字节,s0就是抓取完整的数据包

-c 10: 抓取多个数据包

and dst port 目标端口 80 和80端口相关的数据包

and src net 源ip是192.168.233.0/24这个网段的ip地址。

-w 抓包的结果保存到指定的文件当中去

.cap  tcpdump只是抓取数据包的内容,但是linux系统不能查看抓包的数据包,所以用.cap为结尾是为了给抓包工具分析

cpdump -i ens33 -s0 -w /opt/ens33.cap
iptables和
firewalld 是centos自带的,而且是firewalld是默认的
ufw是ubuntu自带的,使用的就是iptables

firewalld:
firewalld是根据区域来进行配置不同的规则,和硬件防火墙很相似

区域:

  1. trusted 信任区,所有的流量都可以进入
  2. public 公共区域,默认区,只允许系统默认的规则(ssh和icmp协议),其他的流量传入全部拒绝
  3. external 外部区域,只允许系统默认的规则(ssh和icmp协议),其他的流量传入全部拒绝,经过此区域的流量可以将ipv4的地址进行伪装
  4. home 家庭区域,只允许系统默认的规则(ssh和icmp协议),其他的流量传入全部拒绝
  5. internal 内部区域 只允许系统默认的规则(ssh和icmp协议,dhcpv6协议),其他的流量传入全部拒绝
  6. work 工作区域 只允许系统默认的规则(ssh和icmp协议,dhcpv6协议),其他的流量传入全部拒绝
  7. block 限制区 拒绝所有流量的传入
  8. drop 丢弃区域 拒绝所有流量的传入,没有回显信息
  9. DMZ 非军事区域 只允许系统默认的规则(ssh协议),其他的流量传入全部拒绝

实验:三台服务器模拟内网连接外网

test1 192.168.233.11 内网 192.168.233.254
test2 192.168.233.12 网关服务器 ens33 ens37
test3 192.168.233.13 外网 12.0.0.10 12.0.0.254

配置网络

修改如图所示,注意这里第二个网卡不一定是ens37根据自身,实际情况而定,后面因为刷新netplan apply以后xshell就登不上去了,所以修改只能在虚拟机里修改

2.sysctl.conf:linux系统的内核的接口文件,修改配置内核的参数使之永久生效

如果有没安装nginx的,apt安装一下,然后restart重启

用Ubuntu2模拟访问一下,看成不成功

访问233.11

访问233.13

修改第一台虚拟机配置文件

修改第三台虚拟机配置文件

点击工具,选择第一行,发送输入到所有会话,同时编辑

配置链接从内网到服务器

配置链接从服务器到外网 

可以看到这里已经将ip转译为12.0.0.10 


http://www.kler.cn/a/421236.html

相关文章:

  • 【工具变量】上市公司企业所在地城市等级直辖市、副省级城市、省会城市 计划单列市(2005-2022年)
  • 【后端面试总结】golang channel深入理解
  • Keil5配色方案修改为类似VSCode配色
  • JAVA |日常开发中Servlet详解
  • Linux 入门——基本指令2
  • 2.mysql 中一条更新语句的执行流程是怎样的呢?
  • 多模态遥感技术:智慧城市更新与表达的新路径
  • 容器化实践:优化DevOps环境下的容器交付流程
  • 【Leetcode】27.移除元素
  • 【大数据学习 | 面经】Spark 3.x 中的AQE(自适应查询执行)
  • Vue教程|搭建vue项目|Vue-CLI新版脚手架
  • 【HarmonyOS】鸿蒙应用使用lottie动画
  • 【SpringBoot】29 基于HttpClient的Http工具类
  • [自然语言处理] NLP-RNN及其变体-干货
  • Python 网络爬虫入门全知道
  • 分布式推理框架 xDit
  • 【threejs】实现不同动画的播放和平滑切换
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
  • <数据集>路面坑洼识别数据集<目标检测>
  • 王道操作系统目录以及学习感受和总结
  • 《向量数据库指南》——Florence:多模态应用的新基石!
  • 2024年大热,Access平替升级方案,也适合Excel用户
  • Vuex的理解及使用场景
  • 南昌榉之乡托养机构解读:自闭症与看电视并无必然联系
  • 大数据新视界 -- Hive 数据湖架构中的角色与应用(上)(25 / 30)
  • CTF之WEB(sqlmap tamper 参数)