Linux之网络管理

Linux之网络管理与 ip 相关的命令查看 ip 地址命令 ipaddrshow 或 ifconfig 检测网络是否通畅命令 ping 目的地的 ip 地址 目的地 url 参数 c 数字表示 ping 的次数

大家好,欢迎来到IT知识分享网。

ip管理

与ip相关的命令

查看ip地址

命令:ip addr showifconfig
在这里插入图片描述
在这里插入图片描述

删除ip地址(临时)

命令:ip addr del dev 设备名称 ip地址/子网掩码

增加ip地址(临时)

命令:ip addr add ip地址/子网掩码 dev 设备名称

检测网络是否通畅

命令:ping 目的地的ip地址/目的地url
在这里插入图片描述
在这里插入图片描述
参数:


  • -c 数字
    表示ping的次数。用法:ping 目的地ip/url -c 数字
  • -w 数字

更改系统的ip

图形方式更改ip(永久更改)

命令:

  • nm-connection-editor
  • nmtui
    无图形时,用类似图形的方式修改ip。
nm-connection-editor更改ip
  1. 执行nm-connection-editor命令
[root@localhost ~]# nm-connection-editor 
  1. 删除原来的ip
    在这里插入图片描述
  2. 设置新ip
  • 动态生成新ip(DHCP服务)

在这里插入图片描述
在这里插入图片描述
设置ip时,若已经搭建好dhcp服务器,选择此项;
在这里插入图片描述
查询虚拟机的新ip:
在这里插入图片描述




  • 静态生成新ip

在这里插入图片描述
查询虚拟机的新ip,确实为自定义的ip值。
在这里插入图片描述

nmtui更改ip
  1. 执行nmtui命令
在这里插入代码片 
  1. 编辑
    2.1 进入NetworkManager TUI界面->回车键(Enter)
    在这里插入图片描述
    2.2 选择以太网的网络->删除
    在这里插入图片描述
    在这里插入图片描述
    2.3 设置ip





  • 动态生成新ip(DHCP服务)
    在这里插入图片描述
  • 静态生成新ip
    在这里插入图片描述
    逐页保存即可。
    在这里插入图片描述
    ip修改成功!!



命令方式更改ip

临时修改ip

命令:ifconfig 网卡 新ip地址 netmask 子网掩码

  1. 查看虚拟机原来的连接情况:
[root@localhost ~]# ifconfig 查看虚拟机ens33的ip ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.118 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:feb7:f375 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:b7:f3:75 txqueuelen 1000 (Ethernet) RX packets 1784 bytes  (332.6 KiB) RX errors 0 dropped 420 overruns 0 frame 0 TX packets 894 bytes  (117.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 436 bytes 45812 (44.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 436 bytes 45812 (44.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:14:c3:5c txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@localhost ~]# ping 192.168.1.18 -c 3 ping主机 PING 192.168.1.18 (192.168.1.18) 56(84) bytes of data. 64 bytes from 192.168.1.18: icmp_seq=1 ttl=64 time=0.469 ms 64 bytes from 192.168.1.18: icmp_seq=2 ttl=64 time=0.608 ms 64 bytes from 192.168.1.18: icmp_seq=3 ttl=64 time=0.574 ms --- 192.168.1.18 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.469/0.550/0.608/0.062 ms [root@localhost ~]# ping 192.168.1.119 -c 3 ping虚拟机 PING 192.168.1.119 (192.168.1.119) 56(84) bytes of data. 64 bytes from 192.168.1.119: icmp_seq=1 ttl=64 time=0.494 ms 64 bytes from 192.168.1.119: icmp_seq=2 ttl=64 time=0.589 ms 64 bytes from 192.168.1.119: icmp_seq=3 ttl=64 time=0.740 ms --- 192.168.1.119 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.494/0.607/0.740/0.105 ms 
  1. 删除原来的ip:
[root@localhost ~]# ip addr del dev ens33 192.168.1.118/24 删除虚拟机原来的ip [root@localhost ~]# ifconfig 查看ens33的ip ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::20c:29ff:feb7:f375 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:b7:f3:75 txqueuelen 1000 (Ethernet) RX packets 1894 bytes  (354.6 KiB) RX errors 0 dropped 454 overruns 0 frame 0 TX packets 930 bytes  (120.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 436 bytes 45812 (44.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 436 bytes 45812 (44.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:14:c3:5c txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
  1. 设置新的ip:
    在这里插入图片描述
  2. 测试新的虚拟机是否能ping通其它的虚拟机和主机
[root@localhost ~]# ping 192.168.1.119 -c 3 ping虚拟机(成功!) PING 192.168.1.119 (192.168.1.119) 56(84) bytes of data. 64 bytes from 192.168.1.119: icmp_seq=1 ttl=64 time=0.624 ms 64 bytes from 192.168.1.119: icmp_seq=2 ttl=64 time=0.755 ms 64 bytes from 192.168.1.119: icmp_seq=3 ttl=64 time=0.793 ms --- 192.168.1.119 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.624/0.724/0.793/0.072 ms [root@localhost ~]# ping 192.168.1.18 -c 3 ping主机(成功!) PING 192.168.1.18 (192.168.1.18) 56(84) bytes of data. 64 bytes from 192.168.1.18: icmp_seq=1 ttl=64 time=0.571 ms 64 bytes from 192.168.1.18: icmp_seq=2 ttl=64 time=0.613 ms 64 bytes from 192.168.1.18: icmp_seq=3 ttl=64 time=0.569 ms --- 192.168.1.18 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.569/0.584/0.613/0.028 ms 

注意:

  • List item这里设置新ip的方法和删除ens33中ip的方法都是临时的,系统重启或者执行systemctl restart network命令后,ip会恢复为最初值。
  • 如果不先删除原来的ip,直接使用ifconfig设置新的ip,则无法ping通。
    在这里插入图片描述
永久修改ip

命令:nmcli(相当于nm-connection-editor的文本形式)

设备相关

命令:nmcli device 参数

  • nmcli device status 查看设备状态
    在这里插入图片描述
  • nmcli device disconnect ens33 关闭设备
    在这里插入图片描述
  • nmcli device connect ens33 开启设备

在这里插入图片描述

  • nmcli device modify 协议 ip地址/子网掩码 添加ip(临时,仅用于本次服务)
    在这里插入图片描述
连接相关

命令:nmcli connection 参数

  • nmcli connection show 查看网卡信息
    在这里插入图片描述
  • nmcli connection down 连接名称 关闭连接
    在这里插入图片描述
  • nmcli connection up 连接名称 打开连接
    在这里插入图片描述
  • nmcli connection modify 连接名称 协议 ip地址/子网掩码 给设备添加ip
    添加完后必须重启才能生效
[root@localhost ~]# nmcli connection modify xxxzzz3 ip4 192.168.1.225/24 [root@localhost ~]# systemctl restart network [root@localhost ~]# ip addr show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:b7:f3:75 brd ff:ff:ff:ff:ff:ff inet 192.168.1.188/24 brd 192.168.1.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet 192.168.1.225/24 brd 192.168.1.255 scope global secondary noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::2148:3570:2e21:5dc9/64 scope link noprefixroute valid_lft forever preferred_lft forever 
  • nmcli connection delete 连接名称 删除连接
[root@localhost ~]# nmcli connection delete xxxzzz3  

在这里插入图片描述

  • nmcli connection add con-name 连接名称 ifname 设备名称 type 连接类型 协议 ip地址/子网掩码 添加静态连接
    在这里插入图片描述
    多次给一个设备添加连接,只有第一个生效。

  • nmcli connection add con-name 连接名称 ifname 设备名称 type 连接类型 协议 ip地址/子网掩码 添加动态连接(DHCP)
    在这里插入图片描述

文件方式更改ip

配置文件目录:/etc/sysconfig/network-scripts/
配置文件名称:ifcfg-连接名称

配置动态连接(DHCP)
[root@localhost network-scripts]# nmcli connection delete zzjj2 删除占用ens33网卡的连接 Connection 'zzjj2' (1609c5cb-bcee-48dd-b433-8b8a73087e55) successfully deleted. [root@localhost network-scripts]# ip addr show ens33 无连接占用此网卡 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:b7:f3:75 brd ff:ff:ff:ff:ff:ff [root@localhost network-scripts]# vim ifcfg-zzjj3 编辑新的配置文件 

在这里插入图片描述
重启网络服务,查看连接:

  • Linux7中
    重启命令:systemctl restart network
    在这里插入图片描述

  • Linux8中
    重启命令:
    systemctl restart NetworkManager
    nmcli connection down 老的连接
    nmcli connection up 新的连接



    注意:Linux8中必须将连接关闭重启,否则无法更新新的ip。

配置静态连接
[root@localhost network-scripts]# nmcli connection delete zzjj3 Connection 'zzjj3' (72ab84a1-1a01-0f4d-dd73-e59a0) successfully deleted. [root@localhost network-scripts]# vim ifcfg-zzjj4 

在这里插入图片描述
重启网络服务,查看连接:

  • Linux7中
    重启命令:systemctl restart network
    在这里插入图片描述

  • Linux8中
    重启命令:
    systemctl restart NetworkManager
    nmcli connection down 老的连接
    nmcli connection up 新的连接



    仅执行systemctl restart NetworkManager,ip也不更改;

DHCP管理

在红帽Linux8中搭建DHCP服务

设置静态网络

[root@RHTL8_clone Packages]# cd /etc/sysconfig/network-scripts/ [root@RHTL8_clone network-scripts]# ls ifcfg-ens160 [root@RHTL8_clone network-scripts]# rm -fr ifcfg-ens160  [root@RHTL8_clone network-scripts]# vim ifcfg-ens160 #设置一个静态网络 
[root@RHTL8_clone dhcp]# systemctl restart NetworkManager 重启网络 [root@RHTL8_clone dhcp]# nmcli connection show 查看连接的网络 NAME UUID TYPE DEVICE System ens160 ea74cf24-c2a2-ecee-3747-a2d76d46f93b ethernet ens160 virbr0 a4584b16-dc66-4bbe-8609-49d40536f639 bridge virbr0 [root@RHTL8_clone dhcp]# nmcli connection down System\ ens160 关闭ens160连接的网络 Connection 'System ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) [root@RHTL8_clone dhcp]# nmcli connection up System\ ens160 开启ens160连接的网络  Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3) [root@RHTL8_clone dhcp]# ifconfig 查询ip ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fe61:85b1 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:61:85:b1 txqueuelen 1000 (Ethernet) RX packets 859 bytes  (134.7 KiB) RX errors 0 dropped 150 overruns 0 frame 0 TX packets 102 bytes 11574 (11.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 96 bytes 8544 (8.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 96 bytes 8544 (8.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:01:f1:c4 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

给虚拟机安装dhcp服务的安装包

若创建虚拟机时没有连接镜像,则使用以下步骤将主机上红帽Linux8中的镜像放到虚拟机的光驱中。在这里插入图片描述
查看镜像的挂载位置在这里插入图片描述
进入镜像所在目录,找到DHCP安装包的位置

[root@RHTL8_clone ~]# cd /run/media/root/RHEL-8-0-0-BaseOS-x86_64 [root@RHTL8_clone RHEL-8-0-0-BaseOS-x86_64]# ls AppStream EULA images RPM-GPG-KEY-redhat-beta BaseOS extra_files.json isolinux RPM-GPG-KEY-redhat-release EFI GPL media.repo TRANS.TBL [root@RHTL8_clone RHEL-8-0-0-BaseOS-x86_64]# cd BaseOS/ [root@RHTL8_clone BaseOS]# ls Packages repodata [root@RHTL8_clone BaseOS]# cd Packages/ [root@RHTL8_clone Packages]# ls dhcp* 查找dhcp服务器的安装包 [root@RHTL8_clone Packages]# rpm -ivh dhcp-server-4.3.6-30.el8.x86_64.rpm 安装dhcp服务安装包 

在这里插入图片描述
在这里插入图片描述

配置DHCP文件

将DHCP配置文件的例子复制给/etc/dhcp/dhcpd.conf

[root@RHTL8_clone dhcp]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 复制DHCP服务器给的配置文件的样本 cp: overwrite '/etc/dhcp/dhcpd.conf'? yes [root@RHTL8_clone dhcp]# vim /etc/dhcp/dhcpd.conf 配置DHCP 

在这里插入图片描述
在这里插入图片描述

重启服务

[root@RHTL8_clone etc]# systemctl restart dhcpd 

在这里插入图片描述
注意:在配置/etc/dhcp/dhcpd.conf时,子网网段要与dhcp服务器在同一网段。若dhcp服务器处在192.168.1.x网段,却将dhcp的子网设置为192.168.0.x网段,则无法打开dhcp服务。

在Linux7中配置DHCP网络获取ip

  1. 将Linux7设置为动态获取ip格式(DHCP格式) –修改/etc/sysconfig/network-scripts/中的配置文件
  2. 重启网络后查看ip:
    在这里插入图片描述

在Linux8中查看ip分配情况

在这里插入图片描述
至此,成功将Linux8配置成一台DHCP服务器。

网关管理

路由器上和客户主机处在同一个网段的ip叫做客户主机的网关。

设置网关

设置临时网关

ip route add default via ip地址 添加默认网关
ip route del default via ip地址 删除默认网关

设置永久网关

修改系统全局网关

配置文件:/etc/sysconfig/network

  • 修改配置文件
[root@rhel7 network-scripts]# vim /etc/sysconfig/network 

在这里插入图片描述

  • 重启
    • Linux7系统的重启
      执行以下三条命令:
      systemctl stop NetworkManager
      systemctl restart network
      systemctl start NetworkManager



    • Linux8系统的重启
      执行以下三条命令:
      systemctl restart NetworkManager
      nmcli connection down 链接名称
      nmcli connection up 链接名称



修改某个网卡的网关

配置文件:etc/sysconfig/network-scripts/网卡名称

  • 修改配置文件
[root@rhel7 ~]# cd /etc/sysconfig/network-scripts/ [root@rhel7 network-scripts]# vim ifcfg-ens33 

在这里插入图片描述

  • 重启
    • Linux7系统的重启
      执行以下三条命令:
      systemctl stop NetworkManager
      systemctl restart network
      systemctl start NetworkManager



    • Linux8系统的重启
      执行以下三条命令:
      systemctl restart NetworkManager
      nmcli connection down 链接名称
      nmcli connection up 链接名称



Linux模拟路由器

环境:两台Linux7虚拟机

在rhel7中添加一块网卡使rhel7主机变成双网卡主机

设置rhel7虚拟机两块网卡的ip

  1. 修改两块网卡的ip
[root@rhel7 network-scripts]# vim ifcfg-ens33 

在这里插入图片描述

[root@rhel7 network-scripts]# cp ifcfg-ens33 ifcfg-ens38 [root@rhel7 network-scripts]# vim ifcfg-ens38 

在这里插入图片描述

  1. 重启网络,查看ip
    在这里插入图片描述
  2. 分别测试rhel7和真实主机、另一台虚拟机的连接情况:
    在这里插入图片描述

在rhel7中打开内核路由功能

  1. 查看内核的路由功能是否开启:sysctl -a | grep ip_forward
    在这里插入图片描述
  2. 修改配置文件:/etc/sysctl.conf
    在这里插入图片描述
  3. 执行sysctl -p使修改立即生效:
    在这里插入图片描述

在rhel7中打开地址伪装功能

ip地址转换需要通过火墙,因此要确保rhel7中的火墙状态开启。

  1. 查看rhel7中的火墙状态,若是关闭状态则开启火墙;
  2. 查看rhel7的地址伪装功能是否开启:
    命令:firewall-cmd --list-all
    在这里插入图片描述

  3. 永久开启地址伪装功能:
    命令:firewall-cmd --permanent --add-masquerade
    在这里插入图片描述

  4. 重启服务
    命令:firewall-cmd --reload
    在这里插入图片描述

  5. 查看rhel7的地址伪装功能:
    在这里插入图片描述
    此时,虚拟机rhel7即模拟为一个路由器

测试虚拟机rhel7的路由转发功能

  1. 开启一个新的虚拟机rhel7_clone3,将其ip设置为172.25.254.11
  2. 测试rhel7_clone3的连通情况:
    在这里插入图片描述
  3. 给rhel7_clone3添加网关(该网关与rehl7中的路由网关ip相同),查看网关是否正确连接。
    在这里插入图片描述
  4. rhel7_clone3连接真实主机:
    在这里插入图片描述
    真实主机连接rhel7_clone3:
    在这里插入图片描述


DNS管理

DNS服务器:把域名转换为ip地址的服务器。

DNS服务器的配置文件:/etc/sysconfig/network-scripts/网卡名称

配置etc/hosts

etc/hosts中的配置目的是手动给定域名和ip之间的对应关系。

[root@rhel7 network-scripts]# vim /etc/host 

在这里插入图片描述
在这里插入图片描述
成功ping通www.baidu.com,但换成其它域名,又无法ping通。若要对所有域名都能自动解析出它对应的ip,需要配置/etc/resolv.conf

配置resolv.conf

[root@rhel7 network-scripts]# vim /etc/resolv.conf 

在这里插入图片描述
此时虚拟机可以ping通任何一个域名,因为电信的DNS服务器会自动将域名解析为对应的ip。
在这里插入图片描述

网桥管理

  1. 网桥默认为关闭状态
    在这里插入图片描述
  2. 查看网卡连接状况
    在这里插入图片描述
  3. 删除ens33的连接
    在这里插入图片描述
  4. 重新编辑配置文件/etc/sysconfig/network-scripts/ifcfg-ens33
    在这里插入图片描述
    5.编辑文件/etc/sysconfig/network-scripts/ifcfg-br0
    在这里插入图片描述


  5. 重启网络,查看桥接接口是否打开
[root@rhel7_clone3 ~]# systemctl restart network 重启网络 [root@rhel7_clone3 ~]# ifconfig 查看是否又有桥接br0 br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:feb6:1056 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:b6:10:56 txqueuelen 1000 (Ethernet) RX packets 60 bytes 15986 (15.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29 bytes 3802 (3.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0c:29:b6:10:56 txqueuelen 1000 (Ethernet) RX packets 9367 bytes  (1.8 MiB) RX errors 0 dropped 863 overruns 0 frame 0 TX packets 173 bytes 19621 (19.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 204 bytes 17628 (17.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 204 bytes 17628 (17.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:14:c3:5c txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117407.html

(0)
上一篇 2025-11-21 12:15
下一篇 2025-11-21 12:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信