当前位置:   article > 正文

linux基本网络配置(二)详解IP命令_ip -4 a

ip -4 a

目录

序、网络设置基本需求

0.1有哪些情况需要进行网络配置?

0.2 新上线一台服务器的步骤

0.3 与查看网络相关的命令

一、查看网络接口(网卡)信息

1.1 ip a

1.2 ip -x a

1.3 ip a(ddress) show ens37

1.4 ip -4 a show ens37

1.5 ip link ls up

1.6 ip a list ens37

二、修改网络接口(网卡)信息

2.1网卡相关

2.2路由表相关

2.3 arp表相关


序、网络设置基本需求

0.1有哪些情况需要进行网络配置?

a.上线并初始化一台新服务器时

b.在服务器上部署服务时(例如配置LVS)

c.服务器上网络变动(地址修改、路由修改、故障排查)时

  • 地址修改,如当服务器使用的三个运行商提供的网卡时
  • 故障排查,如出现丢包

 

0.2 新上线一台服务器的步骤

  • 指定唯一的ip地址与主机名
  • 确保启动时正确配置网络接口(通常会保存的静态配置文件内)。
  • 创建默认路由(例如一台服务器有可能有多个网卡,所以对于不同运营商的目的地址需要通过不同的出口出去)。
  • 指定DNS域名服务器以使设备能够连接到网络其他部分(DNS的作用:域名→IP地址)。

 

0.3 与查看网络相关的命令

  • ip 查看网络接口相关信息,yum install iproute2

  • ifconfig 显示网卡信息,yum install net-tools

 

两者的对比:

linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。

 

一、查看网络接口(网卡)信息

1.1 ip a

查看所有网卡的接口信息。

在这里a不是选项是对象(OBJECT):address

  1. [root@localhost ~]# ip a
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
  3. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  4. inet 127.0.0.1/8 scope host lo
  5. valid_lft forever preferred_lft forever
  6. inet6 ::1/128 scope host
  7. valid_lft forever preferred_lft forever
  8. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  9. link/ether 00:0c:29:d2:ca:67 brd ff:ff:ff:ff:ff:ff
  10. inet 172.16.230.224/24 brd 172.16.230.255 scope global noprefixroute dynamic ens33
  11. valid_lft 82828sec preferred_lft 82828sec
  12. inet6 fe80::4e92:349a:6f19:ff18/64 scope link noprefixroute
  13. valid_lft forever preferred_lft forever
  14. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  15. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff
  16. inet 172.16.230.251/24 brd 172.16.230.255 scope global noprefixroute dynamic ens37
  17. valid_lft 82828sec preferred_lft 82828sec
  18. inet6 fe80::3eae:dcdd:5ed8:5736/64 scope link noprefixroute
  19. valid_lft forever preferred_lft forever

需要清楚的点:

1.1.1 lo是linux中的虚拟网络接口

同一台机器的不同进程进行通信时会用到。实现了同一台机器的进程之间的socket通信。虚拟网络接口不需要驱动程序。

 

1.1.2 link/ether是二层协议

mac地址:00:0c:29:d2:ca:67

广播地址:ff:ff:ff:ff:ff:ff

 

1.1.3 inet(v4)是三层协议

ip地址:172.16.230.224/24

广播地址:172.16.230.255

 

1.1.4 inet6是三层协议

ipv6地址:fe80::4e92:349a:6f19:ff18/64

 

1.2 ip -x a

只显示网络接口与ipvx相关的信息

  1. [root@Tyson Lee ~]# ip -6 a
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
  3. inet6 ::1/128 scope host
  4. valid_lft forever preferred_lft forever
  5. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
  6. inet6 fe80::4e92:349a:6f19:ff18/64 scope link noprefixroute
  7. valid_lft forever preferred_lft forever
  8. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
  9. inet6 fe80::3eae:dcdd:5ed8:5736/64 scope link noprefixroute
  10. valid_lft forever preferred_lft forever
  11. [root@localhost ~]# ip -4 a
  12. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
  13. inet 127.0.0.1/8 scope host lo
  14. valid_lft forever preferred_lft forever
  15. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  16. inet 172.16.230.224/24 brd 172.16.230.255 scope global noprefixroute dynamic ens33
  17. valid_lft 82486sec preferred_lft 82486sec
  18. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  19. inet 172.16.230.251/24 brd 172.16.230.255 scope global noprefixroute dynamic ens37
  20. valid_lft 82486sec preferred_lft 82486sec

 

1.3 ip a(ddress) show ens37

显示指定网卡的信息

  1. [root@localhost ~]# ip a show ens37
  2. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  3. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff
  4. inet 172.16.230.251/24 brd 172.16.230.255 scope global noprefixroute dynamic ens37
  5. valid_lft 82450sec preferred_lft 82450sec
  6. inet6 fe80::3eae:dcdd:5ed8:5736/64 scope link noprefixroute
  7. valid_lft forever preferred_lft forever
  8. #更整齐
  9. [root@localhost ~]# ifconfig ens37
  10. ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  11. inet 172.16.230.251 netmask 255.255.255.0 broadcast 172.16.230.255
  12. inet6 fe80::3eae:dcdd:5ed8:5736 prefixlen 64 scopeid 0x20<link>
  13. ether 00:0c:29:d2:ca:71 txqueuelen 1000 (Ethernet)
  14. RX packets 4648 bytes 454522 (443.8 KiB)
  15. RX errors 0 dropped 0 overruns 0 frame 0
  16. TX packets 15 bytes 1410 (1.3 KiB)
  17. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

1.4 ip -4 a show ens37

显示具体接口ipv4的信息

  1. [root@Tyson Lee ~]# ip -4 a show ens37
  2. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  3. inet 192.168.0.128/24 brd 192.168.0.255 scope global noprefixroute dynamic ens37
  4. valid_lft 5612sec preferred_lft 5612sec

 

1.5 ip link ls up

查看正在运行的接口的相关信息

ip link ls down(反之)

  1. [root@localhost ~]# ip link ls up
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
  3. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  4. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
  5. link/ether 00:0c:29:d2:ca:67 brd ff:ff:ff:ff:ff:ff
  6. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
  7. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff

 

1.6 ip a list ens37

与ip a show ens37效果一样

 

二、修改网络接口(网卡)信息

2.1网卡相关

2.1.1 给某个具体接口配置,也就是给网卡配ip。(需要有IP地址和对应的掩码。)

  • ip a(ddress) add 192.168.0.128/255.255.255.0 dev ens37

  • ip a(ddress) add 192.168.0.128/24 dev ens37

  • ifconfig ens37 192.168.0.128/24

  • ifconfig ens37 192.168.0.128 netmask 255.255.255.0

 

2.1.2 删除某个网络接口(网卡)

  • ip a(ddress) del 192.168.0.129/255.255.255.0 dev ens37

 

但是重复对同一个网络接口(网卡)配置ip地址时往往不会覆盖。

  1. [root@Tyson Lee ~]# ip a add 192.168.0.129/255.255.255.0 dev ens37
  2. [root@Tyson Lee ~]# ip a show ens37
  3. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  4. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff
  5. inet 192.168.0.128/24 brd 192.168.0.255 scope global noprefixroute dynamic ens37
  6. valid_lft 5323sec preferred_lft 5323sec
  7. inet 192.168.0.129/24 scope global secondary ens37
  8. valid_lft forever preferred_lft forever
  9. inet6 fe80::3eae:dcdd:5ed8:5736/64 scope link noprefixroute
  10. valid_lft forever preferred_lft forever

所以需要先删除先前配置好的IP地址。(或者选择一个删除)

  1. [root@Tyson Lee ~]# ip address del 192.168.0.129/255.255.255.0 dev ens37
  2. [root@Tyson Lee ~]# ip a show ens37
  3. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  4. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff
  5. inet 192.168.0.128/24 brd 192.168.0.255 scope global noprefixroute dynamic ens37
  6. valid_lft 5263sec preferred_lft 5263sec
  7. inet6 fe80::3eae:dcdd:5ed8:5736/64 scope link noprefixroute
  8. valid_lft forever preferred_lft forever

 

2.1.3 禁用或启用网络接口(网卡)

  • ip link set dev ens3 up

  • ip link set dev ens37 down

  • ifconfig ens37 down

  • ifconfig ens37 up

  1. [root@Tyson Lee ~]# ip link set ens37 down
  2. [root@Tyson Lee ~]# ip link ls up
  3. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
  4. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  5. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
  6. link/ether 00:0c:29:d2:ca:67 brd ff:ff:ff:ff:ff:ff
  7. [root@Tyson Lee ~]# ip link set ens37 up
  8. [root@Tyson Lee ~]# ip link ls up
  9. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
  10. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  11. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
  12. link/ether 00:0c:29:d2:ca:67 brd ff:ff:ff:ff:ff:ff
  13. 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
  14. link/ether 00:0c:29:d2:ca:71 brd ff:ff:ff:ff:ff:ff

 

2.1.4 设置网卡的传输队列

ip link set txqueuelen 10000 dev ens37

  1. [root@Tyson Lee ~]# ifconfig |grep -n "txqu"
  2. 4: ether 00:0c:29:d2:ca:67 txqueuelen 1000 (Ethernet)
  3. 13: ether 00:0c:29:d2:ca:71 txqueuelen 1000 (Ethernet)
  4. 22: loop txqueuelen 1 (Local Loopback)
  5. [root@Tyson Lee ~]# ip link set txqueuelen 10000 dev ens37
  6. [root@Tyson Lee ~]# ifconfig |grep -n "txqu"
  7. 4: ether 00:0c:29:d2:ca:67 txqueuelen 1000 (Ethernet)
  8. 13: ether 00:0c:29:d2:ca:71 txqueuelen 10000 (Ethernet)
  9. 22: loop txqueuelen 1 (Local Loopback)
  10. [root@Tyson Lee ~]# ip link set txqueuelen 1000 dev ens37

 

2.1.5 设置网卡的最大传输单元(默认是1500字节)

ip link set mtu 9000 dev ens37

修改的方式相同,不做演示

  1. [root@Tyson Lee ~]# ifconfig |grep -n "mtu"
  2. 1:ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  3. 10:ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  4. 19:lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

巨型帧:

是帧长大于1522字节的以太网帧。这是一种厂商标准的超长帧格式,专门为千兆以太网而设计。巨型帧的长度各厂商有所不同,从9000字节~64000字节不等。采用巨型帧能够令千兆以太网性能充分发挥,使数据传输效率提高50%~100%。在网络存储的应用环境中,巨型帧更具有非同寻常的意义。

 

2.2路由表相关

2.2.1 添加默认网关

ip route add 192.168.0.127 via 192.168.0.1 dev ens33

ip route add 目的网段 via 下一跳 dev 初接口

注意,这个是无法瞎设置的,生效前命令会检查网关是否可达或正确。

  1. [root@Tyson Lee ~]# ip route add 192.168.0.127 via 192.168.2.0 dev ens33
  2. RTNETLINK answers: Network is unreachable
  3. [root@Tyson Lee ~]# ip route add 192.168.0.127 via 192.168.0.0 dev ens33
  4. RTNETLINK answers: Invalid argument
  5. [root@Tyson Lee ~]# ip route add 192.168.0.127 via 192.168.0.1 dev ens33

添加了局域网的网关后我是可以ping通我的树莓派的

  1. [root@Tyson Lee ~]# ping -I ens33 myRaspberry
  2. PING myRaspberry (192.168.0.127) from 192.168.0.116 ens33: 56(84) bytes of data.
  3. 64 bytes from myRaspberry (192.168.0.127): icmp_seq=1 ttl=64 time=3.77 ms
  4. 64 bytes from myRaspberry (192.168.0.127): icmp_seq=2 ttl=64 time=3.92 ms
  5. ^C
  6. --- myRaspberry ping statistics ---
  7. 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
  8. rtt min/avg/max/mdev = 3.770/3.847/3.925/0.099 ms

通常还需要设置子网掩码

例如:

A主机拥有两个运营商的ip:(telecom)202.116.128.222/24,(unicom)100.10.10.10/24

B主机拥有两个运营商的ip:(telecom)100.116.128.222/24,(unicom)200.20.20.10/24

当机器有多个IP且ISP不一样,就需要有明细路由。

 

在A主机中:ip route add default via 100.10.10.1 ,这样设置的话A主机在访问telecom运营商的网络时仍然用了unicom的网关100.10.10.1,跨网访问就有可能出现高延迟和丢包等问题。

 

在A主机中:ip route add 100.116.128.0 via 202.116.128.1 ,这样设置的话A主机在访问telecom运营商的网络时就用了telecom的网关202.116.128.1,不需要进行跨网。

 

2.2.2 删除默认网关

ip route del 192.168.0.127 via 192.168.0.1 dev ens33

可以看到删除后该条明细路由就消失了。

  1. [root@Tyson Lee ~]# ip route del 192.168.0.127 via 192.168.0.1 dev ens33
  2. [root@Tyson Lee ~]# route -n
  3. Kernel IP routing table
  4. Destination Gateway Genmask Flags Metric Ref Use Iface
  5. 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 ens33
  6. 0.0.0.0 192.168.0.1 0.0.0.0 UG 101 0 0 ens37
  7. 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
  8. 192.168.0.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37

 

2.2.3 查看路由表

  • route -n 更友好

  • ip route show
  1. [root@Tyson Lee ~]# ip route show
  2. default via 192.168.0.1 dev ens33 proto dhcp metric 100
  3. default via 192.168.0.1 dev ens37 proto dhcp metric 101
  4. 192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.116 metric 100
  5. 192.168.0.0/24 dev ens37 proto kernel scope link src 192.168.0.128 metric 101
  6. [root@localhost ~]# route -n
  7. Kernel IP routing table
  8. Destination Gateway Genmask Flags Metric Ref Use Iface
  9. 0.0.0.0 172.16.230.1 0.0.0.0 UG 100 0 0 ens33
  10. 0.0.0.0 172.16.230.1 0.0.0.0 UG 101 0 0 ens37
  11. 172.16.230.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
  12. 172.16.230.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37

对于route -n这里各字段的说明:

Destination:目的地址

Gateway:默认网关

Genmask:目标ip对应的掩码(用于确定最精细的下一跳)

Flags:标签

Metric:开销

Use

Iface:下一跳的初接口

 

2.2.4 添加和删除具体路由

ip route add 192.168.1.0/24 dev ens33

ip route del 192.168.1.0/24 dev ens33

 

2.3 arp表相关

arp是局域网内实现ip地址到mac地址的转换。因为局域网内的端到端通信用mac地址(局域网内用二层通信)。

  1. #linux中
  2. [root@localhost ~]# ip neighbor show
  3. 172.16.230.233 dev ens33 lladdr 04:50:da:08:28:59 STALE
  4. 172.16.230.216 dev ens33 lladdr 9c:2e:a1:93:c8:c9 STALE
  5. 172.16.230.223 dev ens33 lladdr b8:81:98:65:be:81 DELAY
  6. 172.16.230.1 dev ens33 lladdr 00:12:7f:04:33:46 STALE
  7. 172.16.230.1 dev ens37 lladdr 00:12:7f:04:33:46 STALE
  8. #同一网段windows中
  9. windows中无线局域网适配器 WLAN:
  10. 连接特定的 DNS 后缀 . . . . . . . :
  11. 描述. . . . . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 3165
  12. 物理地址. . . . . . . . . . . . . : B8-81-98-65-BE-81
  13. DHCP 已启用 . . . . . . . . . . . : 是
  14. 自动配置已启用. . . . . . . . . . : 是
  15. 本地链接 IPv6 地址. . . . . . . . : fe80::1cd5:52f7:7452:3394%4(首选)
  16. IPv4 地址 . . . . . . . . . . . . : 172.16.230.223(首选)
  17. 子网掩码 . . . . . . . . . . . . : 255.255.255.0
  18. 获得租约的时间 . . . . . . . . . : 201911214:25:15
  19. 租约过期的时间 . . . . . . . . . : 201911315:17:21
  20. 默认网关. . . . . . . . . . . . . : 172.16.230.1
  21. DHCP 服务器 . . . . . . . . . . . : 172.16.230.1
  22. DHCPv6 IAID . . . . . . . . . . . : 62423448
  23. DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-1F-02-98-D9-C8-5B-76-23-D2-6C
  24. DNS 服务器 . . . . . . . . . . . : 114.114.114.114
  25. TCPIP 上的 NetBIOS . . . . . . . : 已启用

 

2.3.1 查看arp表信息

ip neighbor show

  1. [root@Tyson Lee ~]# ip neighbor show
  2. 192.168.0.127 dev ens33 lladdr b8:27:eb:c0:fa:23 STALE
  3. 192.168.0.103 dev ens33 lladdr 78:67:d7:9c:19:85 STALE
  4. 192.168.0.1 dev ens33 lladdr f4:83:cd:17:cb:49 DELAY
  5. 192.168.0.127 dev ens37 lladdr b8:27:eb:c0:fa:23 STALE
  6. 192.168.0.109 dev ens33 lladdr b8:81:98:65:be:81 DELAY

是查看arp表缓存中已有的ip地址和mac地址对应的信息。

而不是发请求广播请求获取mac地址。

 

2.3.2 看具体接口下的arp缓存条目

ip neighbor show dev ens33

 

2.3.3 看具体某个网段的arp缓存条目

ip neighbor show 192.168.0.0/24

  1. [root@Tyson Lee ~]# ip neighbor show 192.168.0.0/24
  2. 192.168.0.127 dev ens33 lladdr b8:27:eb:c0:fa:23 STALE
  3. 192.168.0.103 dev ens33 lladdr 78:67:d7:9c:19:85 STALE
  4. 192.168.0.1 dev ens33 lladdr f4:83:cd:17:cb:49 STALE
  5. 192.168.0.127 dev ens37 lladdr b8:27:eb:c0:fa:23 STALE
  6. 192.168.0.109 dev ens33 lladdr b8:81:98:65:be:81 REACHABLE

 

2.3.4 在arp缓存中写一个永久的他条目

ip neighbor add 192.168.0.0/24 lladdr 00:c0:7d:00:c8 dev ens37 nud permanent

ip neighbor add 192.168.0.0/24 lladdr mac地址 dev 对应接口 nud 是否永久

  • 需要注意的是,在写入同一目标网段对应的mac地址信息时不是覆盖式的

  • 所以需要先删除或者用ip neighbor change命令

  • 删除指的是对应的mac地址删掉,ip地址还在

 

2.3.5 添加arp代理

ip neighbor add proxy 192.168.0.1 dev ens37

http://blog.51cto.com/chenxinjie/1961255

 

2.3.6 arp刷新

若发现缓存被污染或不正确了

ip neighbor flush dev ens33

刷新前:

  1. [root@Tyson Lee ~]# ip neighbor show
  2. 192.168.0.127 dev ens33 lladdr b8:27:eb:c0:fa:23 STALE
  3. 192.168.0.103 dev ens33 lladdr 78:67:d7:9c:19:85 STALE
  4. 192.168.0.1 dev ens33 lladdr f4:83:cd:17:cb:49 DELAY
  5. 192.168.0.127 dev ens37 lladdr b8:27:eb:c0:fa:23 STALE
  6. 192.168.0.109 dev ens33 lladdr b8:81:98:65:be:81 DELAY

刷新后:

mac地址就没有了,需要重新学习

  1. [root@Tyson Lee ~]# ip neighbor show
  2. 192.168.0.127 dev ens33 FAILED
  3. 192.168.0.103 dev ens33 FAILED
  4. 192.168.0.1 dev ens33 FAILED
  5. 192.168.0.127 dev ens37 lladdr b8:27:eb:c0:fa:23 STALE
  6. 192.168.0.109 dev ens33 lladdr b8:81:98:65:be:81 REACHABLE

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

闽ICP备14008679号