搜索

2.9. 使用 nmstatectl配置带有动态 IP 地址的以太网连接

download PDF

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

先决条件

  • 服务器配置中存在物理或虚拟以太网网络接口控制器(NIC)。
  • 网络中有 DHCP 服务器。
  • nmstate 软件包已安装。

步骤

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

    ---
    interfaces:
    - name: enp1s0
      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

    这些设置为 enp1s0 设备定义一个以太网连接配置文件。连接从 DHCP 服务器和 IPv6 无状态地址自动配置(SLAAC)检索 IPv4 地址、IPv6 地址、默认网关、路由、DNS 服务器和搜索域。

  2. 可选:您可以在 interfaces 属性中定义 identifier: mac-addressmac-address: <mac_ address> 属性,通过其 MAC 地址而不是其名称来识别网络接口卡,例如:

    ---
    interfaces:
    - name: <profile_name>
      type: ethernet
      identifier: mac-address
      mac-address: <mac_address>
      ...
  3. 将设置应用到系统:

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

验证

  1. 以 YAML 格式显示当前状态:

    # nmstatectl show enp1s0
  2. 显示 NIC 的 IP 设置:

    # ip address show enp1s0
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:17:b8:b6 brd ff:ff:ff:ff:ff:ff
        inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::fffe/64 scope global noprefixroute
           valid_lft forever preferred_lft forever
  3. 显示 IPv4 默认网关:

    # ip route show default
    default via 192.0.2.254 dev enp1s0 proto static metric 102
  4. 显示 IPv6 默认网关:

    # ip -6 route show default
    default via 2001:db8:1::ffee dev enp1s0 proto static metric 102 pref medium
  5. 显示 DNS 设置:

    # cat /etc/resolv.conf
    search example.com
    nameserver 192.0.2.200
    nameserver 2001:db8:1::ffbb

    如果多个连接配置文件同时处于活动状态,则 nameserver 条目的顺序取决于这些配置文件中的 DNS 优先级值和连接类型。

  6. 使用 ping 程序来验证这个主机是否可以向其它主机发送数据包:

    # ping <host-name-or-IP-address>

其他资源

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

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.