首页 > 系统相关 >iptables学习:MASQUERADE

iptables学习:MASQUERADE

时间:2022-11-18 11:58:02浏览次数:37  
标签:iptables MASQUERADE ip 192.168 学习 地址 SNAT

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

在iptables中有着和SNAT相近的效果,但也有一些区别,但使用SNAT的时候,出口ip的地址范围可以是一个,也可以是多个,例如:

如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3的ip然后发出去,

iptables-t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source192.168.5.3

 

如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3/192.168.5.4/192.168.5.5等几个ip然后发出去

iptables-t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source192.168.5.3-192.168.5.5

 

这就是SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址,但是,对于SNAT,不管是几个地址,必须明确的指定要SNAT的ip,假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口ip192.168.5.3都会改变,而且改变的幅度很大,不一定是192.168.5.3到192.168.5.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

 

如此配置的话,不用指定SNAT的目标ip了,不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去,这样就实现了很好的动态SNAT地址转换。

标签:iptables,MASQUERADE,ip,192.168,学习,地址,SNAT
From: https://www.cnblogs.com/zhuanqian-yangmeng/p/16902732.html

相关文章

  • 学习wpf笔记3 MVVM模式——【转】C# WPF简单的MVVM模式事例
    一、前言WPF中使用MVVM模式开发有诸如以下优点:1.结构清晰明朗,上手成本低,一个新人也能快速的定位自己需要改动代码的位置。2.耦合度低,更改WPF控件不影响数据结构,更......
  • DOM简单学习以及事件简单学习
    DOM简单学习功能:控制html文档的内容代码:获取页面标签(元素)对象 Elementdocument.getElementById("id值"):通过元素的id获取元素对象操作Element对象:1.修改......
  • YOLO.V3-Darknet下的学习笔记 转载
    【目录】一、 安装Darknet(仅CPU下)21.1在CPU下安装Darknet方式21.2在GPU下安装Darknet方式4二、 YOLO.V3训练官网数据集(VOC数据集/COCO数据集)42.1下载VOC数据集/......
  • 浅谈深度学习中的概率
    摘要:本次就和大家聊一聊深度学习中的概率。本文分享自华为云社区《【MindSpore易点通】深度学习中的概率》,作者:chengxiaoli。为什么会用到概率呢?因为在深度学习中经常会......
  • 浅谈深度学习中的概率
    摘要:本次就和大家聊一聊深度学习中的概率。本文分享自华为云社区《​​【MindSpore易点通】深度学习中的概率​​》,作者:chengxiaoli。为什么会用到概率呢?因为在深度学习中......
  • 深度学习提取建筑物矢量
    1、ArcgisPro:​​http://www.sohu.com/a/332473946_650579​​​2、ENVI:​​http://blog.sina.com.cn/s/blog_764b1e9d0102zu33.html​​......
  • react学习
    一:使用npx命令创建临时下载脚手架项目成功后自动删除不占用空间不担心版本低1.运行命令:npxcreate-react-appdemo2.cd到创建的目录下cddemo3.根据package.json中的......
  • Pyomo基础学习笔记:建模组成要素的编写方法
    1、Pyomo简介pyomo文档【数学建模】优化模型建模语言Pyomo入门教程-知乎(zhihu.com)Pyomo是基于Python的开源软件包,主要功能是建立数学规划模型,包括线性规划,二......
  • JUC学习笔记——并发工具线程池
    JUC学习笔记——并发工具线程池在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的并发工具线程池我们会分为以下几部分进行介绍:线程池介绍自定义线程池模......
  • Redis学习(二)之redis中的数据类型之String类型
     1、可以用来存储html碎片或者页面。2、可以通过set、get来操作。3、value最大512M。  1、setkeynewvaluenx 如果后面加了nx,则只在key不存在时,才对key进......