配置虚拟机动态获取IPV6

本文介绍了如何在Linux虚拟机中配置动态获取IPv6地址,包括禁用Cloud-Init网络配置,检查和修改IPv6地址生成算法,以及针对Ubuntu Server 18.04.1和CentOS 7.6的详细配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

linux(支持x86及ARM架构)


提示:本章节以centos 7.6和ubuntu server 18.04.1为例,结尾附上windows server ipv6的获取( 表中第2个图)

一、动态获取IPV6

1.禁用Cloud-Init网络配置

若已经安装过Cloud-Init,需执行以下操作禁用Cloud-Init网络配置,如果不禁用,Cloud-Init将自动修改网络配置导致虚拟机动态获取IPV6失败。
a.执行如下命令,编辑/etc/cloud/cloud.cfg文件,添加禁用Cloud-Init接管网络配置(若没有该项配置请增加)
vi /etc/cloud/cloud.cfg

vi /etc/cloud/cloud.cfg

添加

network:
   config: disabled

在这里插入图片描述

2.执行如下命令查看虚机是否已启用ipv6

ip addr

在这里插入图片描述

表中第1个图:

在这里插入图片描述
***修改ipv6地址生成算法
(保证配置文件IPV6_ADDR_GEN_MODE的值为:“eui64”)
ubuntu server 18.04.1无需修改,其默认值即是“eui64”
Centos7.6
a.执行如下命令,编辑/etc/sysconfig/network-scripts/ifcfg-ethX(ethX指的是所有eth网卡设备,一般ethX为eth0)配置文件,修改IPV6_ADDR_GEN_MODE=eui64

vi /etc/sysconfig/network-scripts/ifcfg-eth0	
IPV6_ADDR_GEN_MODE=eui64	#若没有该项配置,就增加该配置

在这里插入图片描述
b.修改配置项prefixlen
*ubuntu server 18.04.1
执行如下命令,打开配置文件dhclient-script

vi /sbin/dhclient-script
new_ip6_prefixlen=128	

在这里插入图片描述

**centos7.6

vi /usr/sbin/dhclient-script
new_ip6_prefixlen=128	

在这里插入图片描述

sudo systemctl restart NetworkManager		#重启
sudo systemctl status NetworkManager		#查看状态

在这里插入图片描述

表中第2个图(常见):

在这里插入图片描述
启用ipv6。
*配置utunbu server 18.04.1操作系统动态获取ipv6

a.执行如下命令,打开配置文件且编辑/etc/network/interfaces.

vi /etc/network/interfaces

b.在iface eht0 inet dhcp下增加如下配置

iface eht0 inet6 dhcp
     pre-up sleep3

**配置centos7.6操作系统动态获取ipv6
i.配置网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
DHCPV6C=yes

在这里插入图片描述
ii.修改配置文件/etc/sysconfig/network

vi /etc/sysconfig/network
NETWORKING_IPV6=yes

在这里插入图片描述

sudo systemctl restart network	#重启(为了让ipv6在执行ip addr命令后能够加载出来)
sudo systemctl status network	#查看状态(状态为faild,正常,网卡服务NetworkManager正常即可,后面操作会有说明 )

在这里插入图片描述

***修改ipv6地址生成算法
(保证配置文件IPV6_ADDR_GEN_MODE的值为:“eui64”)
ubuntu server 18.04.1无需修改,其默认值即是“eui64”
Centos7.6
a.执行如下命令,编辑/etc/sysconfig/network-scripts/ifcfg-ethX(ethX指的是所有eth网卡设备,一般ethX为eth0)配置文件,修改IPV6_ADDR_GEN_MODE=eui64

vi /etc/sysconfig/network-scripts/ifcfg-eth0	
IPV6_ADDR_GEN_MODE=eui64	#若没有该项配置,就增加该配置

在这里插入图片描述
b.修改配置项prefixlen
*ubuntu server 18.04.1
执行如下命令,打开配置文件dhclient-script

vi /sbin/dhclient-script
new_ip6_prefixlen=128	

在这里插入图片描述

**centos7.6

vi /usr/sbin/dhclient-script
new_ip6_prefixlen=128	

在这里插入图片描述

sudo systemctl restart NetworkManager		#重启
sudo systemctl status NetworkManager		#查看状态

在这里插入图片描述

表中第3个图:

在这里插入图片描述
在这里插入图片描述
上图执行完毕接着按照《表中第2个图(常见)》步骤一步一步执行即可。

### 解决VirtualBox虚拟机IPv6测试失败的方法 对于遇到的VirtualBox虚拟机IPv6测试不通过的情况,通常是因为网络配置不当或是主机与虚拟机之间的网络设置存在差异所引起的。针对此问题,可以通过调整虚拟机中的网络适配器设置来尝试解决问题。 #### 方法一:更改网络适配器模式 如果当前使用的网络适配器处于NAT模式下,则可能会导致IPv6地址分配出现问题。建议切换至桥接适配器(Bridged Adapter),这使得虚拟机能像物理设备一样直接接入局域网并获取IP地址(包括IPv4和IPv6)。操作步骤如下: 1. 打开VirtualBox管理界面; 2. 选中目标虚拟机并点击“设置”按钮; 3. 进入“网络”选项卡下的第一个子项——“适配器 1”,勾选启用网络适配器,并将其附加方式更改为“桥接适配器”。 ```bash # 查看新的网络接口状态 ifconfig ``` 此时应该能够看到类似于`eth0`这样的新网络接口被激活,并且会自动获得由路由器分配的有效IPv6地址[^1]。 #### 方法二:禁用不必要的防火墙规则 某些情况下,默认开启的安全防护机制可能阻止了外部访问请求进入虚拟机内部。为了排除这种可能性,可以在Linux系统内临时关闭iptables服务来进行验证;如果是Windows Server环境则需检查其内置防火墙策略。 ```bash sudo systemctl stop iptables.service # 对于CentOS/RHEL系列发行版 sudo ufw disable # Ubuntu及其他Debian衍生版本 ``` 完成上述命令执行后再次尝试Ping测验,观察是否有所改善[^2]。 #### 方法三:修改/etc/sysctl.conf文件参数 当以上措施仍未能有效解决时,还可以考虑编辑系统的内核参数以增强对IPv6的支持程度。具体做法是在终端里运行vi或其他文本编辑工具打开`/etc/sysctl.conf`文件,在其中添加或修改下列几行内容: ```conf net.ipv6.conf.all.disable_ipv6 = 0 # 启用全局范围内的IPv6支持 net.ipv6.conf.default.forwarding = 1 # 开启转发功能以便其他节点也能正常通讯 ``` 保存变更后的配置文档并通过sysctl指令立即生效这些改动: ```bash sudo sysctl -p /etc/sysctl.conf ``` 经过这样一番处理过后,理论上应当可以顺利实现双向互通的目标[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟丿晃晃

小小创作,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值