怎么判断ipv6地址是有效的

ubuntu18.04配置ipv6不生效,必须手动netplan apply

ubuntu18的netplan网络文件配置:(只添加gateway6部分)

# cat 50-cloud-init.yaml 
network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
            match:
                macaddress: 53:52:10:28:b2:22
            set-name: eth0
            gateway6: 2402:4e01:1206:b900::1

当你在Ubuntu 18.04上配置了/etc/netplan/50-cloud-init.yaml文件后,重启服务器后IPv6网关可能不会自动生效。这是因为Netplan在服务器启动时不会自动应用配置更改。
要使IPv6网关生效,你需要手动执行netplan apply命令。这将应用你在50-cloud-init.yaml文件中所做的配置更改,并更新网络设置。
你可以通过运行以下命令来手动执行netplan apply:
netplan apply
执行此命令后,IPv6网关将生效并开始工作。

如何开机自动执行netplan apply?


要在重启服务器后自动生效IPv6网关,你可以使用systemd来创建一个自定义的systemd服务。
以下是在Ubuntu 18.04上设置自动应用Netplan配置的步骤:
创建一个新的systemd服务单元文件。可以使用以下命令创建一个名为netplan-apply.service的文件:

[Unit]
Description=Apply Netplan Configuration
After=network.target

[Service]
ExecStart=/usr/sbin/netplan apply

[Install]
WantedBy=multi-user.target

这个服务单元文件定义了一个描述为”Apply Netplan Configuration”的服务,它在网络启动后执行netplan apply命令。保存并关闭文件。
启用并启动这个新的systemd服务:
sudo systemctl enable netplan-apply.service
sudo systemctl start netplan-apply.service
现在,当你重启服务器时,netplan-apply.service服务将自动执行netplan apply命令,使IPv6网关生效。
请注意,如果你更改了Netplan配置文件(如/etc/netplan/50-cloud-init.yaml),你仍然需要手动执行sudo netplan apply命令来应用更改。只有在下一次服务器重启时,netplan-apply.service服务才会自动应用配置更改。