暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Ubuntu 网络配置工具 netplan

生有可恋 2024-03-28
1710

Netplan 是在Ubuntu操作系统中用于配置网络连接的工具。它是 Ubuntu 17.10 及以后版本引入的,旨在简化网络配置。

Netplan 使用 YAML 格式的配置文件来描述网络配置。在 YAML 中可以配置IP地址、子网掩码、网关、DNS服务器以及路由参数。一旦配置完成,可以使用 netplan apply 命令应用配置,使更改立即生效。

Netplan 网络配置文件位置在 etc/netplan/*.yaml,静态IP的例子如下:

    # cat /etc/netplan/00-installer-config.yaml
    network:
    version: 2
    ethernets:
    ens17f0:
    addresses: [192.168.1.1/24]
    routes:
    - to: 0.0.0.0/0
                via: 192.168.1.254
    on-link: true
    nameservers:
              addresses: [8.8.8.8, 8.8.4.4]

    执行 apply 命令使网络配置生效:

      # netplan apply

      获取当前生效的配置:

        # netplan get all
        network:
        version: 2
        ethernets:
        ens17f0:
        addresses:
        - "192.168.1.1/24"
        nameservers:
        addresses:
                - 8.8.8.8
                - 8.8.4.4
        routes:
        - on-link: true
        to: "0.0.0.0/0"
                via: "192.168.1.254"


        查看 DNS 配置:

          # cat /etc/resolv.conf
          nameserver 127.0.0.53
          options edns0 trust-ad
          search .

          DNS 使用 127.0.0.53 作为通讯

          127.0.0.53 与 127.0.0.1 一样,也是一个回环地址(loopback address),这个地址被用作本地 DNS 解析器的地址。

          在 Ubuntu 17.04 及之后的版本中,系统使用 systemd-resolved 作为本地 DNS 解析器。systemd-resolved 服务监听 127.0.0.53 地址上的DNS查询请求,并通过网络解析器来处理这些请求。这使得系统可以在本地解析域名而不需要直接访问网络上的 DNS 服务器。一般我们会配上游 DNS 服务,本地解析器只做转发。

          通过 resolvectl 命令可以查上游 DNS 地址是否配置正确:

            # resolvectl status
            Global
            Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
            resolv.conf mode: stub


            Link 2 (ens17f0)
            Current Scopes: DNS
            Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
            Current DNS Server: 8.8.8.8
                   DNS Servers: 8.8.8.8 8.8.4.4

            为了使更改后的 DNS 生效,可以重启网络服务:

              # systemctl restart systemd-networkd

              需要注意的是,如果启用了 iptables,需要将回环地址放行, DNS 才能通:

                # iptables -I INPUT -s 127.0.0.53 -j ACCEPT
                # iptables -I INPUT -s 127.0.0.1 -j ACCEPT

                当使用 nslookup 验证 DNS 解析时,如果发现 DNS 解析失败,可以检查一下是否是因为回环地址被防火墙阻止了。

                全文完。

                如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

                文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论