【Linux】RHEL8 中nmcli使用,必备!

news2024/10/6 14:34:02

redhat8中nmcli日常使用

第 2 章 配置以太网连接

Red Hat Enterprise Linux 为管理员提供不同的选项来配置以太网连接。例如:

  • 在命令行中使用 nmcli 配置连接。
  • 使用 nmtui 在基于文本的用户界面中配置连接。
  • 使用 RHEL 系统角色在一个或多个主机上自动配置连接。
  • 使用 GNOME Settings 菜单或 nm-connection-editor 应用程序在图形界面中配置连接。
  • 使用 nmstatectl 通过 Nmstate API 配置连接。

2.1. 使用 nmcli 配置静态以太网连接

要在命令行中配置以太网连接,请使用 nmcli 实用程序。

例如,以下步骤使用以下设置为 enp7s0 设备创建 NetworkManager 连接配置集:

  • 静态 IPv4 地址 - 192.0.2.1/24 子网掩码
  • 静态 IPv6 地址 - 2001:db8:1::1/64 子网掩码
  • IPv4 默认网关 - 192.0.2.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 192.0.2.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

流程

  1. 为以太网连接添加新的 NetworkManager 连接配置集:

    # nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
    

    可以进一步修改您创建的 Example-Connection 连接配置集。

  2. 设置 IPv4 地址:

    # nmcli connection modify Example-Connection ipv4.addresses 192.0.2.1/24
    
  3. 设置 IPv6 地址:

    # nmcli connection modify Example-Connection ipv6.addresses 2001:db8:1::1/64
    
  4. 将 IPv4 和 IPv6 连接方法设置为 manual

    # nmcli connection modify Example-Connection ipv4.method manual
    # nmcli connection modify Example-Connection ipv6.method manual
    
  5. 设置 IPv4 和 IPv6 默认网关:

    # nmcli connection modify Example-Connection ipv4.gateway 192.0.2.254
    # nmcli connection modify Example-Connection ipv6.gateway 2001:db8:1::fffe
    
  6. 设置 IPv4 和 IPv6 DNS 服务器地址:

    # nmcli connection modify Example-Connection ipv4.dns "192.0.2.200"
    # nmcli connection modify Example-Connection ipv6.dns "2001:db8:1::ffbb"
    

    要设置多个 DNS 服务器,以空格分隔并用引号括起来。

  7. 为 IPv4 和 IPv6 连接设置 DNS 搜索域:

    # nmcli connection modify Example-Connection ipv4.dns-search example.com
    # nmcli connection modify Example-Connection ipv6.dns-search example.com
    
  8. 激活连接配置集:

    # nmcli connection up Example-Connection
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

2.2. 使用 nmcli 互动编辑器配置静态以太网连接

您可以使用 nmcli 工具的交互模式在命令行中配置以太网连接。

例如,以下步骤使用以下设置为 enp7s0 设备创建 NetworkManager 连接配置集:

  • 静态 IPv4 地址 - 192.0.2.1/24 子网掩码
  • 静态 IPv6 地址 - 2001:db8:1::1/64 子网掩码
  • IPv4 默认网关 - 192.0.2.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 192.0.2.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

步骤

  1. 要为以太网连接添加新的 NetworkManager 连接配置集并启动互动模式,请输入:

    # nmcli connection edit type ethernet con-name Example-Connection
    
  2. 设置网络接口:

    nmcli> set connection.interface-name enp7s0
    
  3. 设置 IPv4 地址:

    nmcli> set ipv4.addresses 192.0.2.1/24
    
  4. 设置 IPv6 地址:

    nmcli> set ipv6.addresses 2001:db8:1::1/64
    
  5. 将 IPv4 和 IPv6 连接方法设置为 manual

    nmcli> set ipv4.method manual
    nmcli> set ipv6.method manual
    
  6. 设置 IPv4 和 IPv6 默认网关:

    nmcli> set ipv4.gateway 192.0.2.254
    nmcli> set ipv6.gateway 2001:db8:1::fffe
    
  7. 设置 IPv4 和 IPv6 DNS 服务器地址:

    nmcli> set ipv4.dns 192.0.2.200
    nmcli> set ipv6.dns 2001:db8:1::ffbb
    

    要设置多个 DNS 服务器,请指定它们以空格分隔并用引号括起。

  8. 为 IPv4 和 IPv6 连接设置 DNS 搜索域:

    nmcli> set ipv4.dns-search example.com
    nmcli> set ipv6.dns-search example.com
    
  9. 保存并激活连接:

    nmcli> save persistent
    Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
    Do you still want to save? (yes/no) [yes] yes
    
  10. 保留为互动模式:

    nmcli> quit
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

2.3. 使用 nmtui 配置静态以太网连接

nmtui 应用程序为 NetworkManager 提供了一个基于文本的用户界面。您可以使用 nmtui 在没有图形界面的主机上配置具有静态 IP 地址的以太网连接。

注意

nmtui 中:

  • 使用光标键导航。
  • 选择一个按钮并按 Enter 键。
  • 使用 Space 选择并取消选择复选框。

流程

  1. 如果您不知道要在连接中使用的网络设备名称,显示可用的设备:

    # nmcli device status
    DEVICE     TYPE      STATE                   CONNECTION
    enp7s0     ethernet  unavailable             --
    ...
    
  2. 启动 nmtui

    # nmtui
    
  3. 选择 Edit a connection,并按 Enter

  4. Add 按钮。

  5. 从网络类型列表中选择 Ethernet,然后按 Enter

  6. 可选:为要创建的 NetworkManager 配置文件输入一个名称。

  7. Device 字段中输入网络设备名称。

  8. IPv4 configurationIPv6 configuration 区中配置 IPv4和 IPv6 地址设置:

    1. Automatic 按钮,然后从显示的列表中选择 Manual

    2. 按您要配置的协议旁边的 Show 按钮来显示其他字段。

    3. Addresses 旁边的 Add 按钮,然后输入 IP 地址和无类别域间路由(CIDR)格式的子网掩码。

      如果没有指定子网掩码,NetworkManager 会为 IPv4 地址设置 /32 子网掩码,为 IPv6 地址设置 /64 子网掩码。

    4. 输入默认网关的地址。

    5. DNS servers 旁边的 Add 按钮,并输入 DNS 服务器地址。

    6. Search domains 旁边的 Add 按钮,并输入 DNS 搜索域。

    图 2.1. 具有静态 IP 地址设置的以太网连接示例

    nmtui ethernet static IP

  9. OK 按钮来创建并自动激活新连接。

  10. Back 按钮返回到主菜单。

  11. 选择 Quit,然后按 Enter 来关闭 nmtui 应用程序。

验证

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

2.4. 使用 nmstatectl 配置静态以太网连接

要使用 Nmstate API 配置以太网连接,请使用 nmstatectl 工具。

例如,以下步骤使用以下设置为 enp7s0 设备创建 NetworkManager 连接配置集:

  • 静态 IPv4 地址 - 192.0.2.1,子网掩码为 /24
  • 静态 IPv6 地址 - 2001:db8:1::1,子网掩码为 /64
  • IPv4 默认网关 - 192.0.2.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 192.0.2.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

nmstatectl 工具确保设置配置后,结果与配置文件匹配。如果有任何失败,nmstatectl 会自动回滚更改以避免系统处于不正确的状态。

该流程以 YAML 格式定义接口配置。或者,您也可以以 JSON 格式指定配置:

先决条件

  • nmstate 软件包已安装。

步骤

  1. 创建一个 YAML 文件,例如,包含以下内容的 ~/create-ethernet-profile.yml
---
interfaces:
- name: enp7s0
  type: ethernet
  state: up
  ipv4:
    enabled: true
    address:
    - ip: 192.0.2.1
      prefix-length: 24
    dhcp: false
  ipv6:
    enabled: true
    address:
    - ip: 2001:db8:1::1
      prefix-length: 64
    autoconf: false
    dhcp: false
routes:
  config:
  - destination: 0.0.0.0/0
    next-hop-address: 192.0.2.254
    next-hop-interface: enp7s0
  - destination: ::/0
    next-hop-address: 2001:db8:1::fffe
    next-hop-interface: enp7s0
dns-resolver:
  config:
    search:
    - example.com
    server:
    - 192.0.2.200
    - 2001:db8:1::ffbb
  1. 将设置应用到系统:

    # nmstatectl apply ~/create-ethernet-profile.yml
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  enp7s0
    
  2. 显示连接配置集的所有设置:

    # nmcli connection show enp7s0
    connection.id:              enp7s0
    connection.uuid:            b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76
    connection.stable-id:       --
    connection.type:            802-3-ethernet
    connection.interface-name:  enp7s0
    ...
    
  3. 以 YAML 格式显示连接设置:

    # nmstatectl show enp7s0
    

2.5. 使用 RHEL 系统角色,配置带有接口名称的静态以太网连接

您可以使用 network RHEL 系统角色远程配置以太网连接。

例如,以下步骤使用以下设置为 enp7s0 设备创建 NetworkManager 连接配置集:

  • 静态 IPv4 地址 - 192.0.2.1/24 子网掩码
  • 静态 IPv6 地址 - 2001:db8:1::1/64 子网掩码
  • IPv4 默认网关 - 192.0.2.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 192.0.2.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

在 Ansible 控制节点上执行此步骤。

前提条件

  • 您已准备了控制节点和受管节点

  • 以可在受管主机上运行 playbook 的用户登录到控制节点。

  • 用于连接受管节点的帐户具有 sudo 权限。

  • 运行此 playbook 的主机或主机组列在 Ansible 清单文件中。

  • 受管节点使用 NetworkManager 配置网络。

步骤

  1. 创建包含以下内容的 playbook 文件,如 *~/ethernet-static-IP.yml*
---
- name: Configure the network
  hosts: managed-node-01.example.com
  tasks:
  - name: Configure an Ethernet connection with static IP
    include_role:
      name: rhel-system-roles.network

    vars:
      network_connections:
        - name: enp7s0
          interface_name: enp7s0
          type: ethernet
          autoconnect: yes
          ip:
            address:
              - 192.0.2.1/24
              - 2001:db8:1::1/64
            gateway4: 192.0.2.254
            gateway6: 2001:db8:1::fffe
            dns:
              - 192.0.2.200
              - 2001:db8:1::ffbb
            dns_search:
              - example.com
          state: up
  1. 运行 playbook:

ansible-playbook ~/ethernet-static-IP.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件

2.6. 使用 RHEL 系统角色,配置带有设备路径的静态以太网连接

您可以使用 network RHEL 系统角色远程配置以太网连接。

您可以使用以下命令识别设备路径:

# udevadm info /sys/class/net/<device_name> | grep ID_PATH=

例如,以下步骤会为与 PCI ID 0000:00:0[1-3].0 表达式匹配的设备创建 NetworkManager 连接配置集,但没有 0000:00:02.0

  • 静态 IPv4 地址 - 192.0.2.1/24 子网掩码
  • 静态 IPv6 地址 - 2001:db8:1::1/64 子网掩码
  • IPv4 默认网关 - 192.0.2.254
  • IPv6 默认网关 - 2001:db8:1::fffe
  • IPv4 DNS 服务器 - 192.0.2.200
  • IPv6 DNS 服务器 - 2001:db8:1::ffbb
  • DNS 搜索域 - example.com

在 Ansible 控制节点上执行此步骤。

前提条件

  • 您已准备了控制节点和受管节点

  • 以可在受管主机上运行 playbook 的用户登录到控制节点。

  • 用于连接受管节点的帐户具有 sudo 权限。

  • 运行此 playbook 的主机或主机组列在 Ansible 清单文件中。

  • 受管节点使用 NetworkManager 配置网络。

步骤

  1. 创建包含以下内容的 playbook 文件,如 *~/ethernet-static-IP.yml*

    Expand

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with dynamic IP
        include_role:
          name: rhel-system-roles.network
    
        vars:
          network_connections:
            - name: example
              match:
                path:
                  - pci-0000:00:0[1-3].0
                  - &!pci-0000:00:02.0
              type: ethernet
              autoconnect: yes
              ip:
                address:
                  - 192.0.2.1/24
                  - 2001:db8:1::1/64
                gateway4: 192.0.2.254
                gateway6: 2001:db8:1::fffe
                dns:
                  - 192.0.2.200
                  - 2001:db8:1::ffbb
                dns_search:
                  - example.com
              state: up
    

    本例中的 match 参数定义了 Ansible 将剧本应用到与 PCI ID 0000:00:0[1-3].0 匹配的设备,但没有 0000:00:02.0 设备。有关可以使用的特殊修饰符和通配符的详情,请查看 /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件中的 match 参数描述。

  2. 运行 playbook:

    # ansible-playbook ~/ethernet-static-IP.yml
    

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件

2.7. 使用 nmcli 配置动态以太网连接

要在命令行中配置以太网连接,请使用 nmcli 实用程序。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

先决条件

  • 网络中有 DHCP 服务器。

流程

  1. 为以太网连接添加新的 NetworkManager 连接配置集:

    # nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
    
  2. (可选)在使用 Example-Connection 配置文件时,更改 NetworkManager 发送给 DHCP 服务器的主机名:

    # nmcli connection modify Example-Connection ipv4.dhcp-hostname Example ipv6.dhcp-hostname Example
    
  3. (可选)在使用 Example-Connection 配置文件时,更改 NetworkManager 发送给 IPv4 DHCP 服务器的客户端 ID:

    # nmcli connection modify Example-Connection ipv4.dhcp-client-id client-ID
    

    请注意,对于 IPv6 ,没有 dhcp-client-id 参数。要为 IPv6 创建一个标识符,请配置 dhclient 服务。

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

其他资源

  • dhclient(8) 手册页
  • nm-settings(5)
  • nmcli(1) 手册页
  • 配置 NetworkManager 以避免使用特定配置集提供默认网关

2.8. 使用 nmcli 互动编辑器配置动态以太网连接

您可以使用 nmcli 工具的交互模式在命令行中配置以太网连接。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

先决条件

  • 网络中有 DHCP 服务器。

流程

  1. 要为以太网连接添加新的 NetworkManager 连接配置集并启动互动模式,请输入:

    # nmcli connection edit type ethernet con-name Example-Connection
    
  2. 设置网络接口:

    nmcli> set connection.interface-name enp7s0
    
  3. (可选)在使用 Example-Connection 配置文件时,更改 NetworkManager 发送给 DHCP 服务器的主机名:

    nmcli> set ipv4.dhcp-hostname Example
    nmcli> set ipv6.dhcp-hostname Example
    
  4. (可选)在使用 Example-Connection 配置文件时,更改 NetworkManager 发送给 IPv4 DHCP 服务器的客户端 ID:

    nmcli> set ipv4.dhcp-client-id client-ID
    

    请注意,对于 IPv6 ,没有 dhcp-client-id 参数。要为 IPv6 创建一个标识符,请配置 dhclient 服务。

  5. 保存并激活连接:

    nmcli> save persistent
    Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
    Do you still want to save? (yes/no) [yes] yes
    
  6. 保留为互动模式:

    nmcli> quit
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

其他资源

  • nm-settings(5) 手册页
  • nmcli(1) 手册页
  • 配置 NetworkManager 以避免使用特定配置集提供默认网关

2.9. 使用 nmtui 配置动态以太网连接

nmtui 应用程序为 NetworkManager 提供了一个基于文本的用户界面。您可以使用 nmtui 在没有图形界面的主机上配置具有动态 IP 地址的以太网连接。

注意

nmtui 中:

  • 使用光标键导航。
  • 选择一个按钮并按 Enter 键。
  • 使用 Space 选择并取消选择复选框。

流程

  1. 如果您不知道要在连接中使用的网络设备名称,显示可用的设备:

    # nmcli device status
    DEVICE     TYPE      STATE                   CONNECTION
    enp7s0     ethernet  unavailable             --
    ...
    
  2. 启动 nmtui

    # nmtui
    
  3. 选择 Edit a connection,并按 Enter

  4. Add 按钮。

  5. 从网络类型列表中选择 Ethernet,然后按 Enter

  6. 可选:为要创建的 NetworkManager 配置文件输入一个名称。

  7. Device 字段中输入网络设备名称。

  8. OK 按钮来创建并自动激活新连接。

    nmtui ethernet dynamic IP

  9. Back 按钮返回到主菜单。

  10. 选择 Quit,然后按 Enter 来关闭 nmtui 应用程序。

验证

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

其他资源

  • 配置 NetworkManager 以避免使用特定配置集提供默认网关

2.10. 使用 nmstatectl 配置动态以太网连接

要使用 Nmstate API 配置以太网连接,请使用 nmstatectl 工具。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

nmstatectl 工具确保设置配置后,结果与配置文件匹配。如果有任何失败,nmstatectl 会自动回滚更改以避免系统处于不正确的状态。

该流程以 YAML 格式定义接口配置。或者,您也可以以 JSON 格式指定配置:

先决条件

  • nmstate 软件包已安装。

步骤

  1. 创建一个 YAML 文件,例如,包含以下内容的 ~/create-ethernet-profile.yml

    ---
    interfaces:
    - name: enp7s0
      type: ethernet
      state: up
      ipv4:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        dhcp: true
      ipv6:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        autoconf: true
        dhcp: true
    
  2. 将设置应用到系统:

    # nmstatectl apply ~/create-ethernet-profile.yml
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  enp7s0
    
  2. 显示连接配置集的所有设置:

    # nmcli connection show enp7s0
    connection.id:              enp7s0_
    connection.uuid:            b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76
    connection.stable-id:       --
    connection.type:            802-3-ethernet
    connection.interface-name:  enp7s0
    ...
    
  3. 以 YAML 格式显示连接设置:

    # nmstatectl show enp7s0
    

其他资源

  • nmstatectl(8) 手册页
  • /usr/share/doc/nmstate/examples/ 目录

2.10. 使用 nmstatectl 配置动态以太网连接

要使用 Nmstate API 配置以太网连接,请使用 nmstatectl 工具。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

nmstatectl 工具确保设置配置后,结果与配置文件匹配。如果有任何失败,nmstatectl 会自动回滚更改以避免系统处于不正确的状态。

该流程以 YAML 格式定义接口配置。或者,您也可以以 JSON 格式指定配置:

先决条件

  • nmstate 软件包已安装。

步骤

  1. 创建一个 YAML 文件,例如,包含以下内容的 ~/create-ethernet-profile.yml

    ---
    interfaces:
    - name: enp7s0
      type: ethernet
      state: up
      ipv4:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        dhcp: true
      ipv6:
        enabled: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        autoconf: true
        dhcp: true
    
  2. 将设置应用到系统:

    # nmstatectl apply ~/create-ethernet-profile.yml
    

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  enp7s0
    
  2. 显示连接配置集的所有设置:

    # nmcli connection show enp7s0
    connection.id:              enp7s0_
    connection.uuid:            b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76
    connection.stable-id:       --
    connection.type:            802-3-ethernet
    connection.interface-name:  enp7s0
    ...
    
  3. 以 YAML 格式显示连接设置:

    # nmstatectl show enp7s0
    

其他资源

  • nmstatectl(8) 手册页
  • /usr/share/doc/nmstate/examples/ 目录

2.11. 使用带有接口名称的 RHEL 系统角色配置动态以太网连接

您可以使用 network RHEL 系统角色远程配置以太网连接。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

在 Ansible 控制节点上执行此步骤。

先决条件

  • 您已准备了控制节点和受管节点

  • 以可在受管主机上运行 playbook 的用户登录到控制节点。

  • 用于连接受管节点的帐户具有 sudo 权限。

  • 运行此 playbook 的主机或主机组列在 Ansible 清单文件中。

  • 网络中有 DHCP 服务器

  • 受管节点使用 NetworkManager 配置网络。

步骤

  1. 创建包含以下内容的 playbook 文件,如 *~/ethernet-dynamic-IP.yml*

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with dynamic IP
        include_role:
          name: rhel-system-roles.network
    
        vars:
          network_connections:
            - name: enp7s0
              interface_name: enp7s0
              type: ethernet
              autoconnect: yes
              ip:
                dhcp4: yes
                auto6: yes
              state: up
    
  2. 运行 playbook:

    # ansible-playbook ~/ethernet-dynamic-IP.yml
    

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件

2.12. 使用带有设备路径的 RHEL 系统角色配置动态以太网连接

您可以使用 network RHEL 系统角色远程配置以太网连接。对于具有动态 IP 地址设置的连接,NetworkManager 会从 DHCP 服务器请求 IP 设置。

您可以使用以下命令识别设备路径:

# udevadm info /sys/class/net/<device_name> | grep ID_PATH=

在 Ansible 控制节点上执行此步骤。

先决条件

  • 您已准备了控制节点和受管节点

  • 以可在受管主机上运行 playbook 的用户登录到控制节点。

  • 用于连接受管节点的帐户具有 sudo 权限。

  • 运行此 playbook 的主机或主机组列在 Ansible 清单文件中。

  • 网络中有 DHCP 服务器。

  • 受管主机使用 NetworkManager 配置网络。

步骤

  1. 创建包含以下内容的 playbook 文件,如 *~/ethernet-dynamic-IP.yml*

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with dynamic IP
        include_role:
          name: rhel-system-roles.network
    
        vars:
          network_connections:
            - name: example
              match:
                path:
                  - pci-0000:00:0[1-3].0
                  - &!pci-0000:00:02.0
              type: ethernet
              autoconnect: yes
              ip:
                dhcp4: yes
                auto6: yes
              state: up
    

    本例中的 match 参数定义了 Ansible 将剧本应用到与 PCI ID 0000:00:0[1-3].0 匹配的设备,但没有 0000:00:02.0 设备。有关可以使用的特殊修饰符和通配符的详情,请查看 /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件中的 match 参数描述。

  2. 运行 playbook:

    # ansible-playbook ~/ethernet-dynamic-IP.yml
    

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md 文件

2.13. 使用 control-center 配置以太网连接

以太网连接是在物理机或虚拟机中最常用的连接类型。如果您将 Red Hat Enterprise Linux 与图形界面搭配使用,您可以在 GNOME control-center 中配置此连接类型。

请注意,control-center 不支持与 nm-connection-editor 应用程序或 nmcli 实用程序一样多的配置选项。

先决条件

  • 服务器配置中有一个物理或者虚拟以太网设备。
  • 已安装了 GNOME。

步骤

  1. Super 键,输入 Settings,然后按 Enter 键。

  2. 在左侧导航中选择 Network

  3. 点击 Wired 条目旁边的 + 按钮来创建新配置文件。

  4. 可选:在 Identity 选项卡中为连接设置名称。

  5. IPv4 选项卡中,配置 IPv4 设置。例如,选择方法 Manual,设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器:

    IPv4 设置控制中心 RHEL8

  6. IPv6 选项卡中,配置 IPv6 设置。例如,选择方法 Manual,设置静态 IPv6 地址、网络掩码、默认网关和 DNS 服务器:

    IPv6 设置控制中心 RHEL8

  7. Add 按钮保存连接。GNOME control-center 会自动激活连接。

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

故障排除步骤

  • 确保网络电缆插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅 NetworkManager 服务重启后复制连接。

其它资源

  • 配置 NetworkManager 以避免使用特定配置集提供默认网关

2.14. 使用 nm-connection-editor 配置以太网连接

以太网连接是在物理或者虚拟服务器中最常用的连接类型。如果您将 Red Hat Enterprise Linux 与图形界面搭配使用,您可以使用 nm-connection-editor 应用程序配置此连接类型。

先决条件

  • 服务器配置中有一个物理或者虚拟以太网设备。
  • 已安装了 GNOME。

流程

  1. 打开终端窗口,输入:

    $ nm-connection-editor
    
  2. + 按钮添加新连接。

  3. 选择 Ethernet 类型,然后单击 Create

  4. General 选项卡中:

    1. 要在系统启动时或者重启 NetworkManager 服务时自动启用此连接:

      1. 选择 Connect automatically with priority

      2. 可选:更改 Connect automatically with priority 旁边的优先级值。

        如果同一设备有多个连接配置集,NetworkManager 只启用一个配置集。默认情况下,NetworkManager 激活启用了自动连接的最后使用的配置集。但是,如果您在配置集中设置了优先级值,NetworkManager 会以最高优先级激活配置集。

    2. 如果配置文件应该只对创建连接配置文件的用户可用,请清除 All users may connect to this network 复选框。

    ethernet connection general tab

  5. Ethernet 选项卡中,选择一个设备,还可以选择与以太网相关的其他设置。 ethernet connection settings

  6. IPv4 Settings 选项卡中,配置 IPv4 设置。例如,设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器: IPv4 settings nm connection editor

  7. IPv6 设置 选项卡上,配置 IPv6 设置。例如,设置静态 IPv6 地址、网络掩码、默认网关和 DNS 服务器: IPv6 settings nm connection editor

  8. 保存连接。

  9. 关闭 nm-connection-editor

验证步骤

  1. 显示设备和连接的状态:

    # nmcli device status
    DEVICE      TYPE      STATE      CONNECTION
    enp7s0      ethernet  connected  Example-Connection
    
  2. 使用 ping 程序验证这个主机是否可以向其他主机发送数据包:

    # ping host_name_or_IP_address
    

其它资源

  • 配置 NetworkManager 以避免使用特定配置集提供默认网关

2.15. 更改 NetworkManager 的 DHCP 客户端

默认情况下,NetworkManager 使用其内部的 DHCP 客户端。但是,如果您需要不提供内置客户端的 DHCP 客户端,您也可以将 NetworkManager 配置为使用 dhclient

请注意,RHEL 不提供 dhcpcd,因此 NetworkManager 无法使用这个客户端。

流程

  1. 使用以下内容创建 /etc/NetworkManager/conf.d/dhcp-client.conf 文件:

    [main]
    dhcp=dhclient
    

    您可以对 internal (默认)或 dhclient 设置 dhcp 参数。

  2. 如果对 dhclient 设置 dhcp 参数,请安装 dhcp-client 软件包:

    # yum install dhcp-client
    
  3. 重启 NetworkManager:

    # systemctl restart NetworkManager
    

    请注意,重启会临时中断所有网络连接。

验证

  • /var/log/messages 日志文件中搜索类似于如下的条目:

    Apr 26 09:54:19 server NetworkManager[27748]: <info>  [1650959659.8483] dhcp-init: Using DHCP client 'dhclient'
    

    此日志条目确认 NetworkManager 使用 dhclient 作为 DHCP 客户端。

其他资源

  • NetworkManager.conf(5) man page

2.16. 配置 NetworkManager 连接的 DHCP 行为

DHCP 客户端在每次连接到网络时都从 DHCP 服务器请求动态 IP 地址和对应配置信息。

当您将连接配置为从 DHCP 服务器检索 IP 地址时,网络管理器(NetworkManager)从 DHCP 服务器请求 IP 地址。默认情况下,客户端会等待 45 秒时间完成此请求。当 DHCP 连接启动时,dhcp 客户端会从 DHCP 服务器请求 IP 地址。

先决条件

  • 在主机上配置了使用 DHCP 的连接。

步骤

  1. 设置 ipv4.dhcp-timeoutipv6.dhcp-timeout 属性。例如,要将这两个选项都设为 30 秒,请输入:

    # nmcli connection modify connection_name ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
    

    另外,将参数设置为 infinity 以配置网络管理器(NetworkManager)不会停止尝试请求和续订 IP 地址,直到成功为止。

  2. 可选:配置如果网络管理器(NetworkManager)在超时前没有接收 IPv4 地址时的行为:

    # nmcli connection modify connection_name ipv4.may-fail value
    

    如果将 ipv4.may-fail 选项设为:

    • yes,连接的状态取决于 IPv6 配置:
      • 如果启用了 IPv6 配置并成功,NetworkManager 会激活 IPv6 连接,不再尝试激活 IPv4 连接。
      • 如果禁用或未配置 IPv6 配置,连接会失败。
    • no,连接会被停止。在这种情况下:
      • 如果启用了连接的 autoconnect 属性,NetworkManager 会根据 autoconnect-retries 属性中设置的值尝试多次激活连接。默认值为 4
      • 如果连接仍然无法获得 DHCP 地址,则自动激活会失败。请注意,5 分钟后,自动连接过程会再次启动,从 DHCP 服务器获取 IP 地址。
  3. 可选:配置如果网络管理器(NetworkManager)在超时前没有接收 IPv6 地址时的行为:

    # nmcli connection modify connection_name ipv6.may-fail value
    

其他资源

  • nm-settings(5) 手册页

2.17. 按接口名称使用单一连接配置文件配置多个以太网接口

在大多数情况下,一个连接配置文件包含一个网络设备的设置。但是,当您在连接配置文件中设置接口名称时,NetworkManager 也支持通配符。如果主机在具有动态 IP 地址分配的以太网之间漫游,则您可以使用此功能创建可用于多个以太网接口的单一连接配置文件。

前提条件

  • DHCP 在网络中可用
  • 主机有多个以太网适配器
  • 主机上不存在连接配置文件

流程

  1. 添加可应用于以 enp 开头的所有接口名称的连接配置文件:

    # nmcli connection add con-name Example connection.multi-connect multiple match.interface-name enp* type ethernet
    

验证步骤

  1. 显示单个连接配置文件的所有设置:

    # nmcli connection show Example
    connection.id:                      Example
    ...
    connection.multi-connect:           3 (multiple)
    match.interface-name:               enp*
    ...
    

    3 表示同时在连接配置集上活跃的接口数量,而不是连接配置文件中的网络接口数量。连接配置文件使用与 match.interface-name 参数中的模式匹配的所有设备,因此连接配置文件具有相同的通用唯一识别符(UUID)。

  2. 显示连接的状态:

    # nmcli connection show
    NAME                    UUID                    TYPE     DEVICE
    ...
    Example  6f22402e-c0cc-49cf-b702-eaf0cd5ea7d1  ethernet  enp7s0
    Example  6f22402e-c0cc-49cf-b702-eaf0cd5ea7d1  ethernet  enp8s0
    Example  6f22402e-c0cc-49cf-b702-eaf0cd5ea7d1  ethernet  enp9s0
    

其他资源

  • nmcli(1) 手册页
  • nm-settings(5) 手册页

2.18. 使用 PCI ID 为多个以太网接口配置一个连接配置文件

PCI ID 是连接到系统的设备的唯一标识符。连接配置文件根据 PCI ID 列表按匹配的接口来添加多个设备。您可以使用这个流程将多个设备 PCI ID 连接到一个连接配置文件。

前提条件

  • DHCP 服务器在网络中可用
  • 主机有多个以太网适配器
  • 系统上不存在连接配置文件

流程

  1. 识别设备路径。例如,要显示以 enp 开头的所有接口的设备路径,请输入:

    # udevadm info /sys/class/net/enp* | grep ID_PATH=
    ...
    E: ID_PATH=pci-0000:07:00.0
    E: ID_PATH=pci-0000:08:00.0
    
  2. 添加可应用于匹配 0000:00:0[7-8].0 表达式的所有 PCI ID 的连接配置文件:

    # nmcli connection add type ethernet connection.multi-connect multiple match.path "pci-0000:07:00.0 pci-0000:08:00.0" con-name Example
    

验证步骤

  1. 显示连接的状态:

    # nmcli connection show
    NAME   UUID     TYPE        DEVICE
    Example      9cee0958-512f-4203-9d3d-b57af1d88466  ethernet  enp7s0
    Example      9cee0958-512f-4203-9d3d-b57af1d88466  ethernet  enp8s0
    ...
    
  2. 显示连接配置集的所有设置:

    # nmcli connection show Example
    connection.id:               Example
    ...
    connection.multi-connect:    3 (multiple)
    match.path:                  pci-0000:07:00.0,pci-0000:08:00.0
    ...
    

    此连接配置文件使用 PCI ID 与 match.path 参数中的模式匹配的所有设备,因此连接配置文件具有相同的全局唯一标识符(UUID)。

其他资源

  • nmcli(1) 手册页
  • nm-settings(5) 手册页

官网链接为:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/index

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑小问题:定时关机的设置

设置定时关机生活中&#xff0c;我们有时候需要对电脑进行定时关机。那么&#xff0c;如何设置定时关机呢&#xff1f;步骤如下&#xff1a; 1. 按 win R &#xff0c;弹出命令窗口&#xff0c;输入 taskschd.msc &#xff0c;点击确定。 2. 弹出任务计划程序窗口&#xff0c;…

使用ResNet34实现CIFAR10数据集的训练

如果对你有用的话&#xff0c;希望能够点赞支持一下&#xff0c;这样我就能有更多的动力更新更多的学习笔记了。&#x1f604;&#x1f604; 使用ResNet进行CIFAR-10数据集进行测试&#xff0c;这里使用的是将CIFAR-10数据集的分辨率扩大到32X32&#xff0c;因为算力相关的…

摘要/哈希/散列算法MD5 SHA1 SHA256 SHA512的区别和MAC算法

一、摘要算法大致都要经过以下步骤 1. 明文数据预处理 1.1 填充比特 MD5、SHA1、SHA256 的分组长度都是512bit 需要填充比特使其位长对512求余的结果等于448 SHA512 的分组长度是 1024bit 需要填充比特使其对1024求余的结果等于896 相同&am…

ECharts基本使用

文章目录Echarts概述Echarts初体验ECharts基础配置Echarts社区介绍Echarts-map使用Echarts概述 常见的数据可视化库&#xff1a; D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难)ECharts.js 百度出品的一个开源 Javascript 数据可视化库Highcharts.js 国外的前…

项目合并后,font字体资源被替换导致TextMeshPro不能显示文字,抢救方法

一&#xff0c;字体消失 项目合并时&#xff0c;因为资源更替&#xff0c;导致TextMeshPro不能找到自己原来使用的font资源&#xff0c;以致不能显示文字。 二、抢救方式 1、找到所有用到TextMeshPro的物体2、把他们的字体重新设置成你要的字体 关键步骤&#xff1a; 1、找…

赛事推荐| 建筑物实例分割和高度估计的多任务学习——2023 IEEE GRSS 数据融合赛道2

1. 赛题名称 联合建筑物提取和高度估计的多任务学习 2. 赛题背景 该轨道定义了建筑物提取和高度估计的联合任务。两者都是建筑改造的两个非常基础和必不可少的任务。与轨道 1 相同&#xff0c;输入数据是多模态光学和 SAR 卫星图像。单视图卫星图像中的建筑物提取和高度估计…

记录redis连接被打满的踩坑之路

一、系统异常现象系统有一个功能向别的系统多线程推送用户数据信息&#xff0c;前几天发现该推送功能报内部错误&#xff0c;经过查看后台日志文件&#xff0c;发现org.redisson.client.RedisConnectionException: Unable to connect to Redis server:&#xff0c;io.netty.cha…

使用docker训练yolov5

使用docker训练yolov5 配置docker&#xff0c;配置的好处是docker中的环境或者说容器坏了不影响主机&#xff0c;并且可以减少配置环境的时间和精力 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # c…

Docker 部署SQL Server 2017

Docker 部署SQL Server 2017 Docker部署 registry Docker搭建 svn Docker部署 Harbor Docker 部署SQL Server 2017 Docker 安装 MS SqlServer Docker部署 Oracle12c 文章目录Docker 部署SQL Server 2017一、部署步骤1.下载镜像2.创建容器并运行二、参考文档一、部署步骤 1.下…

Unity 之 资源加载 -- 可寻址系统概念介绍 -- 入门(一)

可寻址系统面板概念 -- 入门&#xff08;一&#xff09;一&#xff0c;可寻址系统概念介绍1.1 官方话术1.2 几个概念二&#xff0c;可寻址系统目录介绍2.1 导入工程2.2 目录介绍概述&#xff1a;本片文章带大家了解可寻址系统的相关概念&#xff0c;为大家介绍可寻址系统导入方…

生成数据分析报告pandas_profiling.ProfileReport

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 生成数据分析报告 pandas_profiling.ProfileReport 选择题 对于以下python代码表述错误的一项是? import pandas as pd import pandas_profiling as pp dfpd.DataFrame({ a:[23,18,21], b:[…

excel数据核对技巧:如何用函数公式标识输入正误

我们平时人工录入较长的文本数据时&#xff0c;稍不注意就容易出错。为了避免出错&#xff0c;通常我们会提前对单元格设置数据验证。有些时候&#xff0c;我们还会考虑列与列之间的关系&#xff0c;根据列关系自动判定数据的对错。比如下表,款号、货号、色号、条码的信息均存在…

【MySQL进阶教程】InnoDB引擎

前言 本文为 【MySQL进阶教程】InnoDB引擎 相关知识&#xff0c;下边将对InnoDB引擎介绍&#xff0c;InnoDB引擎架构&#xff0c;事务原理&#xff0c;MVCC等进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &#x1f449;Java全栈学习路线可参考&#xff…

获取每年的周数据 第几周 开始日及结束日 思路

public static void main(String[] args) {int year 2023;SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-MM-dd");while (true) {int weekValue 1;Calendar calendar new GregorianCalendar();//***踩坑 // calendar.setFirstDayOfW…

冒泡排序终极版(模拟qsort)

目录 普通版冒泡排序 qosrt函数 终极版冒泡排序 终极版冒泡排序整体测试代码 普通版冒泡排序 冒泡排序想必大家都很了解了吧&#xff0c;冒泡排序的算法思想就是两两比大小&#xff0c;一轮一轮比&#xff0c;每比完一轮排出一个数字的顺序&#xff0c;那就让我们先来看一…

软件测试/测试开发丨从 0 开始学 Python 自动化测试开发(二):环境搭建

本文是「从 0 开始学 Python 自动化测试开发」专题系列文章第二篇 —— 环境搭建篇&#xff0c;适合零基础入门的同学。没有阅读过上一篇的同学&#xff0c;请戳蓝色字体阅读。作者方程老师&#xff0c;是前某跨国通信公司高级测试经理&#xff0c;目前为某互联网名企资深测试技…

【算法基础】1.4 高精度(模拟大数运算:整数加减乘除)

文章目录高精度加法题目描述解法高精度减法题目描述解法讲解高精度乘法题目描述解法讲解高精度除法题目描述解法讲解本文主要讲解高精度计算&#xff0c;包括加法、减法、乘法和除法。 对于Python选手&#xff0c;python自带高精度计算&#xff1b;Java也有BigInteger类。但是对…

javaEE 初阶 — 多线程— JUC(java.util.concurrent) 的常见类

文章目录1. Callable 接口1.1 Callable 的用法2. ReentrantLock2.1 ReentrantLock 的缺陷2.1 ReentrantLock 的优势3. 原子类4. 信号量 Semaphore5. CountDownLatch6. 相关面试题1. Callable 接口 类似于 Runnable 一样。 Runnable 用来描述一个任务&#xff0c;描述的任务没有…

我们一直在说数字化转型,什么才是数字化转型?

我们一直在说数字化转型&#xff0c;什么才是数字化转型&#xff1f;深度长文&#xff0c;4000字&#xff0c;融合了很多国内外专业期刊观点&#xff0c;一文讲清到底什么是企业数字化转型&#xff0c;心急的小伙伴可以先看目录&#xff1a; 关于定义——到底什么是“数字化转…

24 届秋招 | 高质量学习交流环境

大家好&#xff0c;我和一些计算机方向、背景非常优秀的、来自清华、新国立等知名大学的几位同学以及工作多年的高级研发工程师一起运营了一个知识星球。 星球里有大量国内top985、海外名校的同学在一起&#xff0c;目的是为了打造一个非常优质量的社群。 如果你也曾苦于在各…