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

SNAT和DNAT

SNAT和DNAT

一、SNAT的策略及应用:

1.SNAT:

(1)定义:又称源地址转换。源地址转换是内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。

(2)作用:就是把内网地址转成指定的IP地址,这个iP地址可以访问公网。

2.DNAT:

目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。通常来说,合法地址的数量比起本地内部的地址数量来要少得多。私网地址只能作为源地址来访问公网IP,而无法作为目标地址被其他主机访问,所以DNAT将私网中web服务器映射到公网IP,使其公网IP作为目标地址被公网中主机进行访问。

3.SNAT实验环境准备:

(1)准备:

三台服务器:PC1客户端、PC2网关、PC3服务端。

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

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

IP地址要求:
PC1为192.168.174.12/24–网关为192.168.174.12
PC2网关的ens33网卡地址为192.168.174.13–网关为192.168.174.12、ens36为12.0.0.254/24–不需要网关、
PC3为12.0.0.100/24–网关为12.0.0.254

1.[root@test1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改pc1配置
IPADDR=192.168.174.12
NETMASK=255.255.255.0
GATEWAY=192.168.174.12
#DNS1=8.8.8.8 #注释DNS域名解析
更改pc2配置:
2.[root@test2 ~]# vim /etc/sysconfig/network-script/ifcfg-ens33
IPADDR=192.168.174.13
Netmask=255.255.255.0
Gateway=192.168.174.12
#DNS1=8.8.8.8 #注释DNS解析
cp /etc/sysconfig/network-script/ifcfg-ens33  /etc/sysconfig/network-script/ifcfg-ens36
#复制ens33配置文件给ens36网卡,新增网卡不会有配置文件
ens36配置文件修改:将UUID此行删除,修改ip和网关
IPADDR=12.0.0.254
NETMASK=255.255.255.0开启PC2网关服务器的路由转发功能,重启网卡。
[root@test2 ~]# vim /etc/sysctl.conf
添加内容:
net.ipv4.ip_forward=1
[root@www network-scripts]# sysctl -p #使之生效
net.ipv4.ip_forward = 1iptables -t nat -A POSTROUTING -s 192.168.174.0/24 -o ens36 -j SNAT --to 10.0.0.10

4.DNAT实验:

在SNAT 的基础上给test1做一个http的内网映射访问。

1.[root@test1 ~]# iptables -t nat -A PREROUTING -d 12.0.0.254 -i ens36 -p tcp  --dport 80 -j DNAT --to 192.168.174.12:80
[root@test1 opt]# tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.174.0/24 -w ./target.cap
[root@test1 opt]# tcpdump -i ens33  -s0 -w  ./ens33.cap #进行动态抓包
http://www.lryc.cn/news/93237.html

相关文章:

  • 好程序员:月薪2万程序员的简历,原来长这个样子!
  • STM32之FreeRTOS
  • 有趣的图(二)(56)
  • Linux之环境变量
  • python带你制作自动点赞小程序,让我看看谁还在呆呆的手动点赞
  • shell脚本编写辅助命令
  • 高并发编程:线程池
  • 微信小程序开发uni-app-8分钟上手开发
  • 【C++11】 initializer_list | 右值引用 | 移动构造 | 完美转发
  • 基于html+css的图展示122
  • 《Unix环境高级编程》/bin/sh: ./fixup.awk: Permission denied
  • 万字长文+示例代码详解DDD中常用的架构(含代码示例)
  • Debezium UI On ECS编译安装及开放Web访问
  • 【支付系统】核心支付流程
  • 电脑系统可以直接备份到其它硬盘上吗
  • springboot项目如何优雅停机
  • springboot mybatis-plus 代码生成工具
  • 超全、超详细的Redis学习笔记总结
  • Day05 04-MySQL分库分表介绍
  • 基于SpringBoot+vue的毕业生信息招聘平台设计和实现
  • git一定要学会,加油
  • TVM面试题
  • CSS相关面试题
  • 6.11总结
  • Hazel游戏引擎(008-009)事件系统
  • 【C++】 STL(上)STL简述、STL容器
  • 【002 基础知识】什么是原子操作?
  • English Learning - L3 作业打卡 Lesson5 Day32 2023.6.5 周一
  • 深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)【上篇】
  • 腾讯安全SOC+荣获“鑫智奖”,助力金融业数智化转型