如何在 Ubuntu 22.04 中使用动态 IPv4 和静态 IPv6 配置 netplan?

如何在 Ubuntu 22.04 中使用动态 IPv4 和静态 IPv6 配置 netplan?

在 Ubuntu 22.04 中,该gateway选项已被弃用,并且我发现的几乎每个netplan使用静态 IPv6配置的示例都使用gateway

我的 ISP 默认/etc/netplan/01-netcfg.yaml仅包含动态 IPv4,并且不提供对 IPv6 的 DHCP 支持,但它们确实提供对静态 IPv6 的支持。

我需要添加什么到配置中来支持 IPv6?

$ cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

我还应该补充一点,我的 ISP 也不提供对 IPv6 的名称服务器支持,但他们提供了一个 IPv6 地址和一个网关 IPv6 地址。

网关 IPv6 地址:

2001:DB8:6404::1

实例 IPv6 地址:

2001:DB8:6404:10fB:928a:b151:d721:51bc

答案1

首先 - 请备份文件 01-netcfg.yaml

要配置 IPv6,您需要配置文件/etc/netplan/01-netcfg.yaml

sudo nano /etc/netplan/01-netcfg.yaml

从上面的代码中,我假设接口服务器正在使用eth0

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      dhcp6: false
      addresses:
        - IPv6-Address/IPv6-Netmask
      nameservers:        
        addresses:
          - 2001:4860:4860::8888
          - 2001:4860:4860::8844
      routes:
          - on-link: true
            to: default
            via: IPv6-Gateway

代替IPv6 地址/IPv6 网络掩码&IPv6 地址/IPv6 网络掩码使用您的 ISP 提供的值。

保存文件并使用应用配置

sudo netplan apply

重启

sudo reboot now

对于名称服务器,我使用了 Google 的公共 DNS

  1. 2001:4860:4860::8888
  2. 2001:4860:4860::8844

您还可以使用 Cloudflares DNS

  1. 2606:4700:4700::1111
  2. 2606:4700:4700::1001

如果重启后互联网连接无法正常工作,只需恢复文件01-netcfg.yaml并使用sudo netplan apply&sudo reboot now

答案2

我在配置中添加了dhcp6、、和,addresses到目前为止它一直正常工作:nameserversroutes/etc/netplan/01-netcfg.yaml

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      dhcp6: no
      addresses:
        - 2001:DB8:6404:10fB:928a:b151:d721:51bc/48
      nameservers:
        addresses:
          - 2606:4700:4700::1111
          - 2606:4700:4700::1001
      routes:
        - on-link: true
          to: ::/0
          via: 2001:DB8:6404::1

上述nameservers配置适用于 Cloudflare。您可以随意将其更改为其他内容。

相关内容