防火墙实验
防火墙
ping(网络测试工具,测试主机之间的可达性)原理: 发送一些小的网络数据包(ICMP数据包)到目标主机,并等待目标主机返回一个响应(通常是回显应答 Echo Reply)。
ssh(一种安全的远程访问协议)原理: 连接到远程主机时,SSH客户端和服务器之间会进行密钥交换以建立一个安全的通道,SSH使用公钥加密和私钥解密来确保通信的保密性和完整性
一、包过滤防火墙规则配置实验
实验目标:
内部网络(IP:192.168.110.0/24)可以PING外部设备(192.168.100.0/24),但是外部设备不能PING内部设备。
使用iptables
ExterNet:192.168.100.110
Firewall:
192.168.100.1
192.168.110.1
IntraNet:192.168.110.110
Chain INPUT :如果数据包的目的地址是本机,则系统将数据包送往Input链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。
Chain FORWARD :如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往Forward链。如果通过规则检查,则该包被发给相应的本地进程处理;
如果没有通过规则检查,系统就会将这个包丢掉。
Chain OUTPUT :如果数据包是由本地系统进程产生的,则系统将其送往Output链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。
拒绝请求包或者拒绝响应包即可
拒绝请求包
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROPiptables -A FORWARD -p ICMP --icmp-type 8 -s 192.168.110.0/24 -d 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 0 -s 192.168.100.0/24 -d 192.168.110.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 8 -s 192.168.100.0/24 -d 192.168.110.0/24 -j DROPiptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP拒绝响应包
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROPiptables -A FORWARD -p ICMP --icmp-type 8 -s 192.168.110.0/24 -d 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 0 -s 192.168.100.0/24 -d 192.168.110.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 0 -s 192.168.110.0/24 -d 192.168.100.0/24 -j DROP
思考题:
若在实验步骤6中,设置默认规则,将ICMP出入报文设置为Accept放行,如何实现该功能?请设计实验,完成实验并记录。
只使用转发链,INPUT 与 OUTPUT 链不受 ping 的影响
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 8 -s 192.168.110.0/24 -d 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 0 -s 192.168.100.0/24 -d 192.168.110.0/24 -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type 8 -s 192.168.100.0/24 -d 192.168.110.0/24 -j DROP
二、防火墙NAT路由转换配置实验
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPTiptables -t nat -A POSTROUTING -s 192.168.110.0/24 -j MASQUERADE
或
iptables -t nat -A PREROUTING -p tcp -d 192.168.100.1 --dport 22 -j DNAT --to-destination 192.168.110.110:22vim /etc/ssh/ssh_config
注释掉 PermitRootLogin
重启ssh服务命令 service sshd restart内部设备访问外部设备:
ssh root@192.168.100.110
连接成功后查看ssh连接发起方IP:
who
外部设备访问内部设备:
ssh root@192.168.100.1
连接成功后查看SSH连接到的设备IP:
ip addrservice iptables save
service iptables restart
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 192.168.100.1 --dport 22 -j DNAT --to-destination 192.168.110.110:22相关文章:
防火墙实验
防火墙 ping(网络测试工具,测试主机之间的可达性)原理: 发送一些小的网络数据包(ICMP数据包)到目标主机,并等待目标主机返回一个响应(通常是回显应答 Echo Reply)。 ss…...
php中进程、线程、协程详细讲解
目录 一、什么是进程、线程、协程 1、什么是进程(Process): 2 、什么是线程(Thread): 3、什么是协程(Coroutine): 二、 进程、线程、协程的关系 1、进程与线程关系 …...
无线通信中SINR的含义
在无线通信中,SINR代表"Signal-to-Interference-plus-Noise Ratio",即信号与干扰加噪声比。这是一个重要的性能度量,用于评估和描述接收信号的质量,以及在无线通信系统中的通信性能。 SINR考虑了以下三个关键因素&…...
pnp单目相机标定测距
参考:opencv 单目相机pnp测距(Cpp)-CSDN博客...
Java反射获取内部类方法
Java反射获取内部类方法 结论一、案例准备二、测试方法:使用反射获取类的成员内部类和方法具体操作具体操作(使用getDeclaredClasses) 结论 Java 通过反射可以获得内部类,包括内部类属性信息和方法。 一、案例准备 创建了一个类…...
发挥服务器的无限潜能:创意项目、在线社区和更多
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏:…...
华为OD 绘图机器(100分)【java】A卷+B卷
华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...
文件上传接口
以下是一个简单的Java文件上传接口的示例代码: import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.Requ…...
基于矢量控制策略的异步电机调速系统设计
摘 要 由于国内人民生活水平的提高,科技不断地进步,控制不断地完善,从而促使矢量控制技术在电气传动系统领域占据主导权,也使得交流异步电机调速控制系统被广泛应用。在交流异步电机调速系统设计领域中,矢量控制成为目…...
Ubuntu下载工具ip addr、ifconfig、ping、make
Ubuntu下载工具ip addr、ifconfig、ping、make ping 在 Ubuntu 上获取网络工具包通常是通过安装相关软件包的方式来完成的。Ubuntu 默认包含一些常见的网络工具,但如果你需要安装其他工具,你可以使用 apt 命令或者 snap 命令进行安装。以下是一些常见的…...
【数据结构】常见复杂度习题详解 ------ 习题篇
文章目录 📋前言一. ⛳️前篇回顾二. ⛳️常见时间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三4️⃣实例四5️⃣实例五6️⃣实例六7️⃣实例七8️⃣实例八 三. ⛳️常见空间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三 四. ⛳️总结 📋前言 …...
一、vue介绍
一、介绍 vue式前端框架,是一套用于构建用户界面的渐进式框架 1、安装vue 安装node.js(配置环境变量) https://nodejs.org/en/download/ 更换镜像 npm config set registry https://registry.npm.taobao.org 查看镜像 npm config get regi…...
Linux ARMv8 异常向量表
http://blog.chinaunix.net/uid-69947851-id-5830546.html 本章接着《Linux内核启动》部分讲解,我们知道了在进入start_kernel之前,通过指令adr_l x8, vectors;msr vbar_el1, x8设置了异常向量表,那么异常向量表的结构是怎么样…...
C++基类和派生类的内存分配,多态的实现
目录 基类和派生类的内存分配基类和派生类的成员归属多态的实现 基类和派生类的内存分配 类包括成员变量(data member)和成员函数(member function)。 成员变量分为静态数据(static data)和非静态数据&…...
C/C++基础
C 二进制 问题:二进制怎么表示整数、小数、正数、负数,如何存储?加减乘除怎么运算(见文章《计算机加减乘除本质》)? 变量 c定义一个变量的时候,需要事先定义变量大小和变量类型。 //有符号…...
MySQL基础练习题
数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号 --3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名 --4.成绩…...
【C语言学习笔记 --- 动态内存管理】
C语言程序设计笔记---029 C语言之动态内存管理1、介绍动态内存管理2、动态内存函数的介绍2.1、malloc和free函数2.2、calloc函数2.3、realloc函数 3、动态内存管理过程中,一些常见的错误3.1、对NULL指针的解引用操作3.2、对动态内存开辟的空间的越界访问3.3、对非动…...
Nougat来了,能否成为pdf格式转换的新神器?
Nougat来了,能否成为pdf格式转换的新神器? 论文链接:https://arxiv.org/pdf/2308.13418v1.pdf 项目地址:https://github.com/facebookresearch/nougat What happened?🤨 科学知识主要存储在书籍和科学期…...
C++文件和流
到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C 中另一个标准库 fstream,它定义了三个新的数据类型&#x…...
代码随想录算法训练营第23期day31|贪心算法理论基础、455.分发饼干、376. 摆动序列、53. 最大子序和
目录 一、贪心算法理论基础 二、(leetcode 455)分发饼干 三、(leetcode 376)摆动序列 四、(leetcode 53)最大子序和 一、贪心算法理论基础 1.什么是贪心 贪心的本质是选择每一阶段的局部最优…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
