DNAT转换与tcpdump抓包

内容预知

 1. DNAT的介绍

 2. DNAT实验设计

 3.DNAT具体实验步骤操作

 4. DNAT与DNS分离解析相结合

 5.tcpdump抓包工具的运用

5.1进行动态抓包处理(一旦遇到有指定数据包的出现,开始运转)

5.2 用客户机访问web服务器,且停止抓包 

5.3 使用windows主机获取抓包数据拖进wireshark 

6.4 wireshark筛选数据包

 总结


 1. DNAT的介绍

 DNAT:目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。通常来说,合法地址的数量比起本地内部的地址数量来要少得多。

私网地址只能作为源地址来访问公网IP,而无法作为目标地址被其他主机访问

所以DNAT将私网中web服务器映射到公网IP,使其公网IP作为目标地址被公网中主机进行访问

 

拓展:

  • 客户机想访问服务器时,访问的是网关地址,由网关去找服务器的内网地址。
  • 如果多台服务器使用同一个网关,那么通过不同的端口号来对应不同的服务器。

 

 DNAT策略的原理:

  • 目标地址转换,Destination Network Address Translation
  • 修改数据包的目标地址

DNAT源地址转换过程:

  • 数据包从外网发送到内网时,DNAT会把数据包的目标地址由公网IP转换成私网IP。
  • 当相应的数据包从内网发送到公网时,会把数据包的源地址由私网IP转换为公网IP。

 

 2. DNAT实验设计

 

 通过DNAT将web服务器的提供的httpd服务映射到网关服务器ens36网卡,且端口为80上面

 

 3.DNAT具体实验步骤操作

 第一步:配置好网卡与环境

 

 注意:与DNAT实验时相反,这次的web服务器在内网环境,服务机在公网环境

 按照部署图设置网卡和vment即可

 

第二步:web服务器安装httpd服务,且开启httpd服务 

第三步:对网关服务器进行操作

1.设置路由转发

 

#永久启用
vim /etc/sysctl.conf
 net.ipv4.ip_forward=1 
 
sysctl -p 

 2. 设置SNAT

 

使用DNAT的前提就是要用配置好SNAT

[root@localhost network-scripts]#  iptables -t nat -A POSTROUTING -s 192.168.73.0/24 -o ens36 -j SNAT --to 12.0.0.254

 

3.设置好DNAT 

[root@localhost network-scripts]# iptables -t  nat  -A PREROUTING  -d 12.0.0.254  -p tcp --dport 80 -i ens36 -j DNAT --to 192.168.73.111:80

 

 

用客户机访问web服务器映射的IP测试:

 

 

但是这样的设置存在的最大缺点是我们通常并不会通过IP去访问,更多的时运用域名,而内网访问web服务器是用内网的私网地址,而外网访问则是映射的外网IP。所以DNAT的运用一般我们会用DNS分离解析来配合使用。使其实现内网主机通过内网域名转换为内网IP访问,外网主机也能通过域名转换为外网IP进行访问

 4. DNAT与DNS分离解析相结合

 方法:直接在上面配好SNAT和DNAT的基础上,在网关服务器配置分离解析即可

内网配置为   :www.yang.com    解析成    192.168.73.111

外网配置      : www.yang.com    解析成    12.0.0.254(web服务器映射外网IP) 

 分离解析的方法,在我前面的博客有详细记录:
 

 Linux中DNS的分离解析和自动分配_站在这别动,我去给你买橘子的博客-CSDN博客icon-default.png?t=M85Bhttps://blog.csdn.net/qq_62462797/article/details/126365851?spm=1001.2014.3001.5501

 

 

 

 外网解析测试结果:

 

 

 

 

内网主机测试结果 :

 

 

 

 

 5.tcpdump抓包工具的运用

wireshark 抓包工具只在windows中使用。

tcpdump 可以在Linux系统中使用。

 

tcpdump是Linux系统中自带抓包工具 

[root@localhost network-scripts]# rpm -q tcpdump

 

 

 

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)-s0 :抓取数据包时默认抓取长度为68字节。加上"-s 0"后可以抓到完整的数据包。

(5)-c 100 :只抓取100个数据包。

(6)dst port ! 22 :不抓取目标端口是22的数据包。

(7)src net 192.168.1.0/24 :数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机。

(8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析。

5.1进行动态抓包处理(一旦遇到有指定数据包的出现,开始运转)

 

[root@localhost opt]# tcpdump -i ens36  -s0 -w  ./ens36.cap

5.2 用客户机访问web服务器,且停止抓包 

 

 

 

 

5.3 使用windows主机获取抓包数据拖进wireshark 

获取方法:1.设置ftp,通过ftp直接get

                   2 .winscp  直接远程登录,将/opt目录下的抓包数据拖进win主机中

6.4 wireshark筛选数据包

ip.addr=指定IP 

 tcp.dport=服务端口      目的端口匹配  

tcp.sport=服务端口        源端口匹配

还可以通过  “&&” 多条件一起匹配

 

 总结

1.通过iptables实现Linux中的SNAT源地址转换,DNAT实现目的地址的转换

 2.DNAT与DNS分离解析相结合实现公网主机通过域名访问公网中映射IP,私网主机通过域名访问映射的私网IP。

3.通tcpdump更直观的分析数据包中转换流向

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值