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

Linux系统防火墙iptables(下)

备份与还原iptables规则设置

1、yum -y install iptables iptables-services

安装iptables软件包
2、systemctl start iptables.service

开启服务
3、systemctl enable iptables.service

开机自启

我们对iptables命令行中的设置,都是临时设置,只要遇到服务器关机,或者服务重启时,
所有的设置都会清空且还原为原本的设置。
为此,我们可以对已经测试完毕符合我们需求的防火墙设置进行备份,在必要时,可以一键还原

备份iptables设置
格式:iptables-save >/指定的文件 
 iptables-save >/opt/iptables.bak

一键导入,设置为当前防火墙设置 
iptables-restore </opt/iptables.bak 
 


自定义链使用

自定义链:iptables -N +链名

改链名:iptables -E +原来的链名

创建自定义链的规则:iptables -I 自定义链名 -p tcp -j ACCEPT

删除自定义链规则:iptables -D 自定义链名 1

删除自定义链:iptables -X 自定义链名


SNAT和DNAT

snat和dnat:

snat:源地址转换

从内网到外网 内网的ip转换成可以访问外网的ip

内网的多个主机可以使用一个有效的公网ip地址访问外部网络

dnat:目的地址转换

外部用户可以通过一个公网地址访问服务内部的私网服务。

私网的ip和公网的ip做一个映射。

SNAT实验环境准备
三台服务器:PC1客户端、PC2网关、PC3服务端

硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡

网络模式要求:PC1为NAT模式、PC2中作为PC1网关的网卡为NAT模式、作为PC3网关的网卡为仅主机模式、PC3为仅主机模式。

首先关闭三台机器的防火墙和selinux

配置PC3服务端,安装httpd服务修改网卡ip为12.0.0.100/24--网关为12.0.0.254,重启网卡。
PC3执行:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
文本添加内容:
IPADDR=12.0.0.100
NETMASK=255.255.255.0
GATEWAY=12.0.0.254

配置PC1客户端,修改网卡ip为192.168.233.10/24---网关192.168.233.254,重启网卡

PC1执行:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
文本添加内容:
IPADDR=192.168.233.10
NETMASK=255.255.255.0
GATEWAY=192.168.233.254

配置PC2网关服务器,先给虚拟机添加一个网卡,然后配置ens33和ens36网卡的ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

vim /etc/sysctl.conf

内核参数的配置文件,内核优化都在这个文件里面

net.ipv4.ip_forward=1

打开路由器的转发功能

sysctl -p

可以使内核参数的配置立刻生效

iptables -t nat -A POSTROUTING -s 192.168.124.0/24 -o ens36 -j SNAT --to 10.0.0.10

-t nat 指定表为nat表

-A POSTROUTING A添加

-s 指定源ip

-o 指定输出网络设备

-j 控制类型 SNAT

--to 指定整个网段 192.168.124.0/24 从ens36出去时,做源地址转换,转换成10.0.0.10

dnat:

iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT --to 192.168.124.10:80

-d 11.0.0.11 指定作为目的地址转换的ip地址

-i 从指定的设备进入本机

-p 指定协议

-dport 指定端口

-j DNAT 使用目的地址转换

--to 192.168.124.10

外网想要访问内网的192.168.124.10:80的这个web服务。只需要访问11.0.0.11就可以访问内网的web服务。


面试题:在linux当中如何抓包?

tcpdump就是Linux自带的抓包工具。(最小化安装是不带的,需要额外安装)

静态和动态

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net192.168.124.0/24 -w /opt/target.cap

tcp 指定抓包的协议 dup icmp 都可以 第一个参数,可以不指定协议

-i 只抓经过指定设备的包

-t 不显示时间戳

-s0 抓完整的数据包

-c 10 抓几个数据包 10

dst port 指定抓包的目的端口

src net 192.168.124.0/24 指定抓包的ip地址

net 网段

host 主机 +(ip地址)

src host 192.168.124.10

-w 保存指定路径

如果要用wireshark对数据包进行分析,tcpdump在抓包时,要使用-s0,抓取完整格式,否则wireshark无法识别。


防火墙的概念
 
防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、
外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 

硬件防火墙:通过硬件和软件的组合,基于硬件的防火墙保护整个内部网络安全。
软件防火墙:通过纯软件,单独使用软件系统来完成防火墙功能,保护安装它的系统。
 
另外:因为iptables是开源的,就安全系数来讲软件防火墙只能用于辅助硬件防火墙,无法做到真正的安全效果。
此外软件防火墙也是需要占用硬件资源运行 

防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,
其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,
保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。

firewalld centos7自带的,也是默认的,7以前默认是iptables

龙息

麒麟

欧拉 firewalld

ubanut ufw 也有iptables

他和iptables一样,也是包过滤防火墙

ip  端口  协议

firewalld是按照区域来进行划分:

public:公共区域,默认配置了ssh以及DHCPv6预定服务是放通的,其他全部都是拒绝。默认区域

trusted :信任区域,允许所有的数据包放通

block:限制区域,拒绝所有。

drop:丢弃区域,丢弃所有数据包。

dmz:非军事区域,默认就只允许ssh通过

home:家庭区域,默认只允许ssh通过

internal:内部区域,和home一摸一样

external:外部区域,也是默认允许ssh通过,其他的全部拒绝

work:工作区域,默认放通ssh

firewalld-cmd 命令行工具

firewalld-cmd --get-default-zone 查看当前系统的默认区域

firewalld-cmd --set-default-zone=其他任何区域 切换区域

firewalld-cmd --list-service 查看区域内允许访问的服务

dhcpv6-client 获取ipv6的地址

interfaces ens33

firewalld-cmd --add-service=http --zone=public

添加服务

firewalld-cmd --add-service={ftp,http} --zone=public --permanent

永久添加多个服务

firewalld-cmd --remove-service=http --zone=public

删除服务

firewalld-cmd --zone=public --add-port=80/tcp

添加端口

firewalld-cmd --add-source=192.168.124.10 --zone=block

相关文章:

Linux系统防火墙iptables(下)

备份与还原iptables规则设置 1、yum -y install iptables iptables-services 安装iptables软件包 2、systemctl start iptables.service 开启服务 3、systemctl enable iptables.service 开机自启 我们对iptables命令行中的设置&#xff0c;都是临时设置&#xff0c;只要遇到服…...

你需要精益管理咨询公司的N+1个理由

近年来&#xff0c;精益管理作为一种被全球众多知名企业验证过的成功管理模式&#xff0c;越来越受到企业的青睐。但是&#xff0c;为何在实施精益管理的过程中&#xff0c;众多企业纷纷选择请咨询公司来协助呢&#xff1f;今天&#xff0c;我们就来一起揭秘这背后的原因。 1. …...

[机器学习]-3 万字话清从传统神经网络到深度学习

神经网络&#xff08;Neural Networks, NNs&#xff09;是机器学习的一种重要方法&#xff0c;灵感来源于生物神经系统&#xff0c;由大量互联的节点&#xff08;称为神经元或单元&#xff09;组成&#xff0c;通过调整这些节点间的连接权重来学习和表示复杂的非线性关系。传统…...

网络安全等级保护2.0(等保2.0)全面解析

一、等保2.0的定义和背景 网络安全等级保护2.0&#xff08;简称“等保2.0”&#xff09;是我国网络安全领域的基本制度、基本策略、基本方法。它是在《中华人民共和国网络安全法》指导下&#xff0c;对我国网络安全等级保护制度进行的重大升级。等保2.0的发布与实施&#xff0c…...

用Lobe Chat部署本地化, 搭建AI聊天机器人

Lobe Chat可以关联多个模型&#xff0c;可以调用外部OpenAI, gemini,通义千问等, 也可以关联内部本地大模型Ollama, 可以当作聊天对话框消息框来集成使用 安装方法参考&#xff1a; https://github.com/lobehub/lobe-chat https://lobehub.com/zh/docs/self-hosting/platform/…...

基于ARM的通用的Qt移植思路

文章目录 实验环境介绍一、确认Qt版本二、确认交叉编译工具链三、配置Qt3.1、修改qmake.conf3.2、创建autoConfig.sh配置文件 四、编译安装Qt五、移植Qt安装目录六、配置Qt creator6.1、配置qmake6.2、配置GCC编译器6.3、配置G编译器6.4、配置编译器套件6.5、创建应用 七、总结…...

IT专业入门,高考假期预习指南

七月来临&#xff0c;各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束&#xff0c;而是新旅程的开始。对于有志于踏入IT领域的高考少年们&#xff0c;这个假期是开启探索IT世界的绝佳时机。 一、基础课程预习指南 IT专业是一个广泛的领域&#xff0c;涵盖了从软件开…...

芯片详解——AD7606C

芯片详解——AD7606C AD7607C 是一款由 Analog Devices(模拟器件公司)生产的 6 通道同步采样模数转换器(ADC),适用于高速数据采集系统。 工作原理 AD7607C 的工作原理主要包括以下几个步骤: 模拟信号输入:AD7607C 有六个模拟输入通道,可以同时进行采样。这些模拟信号…...

IDEA 编译单个Java文件

文章目录 一、class文件的生成位置二、编译单个文件编译项目报错Error:java: 无效的源发行版: 8 一、class文件的生成位置 file->project structure->Modules 二、编译单个文件 选中文件&#xff0c;点击recompile 编译项目报错 Error:java: 无效的源发行版: 8 Fi…...

人工智能业务分析

人工智能业务分析的组成图 #mermaid-svg-SKV0WrbMSANzQz4U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SKV0WrbMSANzQz4U .error-icon{fill:#552222;}#mermaid-svg-SKV0WrbMSANzQz4U .error-text{fill:#552222;s…...

随机文本生成器

目录 开头程序程序的流程图程序打印的效果(不必细看&#xff0c;因为字符太多)例1例2例3 结尾 开头 大家好&#xff0c;我叫这是我58。看&#xff01;这下面有一个程序。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <random> #includ…...

java中输入输出流的继承关系

在 Java 中,输入输出流的继承关系主要围绕两个抽象基类展开:字节流基类 InputStream 和 OutputStream,以及字符流基类 Reader 和 Writer。这些类形成了 Java I/O 系统的基础,提供了丰富的子类以适应不同的输入输出需求。 字节流 字节流用于处理原始的二进制数据。 Input…...

c++应用网络编程之一基本介绍

一、网络编程介绍 c编程的应用场景在前面分析过&#xff0c;一个重要的方向就是网络编程。一般来说&#xff0c;开发者说的服务端编程在c方向上简单的可以认为是网络编程。首先需要说明的&#xff0c;本系列不对网络编程的相关基础知识展开详细的说明&#xff0c;因为这种知识…...

Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述 web开发指的就是网页向后再让发送请求,与后端程序进行交互 web后端(javaEE)程序需要运行在服务器中 这样前端才可以对其进行进行访问 什么是服务器? 解释1: 服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件&#xff0c;让…...

Java 位运算详解

位运算是一种直接在二进制位上进行操作的方式。位运算符包括按位与 (&)、按位或 (|)、按位异或 (^)、按位非 (~)、左移 (<<)、右移 (>>) 和无符号右移 (>>>)。这些操作符用于操作整型数据类型&#xff0c;如 int 和 long。 一、按位与 (&) 按位…...

智能体实战:开发一个集成国内AI平台的GPTs,自媒体高效智能助手

文章目录 一&#xff0c;什么是GPTs二&#xff0c;开发GPTs1&#xff0c;目标2&#xff0c;开发2.1 打开 GPTS&#xff1a;https://chat.openai.com/gpts2.2 点击 Create 创建一个自己的智能体 2.3 配置GPTs2.4 配置外挂工具2.4.1 配置Authentication-授权2.4.1.1 生成语聚AI的…...

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗&#xff0c;今天给大家带来的是完美世界的单机版合集&#xff0c;一共22个版本。本人亲自测试了一个版本&#xff0c;运行视频如下&#xff1a; 完美世界|单机版合集 先看所有的版本的文件&#xff0c;文件比较大&#xff0c;准备好空间&#xff0c;差…...

Jenkins的一些记录

设置环境变量 在 Jenkins 流水线中&#xff0c;取决于使用的是声明式还是脚本式流水线&#xff0c;设置环境变量的方法不同。 声明式流水线支持 environment 指令&#xff0c;而脚本式流水线的使用者必须使用 withEnv 步骤。 pipeline {agent anyenvironment { CC clang}stag…...

讲讲js中的prototype和__proto__

在Javascript中&#xff0c;prototype和__proto__是两个重要的概念&#xff0c;在对象的原型链中扮演重要的角色。 prototype prototype是js函数的内置属性&#xff0c;每个函数都有一个prototype属性&#xff0c;它是一个指针&#xff0c;指向一个对象&#xff08;原型对象&a…...

JavaScript的学习之DOM的查询(一)

一、获得元素 通过document对象调用&#xff1a; getElementById()&#xff1a;通过id属性获取一个元素节点对象getElementsByTagName()&#xff1a;通过标签名获取一组元素节点对象getElementsByName()&#xff1a;通过name属性来获取一组元素节点对象 核心学习代码 <scrip…...

3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统

3步实战指南&#xff1a;轻松搭建抖音直播间弹幕数据抓取系统 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2024最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 想象一下&#xff0c;你…...

移动端ECharts实战:如何隐藏原生滚动条实现内容区域左右滑动(附完整代码)

移动端ECharts进阶&#xff1a;原生滚动条隐藏与手势滑动优化全解析 在移动端数据可视化项目中&#xff0c;ECharts的默认滚动条交互常常成为用户体验的"阿喀琉斯之踵"。当用户手指在狭小的滚动条上艰难拖动时&#xff0c;那种顿挫感和操作失败率会让精心设计的数据图…...

C++的std--ranges中的优化异构

C的std::ranges中的优化异构&#xff1a;现代编程的效率革命 C20引入的std::ranges库彻底改变了算法和容器的交互方式&#xff0c;其中优化异构&#xff08;Heterogeneous Optimization&#xff09;技术尤为引人注目。传统算法在处理不同类型的数据时&#xff0c;往往需要显式…...

Phi-4-Reasoning-Vision行业落地:工业质检图像逻辑推理与缺陷归因分析

Phi-4-Reasoning-Vision行业落地&#xff1a;工业质检图像逻辑推理与缺陷归因分析 1. 工业质检的智能化升级需求 在现代制造业中&#xff0c;产品质量检测一直是保证产品一致性和可靠性的关键环节。传统工业质检主要依赖人工目检或简单的图像识别算法&#xff0c;存在效率低、…...

Qwen3-Reranker-0.6B效果展示:中英术语对照表构建中的跨语言排序

Qwen3-Reranker-0.6B效果展示&#xff1a;中英术语对照表构建中的跨语言排序 1. 跨语言术语排序的技术挑战 在全球化信息时代&#xff0c;构建准确的中英术语对照表已成为跨语言交流、技术文档翻译和国际合作的重要基础。传统方法往往面临几个核心痛点&#xff1a; 语义鸿沟…...

实用教程!用fft npainting lama镜像批量处理图片水印

实用教程&#xff01;用fft npainting lama镜像批量处理图片水印 1. 引言 1.1 为什么需要批量水印处理 在日常工作中&#xff0c;我们经常遇到需要处理大量带有水印图片的情况。无论是电商平台的商品图、社交媒体上的素材&#xff0c;还是企业内部文档&#xff0c;水印的存在…...

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(conda+Pycharm版)

Python环境变量冲突避坑指南&#xff1a;解决Fatal Python error: init_sys_streams错误&#xff08;condaPycharm版&#xff09; 当你在PyCharm中运行一个conda虚拟环境下的Python项目时&#xff0c;突然弹出一条令人窒息的错误信息&#xff1a;Fatal Python error: init_sys_…...

2025夏季技术实习「抢位战」:3步解锁2500+优质机会(附避坑指南)[特殊字符]

2025夏季技术实习「抢位战」&#xff1a;3步解锁2500优质机会&#xff08;附避坑指南&#xff09;&#x1f525; 【免费下载链接】Summer2026-Internships 2025年夏季技术实习机会集合&#xff01; 项目地址: https://gitcode.com/GitHub_Trending/su/Summer2026-Internships…...

OpenClaw技能开发:为Qwen3-32B定制PDF摘要插件

OpenClaw技能开发&#xff1a;为Qwen3-32B定制PDF摘要插件 1. 为什么需要PDF摘要技能 去年我接手了一个研究项目&#xff0c;需要快速消化上百份行业白皮书和学术论文。每天手动翻阅PDF的日子让我意识到&#xff1a;必须开发一个能自动提取核心观点的工具。这就是我决定为Ope…...

s2-pro部署实操:CSDN平台GPU资源监控与s2-pro服务性能关联分析

s2-pro部署实操&#xff1a;CSDN平台GPU资源监控与s2-pro服务性能关联分析 1. 专业语音合成工具s2-pro简介 s2-pro是Fish Audio开源的专业级语音合成模型镜像&#xff0c;它能够将文本转换为自然流畅的语音&#xff0c;并支持通过参考音频来复用特定音色。这个工具特别适合需…...