iptables防火墙SNAT与DNAT

第二章 iptables防火墙SNAT与DNAT

文章目录

  • 第二章 iptables防火墙SNAT与DNAT
    • 1 SNAT
      • 1.1 SNAT原理与应用
      • 1.2 SNAT工作原理
      • 1.3 SNAT转换前提条件
      • 2 SNAT示例
      • 2.1 网关[服务器配置](https://so.csdn.net/so/search?q=服务器配置&spm=1001.2101.3001.7020)
        • 2.1.1 网关服务器配置网卡
        • 2.1.2 开启SNAT命令
      • 2.2 内网服务器端配置
      • 2.3 外网服务器端配置
      • 2.4 网卡服务器端添加规则
      • 2.5 SNAT 测试
    • 3 DNAT
      • 3.1 网卡服务器端添加规则
      • 3.2 DNAT 测试
    • MASQUERADE的含义

1 SNAT

1.1 SNAT原理与应用

NAT 应用环境:局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) SNAT原理:源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢

1.2 SNAT工作原理

数据包从内网发送到公网时,SNAT会把数据包的源IP由私网IP转换成公网IP

当响应的数据包从公网发送到内网时,会把数据包的目的IP由公网IP转换为私网IP

1.3 SNAT转换前提条件

1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址

2.Linux网关开启IP路由转发

linxu系统本身是没有转发功能只有路由发送数据

2 SNAT示例

在这里插入图片描述

2.1 网关服务器配置

2.1.1 网关服务器配置网卡

*添加一个网卡并设置为仅主机模式*

在这里插入图片描述

*新加网卡为ens36*

在这里插入图片描述

*配置ens36网卡*

在这里插入图片描述

*重启网卡服务并进行联通测试*

在这里插入图片描述

2.1.2 开启SNAT命令
vim /etc/ sysctl. conf
net. ipv4.ip_ forward=1   #将此行写入配置文件sysctl -p			      #读取修改后的配置

在这里插入图片描述

在这里插入图片描述

2.2 内网服务器端配置

*网卡配置*

在这里插入图片描述

*重启网卡服务并进行联通测试*

在这里插入图片描述

启动httpd服务

在这里插入图片描述

*编写httpd html*

在这里插入图片描述

2.3 外网服务器端配置

*网络连接改为仅主机*

在这里插入图片描述

*临时修改ip地址*

在这里插入图片描述

在这里插入图片描述

2.4 网卡服务器端添加规则

*先清除所有规则*

在这里插入图片描述

*在nat表中添加SNAT规则*

在这里插入图片描述

2.5 SNAT 测试

*内网ping外网端*

在这里插入图片描述

在这里插入图片描述

*查看访问日志*

在这里插入图片描述

3 DNAT

DNAT原理与应用: DNAT应用环境:在Internet中发布位于局域网内的服务器 DNAT原理:目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。 DNAT转换前提条件: 1.局域网的服务器能够访问Internet 2.网关的外网地址有正确的DNS解析记录 3. Linux网关开启IP路由转发

在这里插入图片描述

继上面SNAT的操作后…

3.1 网卡服务器端添加规则

*先清除所有规则*

在这里插入图片描述

*在nat表中添加DNAT规则*

在这里插入图片描述

3.2 DNAT 测试

在这里插入图片描述

*查看访问日志*

在这里插入图片描述

MASQUERADE的含义

MASQUERADE,地址伪装,算是snat中的一种特例,可以实现自动化的snat。

在iptables中有着和SNAT相近的效果,但也有一些区别。

SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址,但是,对于SNAT,不管是几个地址,必须明确的指定要SNAT的ip,举例如下:

1、如下命令表示把所有20.5.0.0网段的数据包snat成192.168.111.3的ip然后发出去:

iptables -t nat -A POSTROUTING -s 20.5.0.0/255.255.255.0 -o eth0 -j snat --to-source 192.168.111.3

2、如下命令表示把所有20.5.0.0网段的数据包snat成192.168.111.3/192.168.111.4/192.168.111.5等几个ip然后发出去

iptables -t nat -A POSTROUTING -s 20.5.0.0/255.255.255.0 -o eth0 -j snat --to-source 192.168.111.3-192.168.111.5

但是,假如当前系统用的是动态拨号方式,这个时候如果按照现在的方式来配置iptables就会出现问题了,因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的,每次地址变化后都必须手工修改一次iptables,把规则里边的固定ip改成新的ip,这样是非常麻烦的。MASQUERADE主要解决的就是这种问题,因为它可以自动获取当前ip地址来做NAT。

iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE

固定ip改成新的ip,这样是非常麻烦的。MASQUERADE主要解决的就是这种问题,因为它可以自动获取当前ip地址来做NAT。

iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE

这样的话不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做snat出去,实现了动态snat地址转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/33902.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【推荐100个unity插件之36】Unity6使用DOTS基础篇——Entities(非常适合做一些弹幕射击游戏)

文章目录 前言DOTS 核心组成DOTS 解决传统问题的痛点1、优化内存布局:2、减少垃圾回收和内存管理开销:3、提高并行计算能力:4、高效的系统和组件设计:5、易于扩展和优化: 安装文档在编辑器下构建 ECS World查看Entity的…

AI一键生成原创圣诞印花图案

一、引言 随着科技的飞速发展,AI 已经深入到我们生活和工作的各个角落,为创意设计领域带来了前所未有的变革。在圣诞即将来临之际,想要设计独特的圣诞印花图案却又担心缺乏灵感或专业技能?别担心,千鹿 AI 为我们提供了…

第一部分 —— 密文类型

文章目录 1. Abstract1.1 Some Conceptions 2. TFHE Ciphertexts3. GLWE3.1 Trivial GLWE ciphertexts3.2 LWE 和 RLWE3.3 Public key encryption 4. GLev4.1 Lev and RLev 5. GGSW5.1 GSW and RGSW 1. Abstract TFHE 指的是 全同态加密策略。意思是,允许对密文进行…

进制转换详解

进制转换的基本概念 进制转换是将一个数从一种基数(进制)转换为另一种基数的过程。例如,将十进制数转换为二进制、八进制或十六进制。 转换过程 以十进制数转换为其他进制为例,转换的基本步骤如下: • 除以目标进制…

构建数字影像生态群,致力推动数字经济发展

在当今数字化浪潮汹涌澎湃的时代,数字经济逐渐成为全球经济增长新的核心驱动力。国际数字影像产业园作为数字影像领域的创新高地,正以其独特的优势和不懈的努力,为推动数字经济的蓬勃发展贡献着卓越力量。 国际数字影像产业园凭借其优越的地理…

性能测试工具1:perf

1.介绍 perf是linxu下的一款性能分析工具。Linux的性能计数器是一个新的基于内核的子系统,它为所有性能分析提供了一个框架。它包括硬件级别(CPU/PMU、性能监控单元)功能和软件(软件计数器、跟踪点)功能。 通过perf,应用程序可以利用PMU…

学籍照片电子版手机拍照采集且批量自动命名的方法

学籍照片作为学生档案的重要组成部分,其电子版的采集和管理显得尤为重要,目前主要通过“全国学籍信息管理系统”进行管理。传统的拍照和命名方式不仅耗时耗力,而且容易出现错误。为了提高效率和准确性,下面介绍如何由教师自己使用…

在wsl2中安装archlinux

在之前的博客中,我介绍了如何在虚拟机或者真实机上安装archlinux并且进行一定的配置,但是实际上Linux不管怎么配置在日常使用中都没有Windows简单便利,在开发有关Linux的程序时过去用虚拟机或者直接在Windows上使用ssh在远程服务器上进行开发…

蓝桥杯真题1259奇怪的捐赠(python版)

解题思路:将100万转换为7进制数,数位之和就是分成的份数 num 100_0000 sum 0 while num > 0:remainder num % 7num num // 7sum remainder print(sum)代码来自题目题解 num对7进行取余,取值范围理应是[0,1,2,3,4,5,6] 但是对于题目给定的捐赠金额实际上并不…

学习日志020---qt信号与槽

作业 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QPushButton,QLineEditfrom Form import Ui_Form from second import Ui_second from PySide6.QtCore import Qtclass MyWidget(QWidget,Ui_Form):def __init__(self):super().__init__()self.setupUi(se…

python学习笔记15 python中的类

上一篇我们介绍了python中的库 ,学习了一些常见的内置库。详细内容可点击–>python学习笔记14 python中的库,常见的内置库(random、hashlib、json、时间、os) 这一篇我们来看一下python中的类 创建一个类 class 类的名称():de…

Redis面试专题-持久化

前言 开始Redis面试知识的复习和资料的收集(收集和参考了网上的优质文章),本篇文章会不断更新,本系列文章主要分为两部分,一部分是该专题所涉及的相关基础知识,另一部分是面试题与思考题,大部分…

Altium Designer基础知识2:交互式差分布线

Altium Designer基础知识2:交互式差分布线 一、本文内容与前置知识点1. 本文内容2. 所用软件 二、差分式布线介绍1. 介绍2. 使用场景 三、布线流程1. 创建差分式布线对2. 布线 一、本文内容与前置知识点 1. 本文内容 Altium Designer的基础知识,差分布…

注意力机制的输入

注意力机制的输入 flyfish 注意力机制用于确定序列中每个组成部分相对于其他部分的相对重要性。 绘图源码 import matplotlib.pyplot as plt from matplotlib.patches import FancyArrowPatchplt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] Fa…

Anaconda创建虚拟环境+CUDA、cuDNN一同安装

文章目录 前言一、CUDA的作用二、下载CUDA的步骤2.1 查看电脑NVIDIA适合的CUDA版本( 两种方法)1)打开NVIDIA控制面板,目前我的CUDA版本是12.12)使用命令行查看,使用命令:nvidia-smi。 2.2 根据p…

数学建模之熵权法

熵权法 概述 **熵权法(Entropy Weight Method,EWM)**是一种客观赋权的方法,原理:指标的变异程度越小,所包含的信息量也越小,其对应的权值应该越低(例如,如果对于所有样本而言,某项指标的值都相…

Python学习第十六天--迭代器和生成器

一、可迭代对象 六大标准数据类型:字符串,列表,元组,字典,集合,数值类型 可迭代对象:字符串,列表,元组,字典,集合。即:通过for...in…

【JavaScript】选项卡切换

选项卡切换 选项卡切换是一种常见的网页设计模式,用于在一个页面内显示和切换不同内容区域,而无需加载页面。用户可以通过点击选项卡切换显示不同的内容,而隐藏其他内容。 多选项显示:页面顶部、侧边或其他地方通常有多个选项卡…

【Spring】Spring 整合 MyBatis

在实际项目开发中,将 Spring 和 MyBatis 进行整合可以提高开发效率、简化配置、增强事务管理和可维护性,同时利用 Spring 的强大功能能提升系统的稳定性。这里从独立使用 MyBatis 开始,逐步实现与 Spring 框架的整合。 MyBatis 独立开发 现…

JavaWeb学习(1)(同步或异步请求、依赖jQuery简单实现Ajax技术)

目录 一、Web的基本流程与页面局部刷新。 (1)web开发时基本流程。 (2)页面的"全局刷新"与"局部刷新"。 二、Ajax技术。 (1)基本介绍。 (2)基本特点。 1、与服务…