修改文件:/etc/netplan/10-gmovps.yaml 别的服务器可能不是这个文件名01-netcfg.yaml 50-cloud-init.yaml等等
将原本的内容修改如下:
假设服务器IPv4地址是160.248.68.110,IPv6地址是2001:02C0:0006:0300:0020:cafe:0006:0001
network: ethernets: eth0: addresses: - 160.248.68.110/24 - 2001:02C0:0006:0300:0020:cafe:0006:0001/64 dhcp4: true dhcp6: false accept-ra: false optional: true nameservers: #DNS服务器的地址,如果安装了smartdns可以把这4行去掉 addresses: - 8.8.8.8 - 2001:2C0:1:C::16 routes: #主要是这里,如果没有修改的话,网关可能不会起作用,有时会报错。 - to: default via: 160.248.68.1 #网关地址 - to: default via: 2001:02C0:0006:0300::1 #网关地址 version: 2
然后运行
netplan apply
执行netplan报错,则需安装
apt-get install openvswitch-switch -y
查看 ip信息:
ip addr show
OK,现在已经启用好了。一般新的服务器已经默认优先使用IPv6地址了,如果不是可以修改文件
/etc/gai.conf 最后的数字100是优先级,可以把注释符号#去掉,就 行了,就表示优先使用IPv4。修改后保存,即使生效。
precedence ::ffff:0:0/96 100
但是IPv6的速度一般比IPv4慢,我们可以选用smartDNS,自动获取网站的最快IP进行访问。
其中修改服务器的DNS,需要按照如下步骤:
在 Ubuntu 22.04 中,/etc/resolv.conf 文件是由 systemd-resolved 服务动态生成的。这意味着如果您手动修改 /etc/resolv.conf 文件,这些更改在系统重新启动或网络服务重启后会被覆盖。
如果您想永久更改系统的 DNS 服务器设置,建议通过 systemd-resolved 服务的配置文件来进行设置,而不是直接修改 /etc/resolv.conf 文件。这样可以确保您的 DNS 服务器设置在系统重新启动后仍然有效。
以下是如何配置 systemd-resolved 服务的步骤:
首先,确认你已经正确地保存了所有的配置文件。:
确保你已经正确地编辑了/etc/systemd/resolved.conf
文件。在该文件中找到DNS=
这一行,将其修改为DNS=127.0.0.1
。如果有其他DNS服务器的地址,请删除或注释掉它们。然后保存并关闭文件。
为了使新的配置生效,请重启systemd-resolved服务。运行以下命令:
sudo systemctl restart systemd-resolved
确认systemd-resolved服务已经使用了新的配置。运行以下命令:
sudo systemctl status systemd-resolved
检查输出结果中有无错误信息,并确保服务正常运行。
检查/etc/resolv.conf
文件的内容是否已经更新。运行以下命令:
cat /etc/resolv.conf
如果文件中的DNS地址仍然是127.0.0.53
,可以尝试重新创建符号链接,以便systemd-resolved使用正确的配置。运行以下命令:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
再次检查/etc/resolv.conf
文件的内容,确认DNS地址已经更新为127.0.0.1
。
最后,重启你的服务器,然后再次运行nslookup
命令,确认DNS地址仍然是127.0.0.1
。
完成上述步骤后,您的系统将使用您指定的 DNS 服务器设置进行 DNS 查询,并且这些设置将在系统重新启动后仍然有效。
参考: https://blog.xmgspace.me/archives/vps-add-he-ipv6.html
https://www.wuzhenjie.com/ubuntu-22%E5%90%AF%E7%94%A8ipv6%E5%9C%B0%E5%9D%80/