局域网里如何访问wifi路由器下的设备?

时间:2024-11-09 13:45:01

Wifi路由器下pc和wifi路由器同网段pc互访的实现过程

首先,部分家用路由器允许从wan口直接访问lan网段的ip地址。但大部分路由器不支持,本例就是一款支持这个条件的wifi路由器。

问题:同事笔记本(使用wifi路由器连接)和交换机下面的pc实现互访,使用mstsc和飞秋内网传数据。发现,从wifi路由器下笔记本可以ping通交换机下pc,但pc无法ping通wifi路由器下pc。

组网:

分析过程:

笔记本的网络配置:

 台式机的配置:

 

Wifi路由器的配置

 

笔记本能192.168.13.75ping通台式机192.168.207.53,台式机抓包发现,如下图:

 

笔记本的ping显示:

因为,笔记本ping消息发出后,经过wifi路由器路由器,根据路由器的处理方式,先进行查询路由表,由wan口缺省路由器出去的,要进行nat转换,转换源ip为路由器wan口的ip地址,所以台式机上收到的是wan口192.168.207.44的ping请求,ttl为64-1=63。台式机对wan口ip发出ttl为128的reply消息,到达wifi路由器路由器的wan口后,按照先查nat表,再查路由表的次序,因为是自内到外的访问,所以nat表里有内外的ip对应关系的记录,转换目的ip为内网192.168.13.75,路由器的lan口有192.168.13.0的直连路由表,确定由lan口直接发出到192.168.13.75。经一级路由器,所以笔记本收到的ttl为128-1=127。

而台式机192.168.205.53ping笔记本ip192.168.13.75,因为192.168.13.75不是pc的直连路由192.168.207.0/24网段,所以走默认路由器表项0.0.0.0/0.0.0.0。

从接入交换机的上级路由器发出,没有发到wifi路由器路由器上,所以ping不通,会显示time out。

  

应该在pc上添加192.168.13.0/24的路由指向wifi路由器路由器的wan口地址192.168.207.44上,这样对于自外(路由器之外)的访问,查询nat表,没有映射关系,直接查询直连路由表项,就会由路由器lan口发出到笔记本。

结论:在pc上添加一条静态路由192.168.13.0/24指向192.168.207.44。

操作过程:

 

如上图:路由添加成功

执行ping命令,结果却不通

奇怪,抓包看笔记本是否收到包?

 

 

 

抓包和mac地址显示是从路由器的lan口发出消息,

为什么没有回包?

检查笔记本的路由表

路由正常,有获取的默认网关。看一下有没有查询路由表后,获取网关mac地址的过程?

清除掉笔记本的mac缓冲表,台式机再次ping,笔记本抓包里过滤arp过滤icmp||arp contains 0d01(查看是否有笔记本查询网关mac的消息)?

 

 

Arp缓冲表查询正常

这个过程说明,收到ping包后,笔记本查询路由表,确定了出口为自身192.168.207.75,指向192.168.13.1,因为清除了arp缓冲,所以要查询网关的mac地址。获取到mac地址后,没有发包,说明网络层是没有问题的,考虑网络层以上是否有其他限制?

检查防火墙的设置,发现防火墙开启,关闭防火墙后,可以实现外部ping通。

 

 应该是防火墙拦截icmp的request消息,导致应用层没有收到,所以没有回reply消息。

 

 

 

感悟:

  1. 排除网络问题要理清拓扑关系,分析包的转发过程。
  2. 要利用好抓包工具,判断包走到哪一步了?

知识点:

    有的路由器支持wan口收到没有nat映射关系的包时,会查询路由表,符合内网路由表的,会转发消息。但有的路由器,没有nat映射关系,就丢弃数据包。

  1. 我们公司这台wifi路由器的转发过程,由内部发起的,到达lan口后,先查路由表,确定是走缺省路由的,走wan口发出的,执行nat转换,转换源ip为wan口ip地址。外部来的访问,首先检查nat映射表里是否有对应关系,有的话,先执行nat转换,转换目的ip为nat记录中的内部ip,再查路由表,是lan口网络地址的,走lan口转发,和lan口网段不一致的,再由wan口发出。Nat表里没有的,不进行目的ip转换,查路由表,符合lan口网段的,送到lan口转发。不符合lan口网段的,由wan口再次发出。
  2. Ip包的访问过程,首先查询路由表,直连路由级别最高,最先查询,通过目的ip地址和自身掩码相与得到一个网络号,和路由表里自身网络号比较,相同就是同一网段,不同就去查询其他静态路由,同样的过程,没有找到话,使用缺省路由,由网关发出。网关一定是和自身ip在同一网段的ip地址。

确定出口后,检查mac缓冲表,没有下一跳mac地址的话,发起arp查询,得到回复后,使用这个mac地址组包,发出ip包。

   3.防火墙工作于三层之上,网络层应该是工作的,防火墙拦截会导致ping的request对应的应用层收不到。

   的contains可以用于查询16进制串和字符串。