SNAT和DNAT

这篇具有很好参考价值的文章主要介绍了SNAT和DNAT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SNAT原理与应用:.
SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由)
SNAT原理:源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映射
SNAT转换前提条件:
1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
2.Linux网关开启IP路由转发 
linxu想系统本身是没有转发功能 只有路由发送数据 
临时打开:
echo 1 > /proc/sys/net/ipv4/ip_forward

sysctl -w net.ipv4.ip_forward=1
永久打开:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1    #将此行写入配置文件
   
sysctl -p  #将取修改后的配置

注:还有一种方式静态路由,这个就比较麻烦

SNAT和DNAT

 把源地址根据数据包的目的地址来做源映射

局域网共享上网

SNAT和DNAT

 交换机是做硬件地址寻址

SNAT和DNAT

 

首先 SNAT 在做http请求时 会把源地址转化为公网ip 目标地址不变

http回应时 源地址不变 目标地址从公网ip到达路由网关时转化为目标客户端的地址 

这就是SNAT映射原理  类似于内网环境访问公网环境时通过路由器做源IP地址转换 把内网ip转化为公网ip来在广域网里使用   路由器的转发和端口映射的对应关系

SNAT和DNAT

 

注:还有一种方式静态路由,这个就比较麻烦

SNAT转换1:固定的公网IP地址:
#配置SNAT策略,实现snat功能,将所有192.168.100.0这个网段的ip的源ip改为10.0.0.1
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1
                                    可换成单独IP  出站 外网网卡            外网IP

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 10.0.0.1-10.0.0.10
                                        内网IP   出站 外网网卡                    外网IP或地址池
                                                
SNAT转换2:非固定的公网IP地址(共享动态IP地址):
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

小知识扩展:
一个IP地址做SNAT转换,一般可以让内网100到200 台主机实现上网。

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

SNAT和DNAT

 SNAT和DNAT

 

DNAT原理 内网内pc端访问外网服务器时  首先跨网段是不能直接通讯的  所以做http请求时通过DNAT源地址不变,目标地址先是指向网关服务器的ip地址  然后再由网关服务器进行转发 源地址还是不变 但是目标ip指向了外网服务器的地址  这是http请求的步骤   http回应的时候也是同理  首先目标地址是不变的  源地址先是外网服务器的ip地址  然后数据包到达网关服务器以后通过DNAT把源地址转换为网关服务器的ip地址 去的时候源地址不变  目标地址从网关服务器变为外网服务器  回来的时候 目标地址不变 源地址从外网服务器变为网关服务器 

出去源不变  回来目标不变

SNAT和DNAT

 

SNAT和DNAT

 


3. Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

DNAT转换1:发布内网的Web服务
#把从ens37进来的要访问web服务的数据包目的地址转换为192.168.100.13
iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.100.13
或                                入站     公网IP                                  内网服务器IP
iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.13
                              入站          公网IP             端口                           内网服务器IP
                                                                                              注:默认时80

回包
iptables -t nat -A POSTROUTING  -s 192.168.100.13 -o ens37 -j SNAT --to 10.0.0.1
                                        内网IP    出站外网网卡            外网地址


可以现场做个域名解析


入站外网网卡外网IP
内网服务器IP
iptables -t nat -A PREROUTING -i ens37 -p tcp --dport 80 -j DNAT --to 192.168.100.13-192.168.100.20
                                                                            地址段
DNAT转换2:发布时修改目标端口
#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.100.13:22
                            入站外网网卡    外网IP           外网远程端口             内网IP和远程端口号
#在外网环境中使用SSH测试
ssh -p 250 root@10.0.0.1  

yum -y install net-tools    #若没有ifconfig 命令可提前使用yum 进行安装
ifconfig ens33

iptables -nvL -t nat  查看


注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回

SNAT和DNAT

 


小知识扩展:
主机型防火墙主要使用INPUT、OUTPUT链,设置规则时一般要详细的指定到端口
网络型防火墙主要使用FORWARD链,设置规则时很少去指定到端口,一-般指定到IP地址或者到网段即可
防火墙规则的备份和还原
导出(备份)所有表的规则.
iptables-save > /opt/ipt.txt
导入(还原)规则
iptables-restore < /opt/ipt.txt


将iptables规则文件保存在/etc/sysconfig/iptables中,iptables服务启动时会自动还原规则
iptables-save > /etc/sysconfig/iptables
systemctl stop iptables      #停止iptables服务会清空掉所有表的规则
systemctl start iptables     #启动iptables服务会自动还原/etc/sysconfig/iptables中的规则

tcpdump tcp -i ens33 -t -s 0 -C 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i ens33 : 只抓经过接口ens33的包
(3)-t : 不显示时间戳
(4)-s 0: 抓取数据包时默认抓取长度为68字节。加上-s0后可以抓到完整的数据包
(5)-c 100 :只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析文章来源地址https://www.toymoban.com/news/detail-481461.html

到了这里,关于SNAT和DNAT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows下查看同局域网其它主机MAC地址命令

    事情是这样的,今天去面试的时候笔试有一道题问到:Windows下使用什么命令来获知同局域网内其他主机的MAC地址。一开始看到感觉很熟悉,但是却答不上来。原来建站这么就,很多使用都要使用ping命令来测试网站的可连接性和速度等等。 但是这样的ping命令并不可以看到一台

    2024年02月05日
    浏览(63)
  • 局域网内两台主机 IP ping 不通的问题分析

    1、问题背景 同一个局域网内的两台主机互相之间 ping 不通 IP; 或者 A 机器可以 ping 通 B 机器,但是,B 机器 ping 不通 A 机器。 2、原因分析 1)查看两台机器的IP配置的IP是否在同一网段,子网掩码、网关是否一样; 2)检查两台机器的防火墙是否开启。 PS:检查机器的防火墙

    2024年02月01日
    浏览(39)
  • [路由][问题]OpenWrt解决局域网设备无法通过域名访问主机的问题

    1. 问题描述 测试发现使用OpenWrt进行端口端口转发或者Upnp之后,本地局域网设备使用域名访问主机但是却无法访问。 2. 问题分析 此问题经过查询属于\\\"NAT环回问题\\\",但是OpenWrt在做端口转发时自动设置了NAT环回,,而且已经将WAN口入站数据和转发设置为“接受”但是无效。。

    2024年02月16日
    浏览(73)
  • 在局域网中的另一台主机如何访问WSL中的MiniKube生成的微服务

    我在WSL(Windows Subsystem for Linux)安装了Minikube中并设置好了Kubernetes环境。在Kubernetes环境中配置好微服务后,从局域网中的另一台主机无法访问WSL中的MiniKube生成的微服务,通过网络转发解决了这个问题。 设置Minikube可参考How to Install Minikube on Ubuntu 22.04 / 20.04,验证在WSL(Wind

    2024年02月12日
    浏览(55)
  • 异地局域网对接:异地组网原理与实操

    无论是在工作还是学习过程中,我们经常会有异地访问局域网的需求。所谓异地组网,就是要打通两地的局域网络环境,在任何一地的局域网络环境下,能够通过输入异地局域网地址的方式,实现类似于本地局域网访问的效果。本文将详解异地局域网对接的原理,并予以实操

    2024年02月02日
    浏览(46)
  • 局域网中电脑病毒入侵的原理及防范方法

    计算机病毒的传播方式一般是\\\"工作站-服务器-工作站\\\"这种回环模式,主要通过服务器传播。随着病毒技术的迅猛发展,局域网病毒传播的渠道也复杂起来。本文主要探讨局域网病毒入侵原理、现象及防范方法。 一、局域网病毒入侵原理及现象 一般来说,计算机网络的基本构

    2024年02月07日
    浏览(39)
  • 交换机的工作原理以及搭建局域网划分VLAN

    😘作者简介:一名99年运维岗位员工。 👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。 🙏创作不易,动动小手给个点赞加关注吧,有什么意见评论区告诉我,一起学习。 前言 准备阶段 1.安装包下载 网盘连接 小程序分享 软件汉化 交换机的工作

    2024年02月02日
    浏览(55)
  • 在无线网络环境中组建无线局域网方案解析

    在有无线网的环境下怎么组建一个无线局域网呢?现在使用无线网络也正在成为一些中、小型企业使用的一种信息交流方式之一。然而,架设一套办公室无线设备并不是像我们想象中那样,买一些设备组装起来那样简单,这里面包含了很多在组建办公室局域网之前的很多因素

    2024年02月07日
    浏览(46)
  • 65内网安全-域环境&工作组&局域网探针

    这篇分为三个部分,基本认知,信息收集,后续探针, 分为,名词,域,认知; 完整架构图 dwz称之为军事区,两个防火墙之间的区域称之为dwz,但安全性比内网较低,在dwz有邮件服务器,web服务器,我一般攻击内网是借助的web服务器。有dwz的存在大大增加了渗透内网的难度

    2024年02月03日
    浏览(56)
  • java实现局域网内视频投屏播放(三)投屏原理

    常见的投屏方案主要有以下几种: DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。DLNA委员会已经于2017年1月5日正式解散,原因是旧的标准已经无法满足新设备的发展趋势,DLNA标准将来也不会再更新。但是DLNA协议的使用依然比较广泛,短时间内不会退出历史舞台,

    2024年01月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包