当前位置:   article > 正文

05.计算机网络---网络层/路由器工作原理/ARP协议/ping命令_error: nexthop has invalid gateway.

error: nexthop has invalid gateway.

本篇文章还是针对计算机网络TCP/IP五层模型中的第三层网络层,主要包括的内容有路由器工作原理,转发数据工程,路由表的组成、ARP协议,ping命令的具体使用,tracepath命令等等,在网络排查故障方面会给予你一定的提示。

目录

一.路由/路由器/路由表

二.ping命令

三.给虚拟机添加网卡,并在系统文件中添加配置

四.广播与广播域

五.ARP协议

六.tracepath命令

七.如何判断IP地址是否和别人冲突了


一.路由/路由器/路由表

路由:动词,跨越从源主机到目标主机的一个互联网络来转发数据包的过程

能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备---路由器

路由器如何知道我们的数据从哪里来到哪里去呢?

        路由器在网络层,数据会添加IP包头,里面包含了源IP地址和目的IP地址

路由器它自己如何判断哪条路径是最佳路径呢?

        路由器里面有个路由表,会选择最佳的

路由器如何知道它自己能去哪些地方呢?

        路由器里面有个路由表,如果目的IP地址不在路由表里面,那么路由器会将数据丢弃,并且告诉目的地址不可达

路由表里有:目的网段(目标网段)、接口(从路由器自己的哪个接口发送出去)、下一跳地址(对方路由器的IP)

现在是假设IP包数据在传输的过程中没有被路由器进行修改:源IP和目的IP不修改(学了NAT之后可能会修改)

路由表是在路由器的内存里的,停电会丢失,插上电会自动生成

电脑、手机里都有路由表,只要是能配IP地址的,或者要上网的设备,都有路由表(交换机也可以有路由表),有路由表的机器也都有arp缓存表(arp -a可以查看电脑的arp缓存表)

路由的类型:

        1.直连路由:路由器的接口配置的IP地址,直接相连的网段 ---》自己直接配置的网段 ---》自动产生,不需要配置

                需要满足两个条件:需要配置IP地址,同时需要激活网卡(网卡状态要是up的)

        2.非直连路由(只要是不直连的,想要过去,都需要添加静态路由或者动态路由)

                静态路由:由管理员手工配置的,是单向的,缺乏灵活性

                默认路由:当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口。默认路由是需要人添加的,属于特殊的静态路由,优先级比较低。

                        配置网关就是添加一条默认路由,末节网络中适合添加默认路由

                动态路由:路由器自己产生

静态路由是由管理员手工去配置的,不配置路由表里没有 --》适合网络规模比较小的

动态路由是路由器互相之间学习(互相告诉),需要在每个路由器上启用路由协议,配置自己能到达哪些网络 --》适合网络规模比较大,路由器比较多

常见的动态路由协议:rip、ospf、BGP

动态路由协议详解:https://blog.csdn.net/m0_59388634/article/details/122375429?spm=1001.2014.3001.5502

优先级:直连路由--》静态路由--》动态路由--》默认路由

网关:网络的关卡---》gateway

        路由器的LAN口的接口 ---》网关是一个角色,是pc成路由器相连的哪个lan口为网关,路由器自己不喊网关

添加静态路由:

Windows里:ip route 192.168.10.0(目标网段) 255.255.255.0(目标网段的子网掩码) 192.168.20.1(下一跳地址)

Linux里:ip route add 192.168.90.0/24 via 192.168.0.2 dev ens33

                                        目标网段和子网掩码 下一跳 从自己的哪个接口送出去

路由器的作用:实现跨网段的通信使用,将数据从一个网络转发到另外一个网络,根据路由表转发数据

 路由器工作过程:

        1.查看IP包的目的IP地址

        2.计算出目标网段

        3.到路由表里查看是否有到目标网段的路由

        4.如果有,就转发,如果没有,就告诉客户机不能到达

数据在传输过程中,就是一直在发arp广播包,Mac地址在一直更改,IP地址没有变

数据转发过程:

在Linux中临时添加IP地址:(重启系统就会丢失)

  1. ###临时添加IP地址命令
  2. [root@xieshan ~]# ip address add 192.168.0.33/24 dev ens33 #address可以简写为add,添加了的IP地址跟系统里的IP地址,共享一个Mac地址
  3. ####原来的IP情况:
  4. [root@xieshan ~]# ip add
  5. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  6.     link/ether 00:0c:29:7b:fb:12 brd ff:ff:ff:ff:ff:ff
  7.     inet 192.168.0.43/24 brd 192.168.0.255 scope global noprefixroute dynamic ens33
  8.        valid_lft 85526sec preferred_lft 85526sec
  9.     inet 192.168.0.130/24 brd 192.168.0.255 scope global secondary noprefixroute ens33
  10.        valid_lft forever preferred_lft forever
  11.     inet6 fe80::3ecb:fb98:7235:d96d/64 scope link noprefixroute 
  12.        valid_lft forever preferred_lft forever
  13. ####临时添加IP地址之后的IP情况:
  14. [root@xieshan ~]# ip address add 192.168.0.33/24 dev ens33
  15. [root@xieshan ~]# ip add
  16. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  17.     link/ether 00:0c:29:7b:fb:12 brd ff:ff:ff:ff:ff:ff
  18.     inet 192.168.0.43/24 brd 192.168.0.255 scope global noprefixroute dynamic ens33
  19.        valid_lft 85462sec preferred_lft 85462sec
  20.     inet 192.168.0.130/24 brd 192.168.0.255 scope global secondary noprefixroute ens33
  21.        valid_lft forever preferred_lft forever
  22.     inet 192.168.0.33/24 scope global secondary ens33
  23.        valid_lft forever preferred_lft forever
  24.     inet6 fe80::3ecb:fb98:7235:d96d/64 scope link noprefixroute 
  25.        valid_lft forever preferred_lft forever

Linux系统查看路由表

  1. [root@xieshan ~]# ip route #查看路由表
  2. default via 192.168.0.1 dev ens33 proto static metric 100 
  3. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.130 metric 100 
  4. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.43 metric 100 
  5. 192.168.66.0/24 dev ens37 proto kernel scope link src 192.168.66.254 metric 101 
  6. [root@xieshan ~]# 

Linux添加静态路由

  1. [root@xieshan ~]# ip route add 192.168.90.0/24 via 192.168.0.2 dev ens33 #添加一条静态路由
  2. [root@xieshan ~]# ip route
  3. default via 192.168.0.1 dev ens33 proto static metric 100  #metric值小的优先级高
  4. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.130 metric 100 
  5. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.43 metric 100 
  6. 192.168.66.0/24 dev ens37 proto kernel scope link src 192.168.66.254 metric 101 
  7. 192.168.90.0/24 via 192.168.0.2 dev ens33 
  8. [root@xieshan ~]# ip route del 192.168.90.0/24 #删除一条路由
  9. [root@xieshan ~]# ip route
  10. default via 192.168.0.1 dev ens33 proto static metric 100 
  11. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.130 metric 100 
  12. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.43 metric 100 
  13. 192.168.66.0/24 dev ens37 proto kernel scope link src 192.168.66.254 metric 101 
  14. ####如果把默认路由删了,就会无法上网,ping自己的网关以及baidu都会不成功
  15. [root@xieshan ~]# ip route del default  #删除默认路由
  16. [root@xieshan ~]# ping www.baidu.com
  17. connect: 网络不可达
  18. [root@xieshan ~]# ping 114.114.114.114
  19. connect: 网络不可达
  20. [root@xieshan ~]# ip route 
  21. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.130 metric 100 
  22. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.43 metric 100 
  23. 192.168.66.0/24 dev ens37 proto kernel scope link src 192.168.66.254 metric 101 
  24. [root@xieshan ~]# ip route add default via 192.168.0.1 dev ens33 #添加默认路由
  25. [root@xieshan ~]# ip route
  26. default via 192.168.0.1 dev ens33 
  27. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.130 metric 100 
  28. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.43 metric 100 
  29. 192.168.66.0/24 dev ens37 proto kernel scope link src 192.168.66.254 metric 101
  30. [root@xieshan ~]# ping www.baidu.com
  31. PING www.baidu.com (14.215.177.38) 56(84) bytes of data.
  32. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=55 time=28.5 ms
  33. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=55 time=27.9 ms

二.ping命令

ping命令:用来测试网络的连通性,测试你的电脑和别人的电脑之间的网络是否流畅

-c count 发包的数量

-i  interval 指定发送数据包之间的间隔,默认是1秒

-s size 指定发送数据的大小

-W timeout 超时的时间,也就是ping不通的时候,最多等待多久

        每个ping包有1秒时间,如果有5个ping包,就有5秒的时间

-w deadline 期限

  1. [root@xieshan ~]# ping www.baidu.com
  2. PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
  3. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=52 time=5.01 ms
  4. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=52 time=5.04 ms
  5. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=52 time=5.04 ms
  6. ^C
  7. --- www.a.shifen.com ping statistics ---
  8. 3 packets transmitted, 3 received, 0% packet loss, time 2001ms
  9. rtt min/avg/max/mdev = 5.011/5.032/5.043/0.059 ms

0% packet loss         是丢包率,丢包越少越好

avg                             是平均时间,越短越好

time                            是响应时间,是数据包往返时间加起来的

#以上三个指标可以用来作为查看网络速度和质量的参考依据

 

ping命令的执行过程:

        1.如果是域名,先进行域名解析到具体的一个IP

        2.将要ping的IP地址和自己的子网掩码进行与运算,得出相应的网段号

        3.然后到自己的电脑里的路由表里查询是否有到这个网段的路由,如果没有就走默认路由,会有下一跳地址

        4.查看本机arp缓存表里面是否有下一跳地址的mac地址,如果有就直接封装,如果没有就发arp广播获得下一跳地址的mac地址

        5.得到了mac地址后,封装好数据,走物理层(网线)送出数据

举例说明:本机IP:192.168.0.237/24,ping 192.168.90.1的过程:

        1.拿目的IP192.168.90.1和自己的子网掩码进行与运算,得到目的网段192.168.90.0

        2.查看本机的路由表,是否有到达这个网段的路由,如果没有就走默认路由,下一跳地址为192.168.0.1

        3.查看本机arp缓存表里是否有下一跳地址192.168.0.1的Mac地址,如果有就直接封装帧,如果没有,就发arp广播获得192.168.0.1的Mac地址

        4.得到了Mac地址后,封装好数据,走物理层送出数据

如果ping一台服务器ping不通,可能有哪些原因?

        1.服务器挂了

        2.对方服务器开启了防火墙

        3.运营商问题,可能是中间线路断了,或者宽带被剪了

        4.家里路由器出问题了,可能接口送了

ping不通的检查方法:

        1.分段ping,从自己的网关一路ping出去

        2.替换,换个目标服务器ping试一下

        3.先硬件后软件:先检查网络是否联通,再检查IP地址,还有dns和网关

ping命令的使用总结:

        1.ping通

        2.ping不通

                请求超时

                        1.对方开启了防火墙,不允许icmp协议包通过

                        2.中间路由器丢弃了我们的ping包

                Destination Host Unreachable

                        1.一般是ip地址没有人使用

                        2.检查自己主机的模式

                网络不可达

                        1.没有填写默认网关

                未知的名称或服务

                        1.没有填写dns服务器地址

域名解析相关文件:

  1. [root@xieshan ~]# ip route add default via 192.168.100.1 dev ens33
  2. Error:Nexthop has invalid gateway. --->下一跳地址需要使用相同网段的ip
  3. [root@xieshan ~]# cat /etc/resolv.conf  --->存放dns服务器IP地址的,真正我们进行域名查询的时候,就到这个文件里找dhs服务器地址
  4. Generated by NetworkManager
  5. nameserver 114.114.114.114
  6. nameserver 192.168.0.1
  7. nameserver 8.8.8.8
  8. ####nameserver最多可以3
  9. [root@slave-mysql ~]# cd /etc/sysconfig/network-scripts/
  10. [root@slave-mysql network-scripts]# vim ifcfg-ens33
  11. BOOTPROTO=none
  12. NAME=ens33
  13. DEVICE=ens33
  14. ONBOOT=yes
  15. IPADDR=192.168.0.27
  16. NETMASK=255.255.255.0
  17. GATEWAY=192.168.0.1
  18. DNS1=114.114.114.114
  19. [root@slave-mysql network-scripts]# ifup ens33

当我们激活新的配置的时候,NetworkManager服务会读取ifcfg-ens33 里的DNS1这个配置写到/etc/resolv.conf
ifcfg-ens33 里的DNS1决定了resolv.conf 文件里的nameserver的值,但是真正有效的是resolv.conf 文件

三.给虚拟机添加网卡,并在系统文件中添加配置

1.先给虚拟机关机,添加一块网卡,然后开机

2.ip a查看系统识别网卡的名称(一般第二块网卡都叫ens37)

  1. [root@xieshan network-scripts]# ip a
  2. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  3.     link/ether 00:0c:29:7b:fb:1c brd ff:ff:ff:ff:ff:ff
  4.     inet 192.168.66.254/24 brd 192.168.66.255 scope global noprefixroute ens37
  5.        valid_lft forever preferred_lft forever
  6.     inet6 fe80::20c:29ff:fe7b:fb1c/64 scope link 
  7.        valid_lft forever preferred_lft forever

3.修改配置文件(跟手工配置IP地址的步骤类似,但是第二块网卡不能配置默认路由,否则机器上网会出现问题)

  1. [root@xieshan ~]# cd /etc/sysconfig/network-scripts/
  2. [root@xieshan network-scripts]# cp ifcfg-ens33 ifcfg-ens37
  3. [root@xieshan network-scripts]# vim ifcfg-ens37
  4. [root@xieshan network-scripts]# cat ifcfg-ens37
  5. BOOTPROTO="none"
  6. NAME="ens37"
  7. DEVICE="ens37"
  8. ONBOOT="yes"
  9. IPADDR=192.168.66.233
  10. PREFIX=24
  11. ###GATEWAY=192.168.0.1 #不要配置网关,也就是默认路由
  12. DNS1=114.114.114.114
  13. [root@xieshan network-scripts]# systemctl restart network #配置好文件后需要重新激活网卡,centos8中激活的命令是ifup ens37
  14. [root@xieshan network-scripts]# service NetworkManager restart
  15. [root@xieshan network-scripts]# ip a
  16. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  17.     link/ether 00:0c:29:7b:fb:1c brd ff:ff:ff:ff:ff:ff
  18.     inet 192.168.66.233/24 brd 192.168.66.255 scope global noprefixroute ens37
  19.        valid_lft forever preferred_lft forever
  20.     inet6 fe80::20c:29ff:fe7b:fb1c/64 scope link 
  21.        valid_lft forever preferred_lft forever

添加多网卡的目的:可以链路聚合,可以冗余,可以连接多个网段,可以更加多的网段通信,还可以做路由器(后面做NAT实验时会用得着)

四.广播与广播域

广播:将广播地址做为目的地址的数据帧

广播域:网络中能接收到同一个广播所有节点的集合

路由器是隔离广播域的,默认情况下,路由器不会转发广播包,路由器一个接口就是一个广播域

五.ARP协议

ARP协议:Address Resolution Protocol 地址解析协议

ARP协议只能在局域网中使用(IP协议在整个互联网中使用)

在网络中充斥这很多arp广播,因为计算机之间需要通信

arp协议可以理解为侦查的功能,它的作用:将一个已知的IP地址解析成MAC地址

arp缓存表: 存放的是我们电脑或者路由器里的某个IP对应的Mac地址,它是存放在内存里的,会动态更新

arp报文:

        1.请求报文 request---》广播,在帧层面目的地址全是F,就是一个广播包

        2.响应报文 response---》单播,在帧层面目的地址跟源地址都是具体的,就是单播包

arp协议的二层封装和三层封装:

        二层(数据链路层): 源mac是自己的mac 目的mac是ff:ff:ff:ff:ff:ff

        三层(网络层):源ip是自己的ip 目的ip是对方的ip

arp协议的封装内容:---》电脑和路由器查看

        目的MAC:00:00:00:00:00:00 -->通过arp协议需要得到目的MAC地址,但是暂时不知道,所以先使用0填充

        源MAC:00:0c:29:7b:fb:12(具体的)

        目的IP:192.168.2.199

        源IP:192.168.2.43

帧的封装内容:---》交换机查看,电脑和路由器也会查看

        目的MAC:FF:FF:FF:FF:FF:FF -->表示我需要的目的MAC,广播地址

        源MAC:00:0c:29:7b:fb:12

动态arp记录和静态arp记录有什么区别?

        静态绑定:静态的arp记录优先级会更高(类似于意志会更坚定,不会受到别人的干扰)

        好处:可以防止arp病毒

arp病毒:

        让局域网里的机器找不到正确的网关对应的mac地址(欺骗,让你的arp缓存表里网关的mac地址发生变化,使用它告诉你的新的mac地址)

防范措施:

        安装防火墙,静态绑定正确的网关的mac地址

        抓包工具分析出病毒源

        静态绑定正确的网关的mac地址

IP地址不能和网关冲突,如果冲突会导致其他的电脑会得到冲突的IP的Mac地址,导致不能上网了

一个电脑不要配置两个默认网关(其实就是两条默认路由),会导致走错路,导致上不了网

0.0.0.0 0.0.0.0 代表任意IP地址,任意的子网掩码

查看arp缓存表以及删除缓存表中的记录以及静态绑定

  1. [root@xieshan network-scripts]# arp -a #查看arp缓存表
  2. ? (192.168.2.144) at 60:30:d4:7f:9c:92 [ether] on ens33
  3. ? (192.168.2.110) at 62:64:77:32:43:27 [ether] on ens33
  4. ? (192.168.2.134) at f8:a2:d6:04:5a:d6 [ether] on ens33
  5. ? (192.168.2.199) at <incomplete> on ens33
  6. gateway (192.168.2.1) at a4:1a:3a:38:8d:29 [ether] on ens33
  7. ? (192.168.2.123) at 16:2b:c3:5f:08:d7 [ether] on ens33
  8. ? (192.168.2.147) at 00:e0:4c:26:5b:68 [ether] on ens33
  9. [root@xieshan network-scripts]# arp -d 192.168.2.144 #删除arp缓存表里的一条数据,(再次ping这个IP地址会再次获得)
  10. [root@xieshan network-scripts]# arp -a
  11. ? (192.168.2.144) at 60:30:d4:7f:9c:92 [ether] on ens33
  12. ? (192.168.2.110) at 62:64:77:32:43:27 [ether] on ens33
  13. ? (192.168.2.134) at f8:a2:d6:04:5a:d6 [ether] on ens33
  14. ? (192.168.2.199) at <incomplete> on ens33
  15. gateway (192.168.2.1) at a4:1a:3a:38:8d:29 [ether] on ens33
  16. ? (192.168.2.123) at 16:2b:c3:5f:08:d7 [ether] on ens33
  17. ? (192.168.2.147) at 00:e0:4c:26:5b:68 [ether] on ens33
  18. [root@xieshan network-scripts]# arp -s 192.168.2.110 62:64:77:32:43:27 #绑定arp记录,将某个mac地址绑定到某个ip地址
  19. [root@xieshan network-scripts]# arp -a
  20. ? (192.168.2.144) at 60:30:d4:7f:9c:92 [ether] on ens33
  21. ? (192.168.2.110) at 02:64:77:32:43:27 [ether] PERM on ens33 #从动态的记录变为静态的arp记录
  22. ? (192.168.2.134) at f8:a2:d6:04:5a:d6 [ether] on ens33
  23. ? (192.168.2.199) at <incomplete> on ens33
  24. gateway (192.168.2.1) at a4:1a:3a:38:8d:29 [ether] on ens33
  25. ? (192.168.2.123) at 16:2b:c3:5f:08:d7 [ether] on ens33
  26. ? (192.168.2.147) at 00:e0:4c:26:5b:68 [ether] on ens33

 如何获得缓存表里所有正在使用的IP地址对应的Mac地址:

  1. [root@xieshan network-scripts]# arp -a|tr -d "()"|grep -v incomplete|awk '{print $2,$4}'
  2. 192.168.2.144 60:30:d4:7f:9c:92
  3. 192.168.2.110 62:64:77:32:43:27
  4. 192.168.2.134 f8:a2:d6:04:5a:d6
  5. 192.168.2.1 a4:1a:3a:38:8d:29
  6. 192.168.2.123 16:2b:c3:5f:08:d7
  7. 192.168.2.147 00:e0:4c:26:5b:68

六.tracepath命令

在Linux中,tracepath 是路由追踪命令,可以知道我们电脑到目的主机,经过哪些路由器,可以知道它们的下一跳地址

  1. [root@xieshan network-scripts]# tracepath www.baidu.com
  2.  1?: [LOCALHOST]                                         pmtu 1500
  3.  1:  gateway                                               1.436ms 
  4.  1:  gateway                                               1.309ms 
  5.  2192.168.0.1                                           1.763ms 
  6.  3192.168.0.1                                           1.740ms pmtu 1492
  7.  3175.0.148.1                                           5.745ms 
  8.  4222.247.27.113                                        5.289ms 
  9.  561.187.25.61                                          6.758ms 
  10.  6no reply
  11.  7no reply
  12.  8no reply
  13.  9121.14.14.138                                        33.536ms 
  14. 1014.215.32.106                                        18.267ms 

在Windows中,使用:E:\>tracert www.baidu.com也可以获得同样的效果

tracepath为什么能够获取到下一跳地址?

        tracepath是基于ICMP协议的(收到数据必须要回复对方),它有个TTL,转发数据给路由器。TTL从1开始,每经过一个路由器就减1,当TTL为0时,路由器就不会为它转发数据,但是会给他回一个包,回包的时候,就可以知道那个路由器的IP地址了。当TTL为0之后,下一次传输数据又会给原始TTL加1,这样数据可以比上一次多走一个路由器。tracepath默认是发30个数据包。

七.如何判断IP地址是否和别人冲突了

使用arping命令去ping别人的IP地址,如果一个ip地址对应一个Mac地址,那么这个IP地址就没有冲突,如果一个IP地址对应好几个Mac地址,就可能有冲突

  1. [root@xieshan network-scripts]# arping -I ens33 192.168.2.1 #-I 时指定接口
  2. ARPING 192.168.2.1 from 192.168.2.43 ens33
  3. Unicast reply from 192.168.2.1 [A4:1A:3A:38:8D:291.374ms
  4. Unicast reply from 192.168.2.1 [A4:1A:3A:38:8D:294.153ms
  5. Unicast reply from 192.168.2.1 [A4:1A:3A:38:8D:295.612ms
  6. Unicast reply from 192.168.2.1 [A4:1A:3A:38:8D:291.210ms
  7. Unicast reply from 192.168.2.1 [A4:1A:3A:38:8D:291.262ms

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/222064
推荐阅读
相关标签
  

闽ICP备14008679号